diff --git a/ios/RNAppsFlyer.h b/ios/RNAppsFlyer.h index 919a096a..143c38bd 100755 --- a/ios/RNAppsFlyer.h +++ b/ios/RNAppsFlyer.h @@ -18,6 +18,7 @@ @interface RNAppsFlyer: RCTEventEmitter +@property (readwrite, nonatomic) BOOL isManualStart; @end diff --git a/ios/RNAppsFlyer.m b/ios/RNAppsFlyer.m index 7a67eaef..b25c3d14 100755 --- a/ios/RNAppsFlyer.m +++ b/ios/RNAppsFlyer.m @@ -49,7 +49,8 @@ -(NSError *) callSdkInternal:(NSDictionary*)initSdkOptions { devKey = (NSString*)[initSdkOptions objectForKey: afDevKey]; appId = (NSString*)[initSdkOptions objectForKey: afAppId]; interval = (NSNumber*)[initSdkOptions objectForKey: timeToWaitForATTUserAuthorization]; - isManualStart = initSdkOptions[@"manualStart"]; + isManualStart = [[initSdkOptions objectForKey:@"manualStart"] boolValue]; + [self setIsManualStart:isManualStart]; isDebugValue = [initSdkOptions objectForKey: afIsDebug]; if ([isDebugValue isKindOfClass:[NSNumber class]]) { @@ -113,6 +114,7 @@ -(NSError *) callSdkInternal:(NSDictionary*)initSdkOptions { } RCT_EXPORT_METHOD(startSdk) { + [self setIsManualStart:NO]; [[AppsFlyerLib shared] start]; } @@ -221,7 +223,9 @@ -(NSError *) callSdkInternal:(NSDictionary*)initSdkOptions { -(void)sendLaunch:(UIApplication *)application { [[NSNotificationCenter defaultCenter] postNotificationName:RNAFBridgeInitializedNotification object:self]; - [[AppsFlyerLib shared] start]; + if (![self isManualStart]) { + [[AppsFlyerLib shared] start]; + } } RCT_EXPORT_METHOD(setAdditionalData: (NSDictionary *)additionalData callback:(RCTResponseSenderBlock)callback) {