Initialization
React Native
The MOVE SDK can be initialized natively or through Javascript. For the first init, the SDK expects to be initialized after user onboarding using Javascript. In this case, Javascript passes the required MoveAuth and MoveConfig objects.
In all future inits, the SDK expects to be initialized natively at app start points (In Appdelegate for iOS, and MainApplication for Android). This is to guarantee that the MOVE SDK is set up and active before the limited time provided by the OS in background wakeups is consumed.
The native init will re-use the last authentication and configs objects passed to the SDK from the JS initialization.
iOS
To initialize the SDK natively, in your Appdelegate:
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[DolphinSdk initIfPossibleWithLaunchOptions:launchOptions];
return YES;
}
@end
We strongly recommend against loading UI in background wakeups, but only when it is a foreground wakeup or when the user brings the app to the foreground.
You can distinguish between foreground and background wakeups by checking on the application state in your willFinishLaunchWithOptions:
if([application applicationState] == UIApplicationStateInactive) {
[self launchUI];
}
In case it was a background wakeup, you can load the view when user brings app to foreground using applicationWillEnterForeground Appdelegate method:
- (void)applicationWillEnterForeground:(UIApplication *)application {
if(rootView == nil) {
[self launchUI];
}
}
Android
To initialize the SDK natively, in your MainApplication:
import in.dolph.move.sdk.NativeMoveSdkWrapper;
public class MainApplication extends Application implements ReactApplication {
....
private NativeMoveSdkWrapper sdkWrapper;
@Override
public void onCreate() {
super.onCreate();
....
sdkWrapper = NativeMoveSdkWrapper.getInstance(this);
if (sdkWrapper.isNativeInitializationEnabled()) {
try {
sdkWrapper.initNative();
} catch (Throwable t) {
// handle init Configuration Errors
}
....
}
....
}
Javascript
initialize: (
config: MoveSdkConfig,
auth: MoveSdkAuth,
android: MoveSdkAndroidConfig
) => void
Parameters
Last updated