The processes for enabling and using analytics features have been updated in version 10 of the SDK. To upgrade your app to version 10 of the SDK, first update the initialization code. Then, use these code examples to update the analytics code in your app.
Enable Analytics
Use this code example to enable analytics during SDK initialization.
1SFMCSdk.configure(applicationContext as Application, SFMCSdkModuleConfig.build{2 engagementModuleConfig = MarketingCloudConfig.builder().apply{3 // Other configuration values4 setAnalyticsEnabled(true)// Enable ET Analytics, default = false5 setPiAnalyticsEnabled(true)// Enable Predictive Intelligence Analytics, default = false67 /*8 To explicitly control PI analytic attribution setUseLegacyPiIdentifier to false9 and set a value for the Predictive Intelligence Identifier in the SDK’s AnalyticsManager.10 */11 setUseLegacyPiIdentifier(false)12}.build(applicationContext)13}){14 // TODO handle initialization status15}
Analytics Attribution
Use this code example to set the Predictive Intelligence Identifier in the SDK’s AnalyticsManager.
1MarketingCloudSdk.requestSdk{ engagementSdk ->2 val analyticsManager = engagementSdk.analyticsManager34 // Set the PI ID5 analyticsManager.piIdentifier = "developer@salesforce.com"67 // Clear the PI ID8 analyticsManager.piIdentifier = null9}
Track Cart Contents
Use this code example to track the contents of an in-app shopping cart.
1MarketingCloudSdk.requestSdk{ engagementSdk ->2 val analyticsManager = engagementSdk.analyticsManager34 val cartItem = PiCartItem("Burger", 2, 2.99, "burger_123")5 val cart = PiCart(listOf(cartItem))67 analyticsManager.trackCartContents(cart)8}
Track Cart Conversion
Use this code example to track the conversion of an in-app shopping cart.
1MarketingCloudSdk.requestSdk{ engagementSdk ->2 val analyticsManager = engagementSdk.analyticsManager34 val cartItem = PiCartItem("Burger", 2, 2.99, "burger_123")5 val cart = PiCart(listOf(cartItem))6 val order = PiOrder(cart, "ABC1234", 4.99, .2)78 analyticsManager.trackCartConversion(order)9}
Track Page Views
Use this code example to track the page views in your app.
1MarketingCloudSdk.requestSdk{ engagementSdk ->2 val analyticsManager = engagementSdk.analyticsManager34 // trackPageView() requires a String representing the in-app URL to be tracked.5 // Additional overloaded methods are available. See the Javadoc for details.6 analyticsManager.trackPageView("url")7 analyticsManager.trackPageView("url", "title")8 analyticsManager.trackPageView("url", "title", "item")9 analyticsManager.trackPageView("url", "title", "item", "searchTerms")10}
Track Inbox Message Opens
Use this code example to track the opens of an inbox message.
1MarketingCloudSdk.requestSdk{ engagementSdk ->2 val analyticsManager = engagementSdk.analyticsManager34 analyticsManager.trackInboxOpenEvent(message as InboxMessage)5}