openedx / openedx-app-ios

The mobile app for iOS for the Open EdX Platform.
Apache License 2.0
19 stars 13 forks source link

feat: FullStory Integration and Analytics Implementation #471

Open saeedbashir opened 4 days ago

saeedbashir commented 4 days ago

This PR adds support for the FullStory SDK. The FullStory analytics and pages are integrated. FullStory added as an analytics service so all the events will be sent to the FullStory when configured.

This PR adds new event type i.e. screen events. As some the analytics providers explicitly provided screen capturing events. For example, segment.io, FullStory. For Firebase, a normal track event will be fired on calling a trackScreenEvent.

Integration Guidelines: https://help.fullstory.com/hc/en-us/articles/8867138701719-Integrating-Fullstory-into-a-SwiftUI-App

Data Capture GuideLines: https://help.fullstory.com/hc/en-us/articles/8867138701719-Integrating-Fullstory-into-a-SwiftUI-App

Config:

FULLSTORY:
    ENABLED: true
    ORG_ID: 'org_id'

Xcode Settings: A new user-defined setting FULLSTORY_ENABLED added in the Xcode settings. This is added because FullStory the initialization of depends on build time script /FullStory/tools/FullStoryCommandLine and if the keys aren't available in the info.plist (disabled fullstory), it fails the project build. The white-label script will update this new setting FULLSTORY_ENABLED depending on the config values.

volodymyr-chekyrta commented 3 days ago

To flag, we can review and merge it for now. But it's not a widely used instrument, it will be removed from the Open edX repo and should be used as a plug-in in the future.

saeedbashir commented 1 day ago

To flag, we can review and merge it for now. But it's not a widely used instrument, it will be removed from the Open edX repo and should be used as a plug-in in the future.

Merging this even for time being will be great.