3. Initialization

Initialization sets up internal SDK components to allow the creation of a Sentiance user on the device, and perform detections in the background.

Only a limited set of SDK functions are allowed to be invoked before initializing the SDK.

iOS

The correct way to natively initialize on iOS is to do it inside the application:didFinishLaunchingWithOptions: method of the AppDelegate class.

AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    SENTInitializationResult *result = [[[RNSentianceHelper alloc] init] initializeSDKWithLaunchOptions:launchOptions];
    return YES;
}

Initialization will normally succeed unless an unexpected error or exception is encountered. In case of failure, you can check the reason via the returned result.

if (result.isSuccessful) {
    NSLog(@"Initialization succeeded");
}
else {
    NSLog(@"Initialization failed with reason %lu", result.failureReason);
}

Android

Add the following code inside the onCreate() method of your Application class:

...
import com.sentiance.sdk.init.InitializationResult;
import com.sentiance.react.bridge.core.SentianceHelper;

public class MainApplication extends Application implements ReactApplication {

    @Override
    public void onCreate() {
        super.onCreate();
        ...
        
        SentianceHelper sentianceHelper = SentianceHelper.getInstance(this);
        InitializationResult result = sentianceHelper.initializeSDK();
    }

  ...
}

Initialization will normally succeed, unless an unexpected error or exception is encountered. In case of failure, you can check the reason via the returned result.

if (result.isSuccessful()) {
    Log.d(TAG, "Initialization succeeded");
} else {
    Log.e(TAG, "Initialization failed with reason " + result.getFailureReason().getName(), result.getThrowable());
}

Last updated