3

これが状況です: カスタム キー/値が関連付けられているリンクの 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);
}
4

1 に答える 1