Analytics Integration - GluedIn
Analytics Callbacks
The SDK exposes the default analytics events based on the user activities which can further be used in client app for enhanced analytics purpose.
How to integrate the Analytics Callbacks
  • Implement the “GluedInDelegate" interface in the entry point class
  • Implement the abstract interface method in the class
  • Now set the “GluedInDelegate" reference via the SDK initialize method GluedIn.shared.rootControllerWithSignIn(delegate: self)
  • Now the analytics methods will start receiving the events when they get triggered in SDK
Available Callback Methods: Below are the methods which will be triggered on multiple events

<-- For GluedIn Delegate callback integration -->
func appSessionEvent(deviceID: String,platformName: String)
func appLaunchEvent(deviceID: String, platformName: String)
func appTabClickEvent(Journey_entry_point: String, 
                        device_ID: String,
                        user_email: String,
                        user_name: String, 
                        platform_name: String, 
                        page_name: String,
                        tab_name: String)
                        
func appLoginCTAClickEvent(device_ID: String, 
                           user_email: String, 
                           user_name: String, 
                           user_isFollow: String,
                           user_following_count: String,
                           user_follower_count: String,
                           platform_name: String,
                           page_name: String)
                           
func appRegisterCTAClickEvent(device_ID: String,
                              user_email: String,
                              user_name: String,
                              user_isFollow: String,
                              user_following_count: String,
                              user_follower_count: String,
                              platform_name: String,
                              page_name: String) 
func appSkipLoginEvent(device_ID: String, platform_name: String, page_name: String)
func appUserFollowEvent(user_isFollow: String,
                        user_following_count: String,
                        user_follower_count: String,
                        page_name: String, 
                        tab_name: String,
                        element: String,
                        button_type: String)
func appUserUnFollowEvent(user_isFollow: String,
                          user_following_count: String,
                          user_follower_count: String,
                          page_name: String, 
                          tab_name: String, 
                          element: String, 
                          button_type: String)
func appThumbnailClickEvent(page_name: String,
                            tab_name: String,
                            vertical_index: String,
                            horizontal_index: String,
                            element: String,
                            content_type: String,
                            content_genre: String)  
func appScreenViewEvent(Journey_entry_point: String,
                        user_email: String,
                        user_name: String,
                        page_name: String)
func appSearchButtonClickEvent(page_name: String,
                               tab_name: String,
                               search_query: String,
                               results_returned: String)
func appViewMoreEvent(Journey_entry_point: String,
                      page_name: String,
                      tab_name: String,
                      element: String,
                      button_type: String)
func appChallengeJoinEvent(page_name: String,
                           tab_name: String,
                           element: String,
                           button_type: String)
func appChallengeShareClickEvent(device_ID: String,
                                 user_email: String,
                                 user_name: String,
                                 platform_name: String,
                                 page_name: String,
                                 tab_name: String,
                                 element: String,
                                 button_type: String,
                                 success: String,
                                 failure_reason: String,
                                 creator_userid: String,
                                 creator_username: String)
func appUseThisHashtagEvent(device_ID: String,
                            user_email: String,
                            user_name: String,
                            platform_name: String,
                            page_name: String,
                            tab_name: String,
                            element: String,
                            button_type: String,
                            hashtag: String,
                            content_type: String,
                            content_genre: String)
func appViewLeaderboardEvent(Journey_entry_point: String,
                             device_ID: String,
                             user_email: String,
                             user_name: String,
                             platform_name: String,
                             page_name: String,
                             tab_name : String,
                             element: String,
                             button_type: String)
                                 
<-- For GluedIn Feed SDK callback integration -->  
func appScreenViewEvent() -> ()
func appViewMoreEvent() -> ()
func appContentUnLikeEvent(feed: FeedModel?) -> ()
func appContentLikeEvent(feed: FeedModel?) -> ()
func appVideoPlayEvent(feed: FeedModel?) -> ()
func appVideoResumeEvent(feed: FeedModel?) -> ()
func appVideoPauseEvent(feed: FeedModel?) -> ()
func appVideoReplayEvent(feed: FeedModel?) -> ()
func appVideoStopEvent(feed: FeedModel?, duration: String?) -> ()
func appViewClickEvent(feed: FeedModel?) -> ()

