これが状況です: カスタム キー/値が関連付けられているリンクの 1 つをクリックすると、コールバックinitSessionWithLaunchOptions:andRegisterDeepLinkHandler
は正常にトリガーされますが、アプリが新しい場合、「params」にはカスタム キー/値のみが含まれます。リンクから開きます。アプリが既にバックグラウンドで実行されていて、リンクをクリックすると、コールバックが呼び出されますが、パラメーターは存在しません。これは数週間前に機能していましたが、現在は機能していないようです。私もiOS SDK 0.12.1にアップグレードしようとしましたが、まだうまくいきません。
回避策として、アプリがアクティブになった後に呼び出しの遅延シーケンスを実行しようとしておりBranch.getInstance().getLatestReferringParams()
、そこからパラメーターを取得することもありますが、決定論的ではなく、2 秒かかる場合もあれば、10 秒かかる場合もあり、まったくない場合もあります。@AlexBauerこれがアプリデリゲートの一部です。ところで、私はアプリにFacebookの統合を持っていません:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let branch: Branch = Branch.getInstance()
branch.initSessionWithLaunchOptions(launchOptions, andRegisterDeepLinkHandler: { params, error in
if (error == nil) {
print(params)
self.tryInviteFlow(params)
} else {
print(error.localizedDescription)
}
})
}
func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool {
// pass the url to the handle deep link call
return Branch.getInstance().continueUserActivity(userActivity);
}