Documentation

Disable MIKROS Analytics Measurement

In some cases, it may be necessary to disable MIKROS Analytics. For example, you might do this if your product's privacy policy provides an option for the user to opt-out of data collection.

MIKROS supports individuals' right to control their personal information. As such we provide configuration that assists developers the ability to grant end users the option to prevent their data from being tracked. We wanted to make this as easy as possible to do, so that it's not a hassle to give your users choice.

It is important to consider how to manage the opt-out state of users across platforms when designing a tracking implementation. While MIKROS provides the tools necessary to control a users' opt-out state, proper design can maximize the number of users consenting to tracking while respecting individuals' right to control their personal information.

Before Initializing the MikrosManager

Disabling Event Tracking

To disable event tracking programmatically, disable logging events in configuration like this:

Configuration.Builder().SetPrivacyLevel(privacyLevel).SetEventLogging(false).Create();
MikrosManager.Instance.InitializeMikrosSDK(configuration);

Disabling Metadata Tracking

In order to provide you with the most detailed and robust data collection reports we automatically track metadata which includes information such as operating system, device model, network connection type and network connection state. To disable metadata tracking programmatically, disable auto tracking for user metadata in configuration like this:

Configuration.Builder().SetPrivacyLevel(privacyLevel).SetMetadataTracking(false).Create();
MikrosManager.Instance.InitializeMikrosSDK(configuration);

Disabling Session Tracking

Understanding user engagement is important. Traditionally, businesses tracked session lengths as a proxy for user engagement. MIKROS takes care of user session tracking automatically in the background. Not only are the number of sessions tracked, but also the length of sessions are tracked as well. However, if for some reason you wish to disable this performance tracker, we offer you the ability to. Similar to disabling event tracking or metadata tracking, to disable session tracking programmatically, disable auto session tracking in configuration like this:

Configuration.Builder().SetPrivacyLevel(privacyLevel).SetSessionTracking(false).Create();
MikrosManager.Instance.InitializeMikrosSDK(configuration);

Disable Crash Reporting

MIKROS offers third-party crash reporting. It is always a good idea to have a backup crash reporter. A second option never hurts. Additionally, let's take the case of Apple where user crashes are often under reported due to users not allowing reports to be sent in. This is where third-party crash reporting shines. But if you do decide not to enable crash reporting, you can always disable it. To disable crash reporting programmatically, disable crash reporting in configuration like this:

Configuration.Builder().SetPrivacyLevel(privacyLevel).SetCrashReporting(false).Create();
MikrosManager.Instance.InitializeMikrosSDK(configuration);

Disable Device Memory Tracking

To help you identify memory leaks and memory churn that can lead to stutter, freezes, and even app crashes we record device memory. This information is useful for better understanding your app's health. To disable device memory tracking programmatically, disable device memory trackingin configuration like this:

Configuration.Builder().SetPrivacyLevel(privacyLevel).SetTrackDeviceMemory(false).Create();
MikrosManager.Instance.InitializeMikrosSDK(configuration);

After Initializing the MikrosManager

To disable event tracking, metadata tracking, session tracking, crash reporting and memory tracking after you have already initialized the MikrosManager, you can do the following:

MikrosManager.Instance.ConfigurationController.SetAutoTrackUserSession(false);
MikrosManager.Instance.ConfigurationController.SetAutoTrackUserMetadata(false);
MikrosManager.Instance.ConfigurationController.SetEventLogging(false);
MikrosManager.Instance.ConfigurationController.SetAutoCrashReporting(false);
MikrosManager.Instance.ConfigurationController.SetAutoTrackDeviceMemory(false);

Disable All Tracking

If you require a complete shutoff valve, you can disable all event, metadata and session tracking.

MikrosManager.Instance.ConfigurationController.SetAllTrackingEnabled(false);

Privacy Standards

Optionally, we also provide various privacy standards. Instead of completely disabling data tracking for your users, you also have the option of limiting the type of data collected. Common information that MIKROS automatically tracks is metadata and user session information. MIKROS provides you three levels of data collecting privacy regarding tracking in the background.

  • PRIVACY_LEVEL.DEFAULT - This is recommended for most cases. MIKROS tracks user metadata, user sessions, crash reporting and device memory measurement in the background.
  • PRIVACY_LEVEL.HIGH - MIKROS no longer tracks any user metadata information in the background. But still tracks user sessions, crash reporting and device memory measurement in the background.
  • PRIVACY_LEVEL.EXTREME - MIKROS no longer tracks any metadata, user sessions, crash reporting, nor device memory measurement in the background. Integrators will have to track these things manually.

Note: All privacy standards are GDPR compliant. We do not currently track any Personal Identifiable Information (PII) or geolocation information.

// update privacy level on configuration
Configuration configuration = Configuration.Builder().SetPrivacyLevel(PRIVACY_LEVEL.DEFAULT).Create();
// initialize SDK with configuration or update SDK with updated configuration
MikrosManager.Instance.InitializeMikrosSDK(configuration);


Optionally, instead of using privacy standards, you can disable all user metadata and/or user session tracking through configuration.

Configuration configuration = Configuration.Builder().SetPrivacyLevel(privacyLevel)
.SetSessionTracking(false)
.SetMetadataTracking(false)
.SetEventLogging(false)
.SetCrashReporting(false)
.SetTrackDeviceMemory(false)
.Create();