Opt-Out Of Data Tracking
To opt-out of data tracking by the SDK use the optOutDataTracking( )
method as shown below. Once you have opted out of data tracking you need to explicitly opt-in to start tracking any event OR attributes for the user.
// shouldOptOut: Bool indicating opt-out status, set true if you want to opt-out
MoEngageClient.optOutDataTracking(shouldOptOut);
Opt-Out of Push Notification
To opt-out of push notification from MoEngage use the optOutPushTracking()
method as shown below. Once you have opted out of push notification you need to explicitly opt-in to enable push notifications for the user.
// shouldOptOut: Bool indicating opt-out status, set true if you want to opt-out
MoEngageClient.optOutPushTracking(shouldOptOut);
warning |
Warning Only for iOS:
|
Opt-Out of In-App Notification
To opt-out of in-app notification use the optOutInAppTracking()
method as shown below. Once you have opted out of in-app notification you need to explicitly opt-in to show any inApp campaign to the user.
// shouldOptOut: Bool indicating opt-out status, set true if you want to opt-out
MoEngageClient.optOutInAppTracking(shouldOptOut);
Enable/Disable SDK
If you don't want the MoEngage SDK to track any user information or send any data to the MoEngage System use the DisableSdk()
method as shown below:
MoEngageClient.DisableSdk();
Once this API is called all the SDK APIs will be non-operational. SDK will be disabled until EnableSdk()
is called.
Once you have the user's consent use the below API to enable the SDK.
MoEngageClient.EnableSdk();
The above methods are available from the Unity Plugin version 1.2.0.
Native SDK Initialisation
Based on the compliance policy you can optionally choose to initialize the SDK in a disabled state. To do so you can pass in a boolean value stating the SDK state as disabled while initializing the SDK.
ANDROID:
import com.moengage.unity.wrapper.MoEInitializer
import com.moengage.core.MoEngage
// this is the instance of the application class and "XXXXXXXXXXX" is the APP ID from the dashboard.
val moEngage = MoEngage.Builder(this, "XXXXXXXXXXX")
// Set isSdkEnabled as false if you want to initialize the in a disabled state.
MoEInitializer.initialize(getApplicationContext(), moEngage, isSdkEnabled)
import com.moengage.unity.wrapper.MoEInitializer;
import com.moengage.core.MoEngage;
// this is the instance of the application class and "XXXXXXXXXXX" is the APP ID from the dashboard.
MoEngage.Builder moEngage =
new MoEngage.Builder(this, "XXXXXXXXXXX");
// Set isSdkEnabled as false if you want to initialize the in a disabled state.
MoEInitializer.initialize(getApplicationContext(), moEngage, isSdkEnabled);
iOS:
In the case of iOS, SDK is initialized in the MoEUnityAppController
class. Here update the initialization method to include disable SDK parameter as shown below:
@implementation MoEUnityAppController
- (instancetype)init
{
self = [super init];
if (self) {
UnityRegisterAppDelegateListener(self);
}
return self;
}
# pragma mark - UIApplicationDelegate methods
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[super application:application didFinishLaunchingWithOptions:launchOptions];
// SDK Initialization, with SDK State(isSdkEnabled) as false for disabling the SDK
[[MoEUnityInitializer sharedInstance] intializeSDKWithLaunchOptions:launchOptions andSDKState:isSdkEnabled];
return YES;
}
@end