Instrumentation and Event Collection
Mobile SDK app users and developers do not have access to the information Salesforce gathers. Salesforce collects it solely for its own use. The software that collects the data is maintained in Mobile SDK open source repos at github.com/forcedotcom.
- iOS: When the app goes to the background.
- Android: Every 8 hours.
To manage the event logging service, use the following APIs. You call each API on an instance of an analytics manager object, which you initialize with your app’s current user account.
Toggle Event Logging
Android
For Android, call the enableLogging(boolean enabled) method.
1final UserAccount curAccount = UserAccountManager.getInstance().getCurrentUser();
2final SalesforceAnalyticsManager sfAnalyticsManager =
3 SalesforceAnalyticsManager.getInstance(curAccount);
4sfAnalyticsManager.enableLogging(false);iOS
For iOS, set the BOOL loggingEnabled property.
1SFUserAccount *account = [SFUserAccountManager
2sharedInstance].currentUser;
3SFSDKSalesforceAnalyticsManager *sfAnalyticsManager =
4 [SFSDKSalesforceAnalyticsManager
5sharedInstanceWithUser:account];
6sfAnalyticsManager.loggingEnabled = NO;Check Event Logging Status
Android
For Android, call the isLoggingEnabled(boolean enabled) method.
1final UserAccount curAccount = UserAccountManager.getInstance().getCurrentUser();
2final SalesforceAnalyticsManager sfAnalyticsManager =
3 SalesforceAnalyticsManager.getInstance(curAccount);
4boolean enabled = sfAnalyticsManager.isLoggingEnabled();iOS
For iOS, check the BOOL isLoggingEnabled property.
1SFUserAccount *account = [SFUserAccountManager sharedInstance].currentUser;
2SFSDKSalesforceAnalyticsManager *sfAnalyticsManager =
3 [SFSDKSalesforceAnalyticsManager sharedInstanceWithUser:account];
4BOOL enabled = sfAnalyticsManager.isLoggingEnabled;Set Upload Frequency (Android Only)
On Android, you can set the frequency, in hours, of event log uploads. The default value is 8.
1final UserAccount curAccount = UserAccountManager.getInstance().getCurrentUser();
2final SalesforceAnalyticsManager sfAnalyticsManager =
3 SalesforceAnalyticsManager.getInstance(curAccount);
4sfAnalyticsManager.setPublishFrequencyInHours(numHours); // numHours is the desired upload interval in hours.