70
70
NSString * const BRANCH_INIT_KEY_IS_FIRST_SESSION = @" +is_first_session" ;
71
71
NSString * const BRANCH_INIT_KEY_CLICKED_BRANCH_LINK = @" +clicked_branch_link" ;
72
72
static NSString * const BRANCH_PUSH_NOTIFICATION_PAYLOAD_KEY = @" branch" ;
73
+ static NSString * const BRANCH_DEFER_INIT_FOR_PLUGIN_RUNTIME_KEY = @" deferInitForPluginRuntime" ;
73
74
74
75
NSString * const BNCCanonicalIdList = @" $canonical_identifier_list" ;
75
76
NSString * const BNCPurchaseAmount = @" $amount" ;
@@ -615,9 +616,15 @@ - (void)initSessionWithLaunchOptions:(NSDictionary *)options isReferrable:(BOOL)
615
616
616
617
- (void )initSceneSessionWithLaunchOptions : (NSDictionary *)options isReferrable : (BOOL )isReferrable explicitlyRequestedReferrable : (BOOL )explicitlyRequestedReferrable automaticallyDisplayController : (BOOL )automaticallyDisplayController
617
618
registerDeepLinkHandler : (void (^)(BNCInitSessionResponse * _Nullable initResponse, NSError * _Nullable error))callback {
619
+ NSMutableDictionary * optionsWithDeferredInit = [[NSMutableDictionary alloc ] initWithDictionary: options];
620
+ if (self.deferInitForPluginRuntime ) {
621
+ [optionsWithDeferredInit setObject: @1 forKey: @" BRANCH_DEFER_INIT_FOR_PLUGIN_RUNTIME_KEY" ];
622
+ } else {
623
+ [optionsWithDeferredInit setObject: @0 forKey: @" BRANCH_DEFER_INIT_FOR_PLUGIN_RUNTIME_KEY" ];
624
+ }
618
625
[self deferInitBlock: ^{
619
626
self.sceneSessionInitWithCallback = callback;
620
- [self initSessionWithLaunchOptions: options isReferrable: isReferrable explicitlyRequestedReferrable: explicitlyRequestedReferrable automaticallyDisplayController: automaticallyDisplayController];
627
+ [self initSessionWithLaunchOptions: ( NSDictionary *)optionsWithDeferredInit isReferrable: isReferrable explicitlyRequestedReferrable: explicitlyRequestedReferrable automaticallyDisplayController: automaticallyDisplayController];
621
628
}];
622
629
}
623
630
@@ -642,7 +649,9 @@ - (void)initSessionWithLaunchOptions:(NSDictionary *)options
642
649
}
643
650
#endif
644
651
645
- [self initUserSessionAndCallCallback: YES sceneIdentifier: nil urlString: pushURL reset: NO ];
652
+ if (pushURL || [[options objectForKey: @" BRANCH_DEFER_INIT_FOR_PLUGIN_RUNTIME_KEY" ] isEqualToNumber: @1 ] || (![options.allKeys containsObject: UIApplicationLaunchOptionsURLKey] && ![options.allKeys containsObject: UIApplicationLaunchOptionsUserActivityDictionaryKey]) ) {
653
+ [self initUserSessionAndCallCallback: YES sceneIdentifier: nil urlString: pushURL reset: NO ];
654
+ }
646
655
}
647
656
648
657
- (void )setDeepLinkDebugMode : (NSDictionary *)debugParams {
0 commit comments