<-- For GluedIn Creator SDK callback integration -->                               
func appScreenViewEvent(Journey_entry_point: String,page_name: String)
func appCreatorRecordingDoneEvent()
func appCameraOpenEvent()
func appCreatorFilterAddedEvent()
func appCreatorMusicAddedEvent()
func appCTAsClickEvent(page_name: String,
                       tab_name: String,
                       element: String,
                       button_type: String)
func appPopupLaunchEvent(page_name: String,
                         tab_name: String,
                         popup_name: String)
func appPopupCTAsEvent(page_name: String,
                       tab_name: String,
                       element: String,
                       button_type: String,
                       popup_name: String)
func appCreatePostEvent(device_ID: String,
                        user_email: String,
                        user_name: String,
                        platform_name: String,
                        page_name: String,
                        tab_name: String,
                        element: String,
                        button_type: String,
                        success: String,
                        failure_reason: String,
                        creator_userid: String,
                        creator_username: String,
                        hashtag: String,
                        content_type: String,
                        content_genre: String)
func appCreatorHashTagSearchEvent(device_ID: String,
                                  user_email: String,
                                  user_name: String,
                                  platform_name: String,
                                  page_name: String,
                                  tab_name: String,
                                  element: String,
                                  button_type: String,
                                  success: String,
                                  failure_reason: String,
                                  creator_userid: String,
                                  creator_username: String,
                                  hashtag: String,
                                  content_type: String,
                                  content_genre: String)

Callback events:


func showBuisnessOrUserIssuePopUp(error: String, code: Int, navigationController: Any?)
func didSelectUnlike(videoAsset: FeedModel?) 
func didSelectShoppableProduct(feedModel: FeedModel?,
                               shoppableProduct: ShoppableProduct?)
func didSelectProfile(feedModel: FeedModel?,
                      profileId: String,
                      navigationController: UINavigationController)
func didSelectHashtag(feedModel: FeedModel?,
                      hashtagName: String,
                      hashtagId: String,
                      navigationController: UINavigationController)
func didSelectChallenge(feedModel: FeedModel?,
                        challengeName: String,
                        challengeId: String, 
                        navigationController: UINavigationController)
func didSelectShare(feedModel: FeedModel?,
                    shareType: ShareType,
                    navigationController: 
                    UINavigationController?,
                    completion: completionHandler?) -> () 
func showLoginRegisterPopup(navigationController: UINavigationController)
func showCoachMark(navigationController: UINavigationController?) -> ()

func didSelectBack(videoAsset: FeedModel?)
func didScrolledToNextVideo(videoAsset: FeedModel?)
func didScrolledToPreviousVideo(videoAsset: FeedModel?)
func didVideoWatched(videoAsset: FeedModel?, currentDuration: Int64, totalDuration: Int64)
func didMediaReady(videoAsset: FeedModel?)
func onVideoRestarted(videoAsset: FeedModel?)
func didVideoStarted(videoAsset: FeedModel?)
func playerItemNewAccessLogEntry(aVPlayerItemAccessLog: AVPlayerItemAccessLog?)
func playerItemErrorLog(aVPlayerItemErrorLog: AVPlayerItemErrorLog?)
func playerStatusError(error: Error?, videoAsset: FeedModel?)
func didSelectlike(videoAsset: FeedModel?)
func didSelectComment(videoAsset: FeedModel?)
func didVideoPlayPause(isPlaying: Bool?, videoAsset: FeedModel?)
func didDoubleTap(videoAsset: FeedModel?)
func didPlaybackCompleted(videoAsset: FeedModel?)
func onVideoEnd(videoAsset: FeedModel?)
func didNetworkOffline()


func goToProfile(user: String?, navigationController: UINavigationController?)
func didPosted(navigationController: UINavigationController?)
func didSelectCancelOption()
func openCreator()
func dismissCreator()
func startRecording()
func stopRecording()
func addFilter()
func removeFilter()
func selectSound()
func uploadFromGallery()
func postVideo()
func saveToDraft()
func onVideoCreated(success: Bool, assetPath: String, assetType: String)