2017-11-27 15 views
1

iOSプロジェクトにBranch.io SDKを追加しました。私はうまく動作するカスタムURLスキームを持って、私は正常に動作する普遍的なアプリケーションのリンクを追加しました。iOS App Delegate params辞書に関連リンクがありません

私はダッシュボードで、カスタムURLスキームを追加したiOSアプリ、アプリをダウンロードするためのカスタムURL、アプリプレフィックス、バンドルIDを有効にしました。

クイックリンクのセクションでは、クイックリンクの魔女にディープリンクセクションの[キー ":"値 "]のペアがあり、ipaをダウンロードできるジェンキンにリダイレクトを再度追加しました。

モバイルSafariでコピー/貼り付けでそのリンクにアクセスすると、アプリがインストールされていない状態で、正しくJenkinsに連れて行きます。私もき

params: %@ ["+clicked_branch_link": 0, "+is_first_session": 0] 

:私はXcodeのからアプリケーションを実行し、アプリデリゲートに私は

branch = Branch.getInstance() 
    branch.initSession(launchOptions: launchOptions, andRegisterDeepLinkHandler: {params, error in 
     if error == nil { 
      // params are the deep linked params associated with the link that the user clicked -> was re-directed to this app 
      // params will be empty if no data found 
      // ... insert custom logic here ... 
      print("params: %@", params as? [String: AnyObject] ?? {}) 
     } else { 
      print(error?.localizedDescription ?? "") 
     } 
    }) 

を持っている問題は、それが2つのだけのparamsが含まれています常にparamsはここにある。この時点で

実装

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { 
    let branchHandled = branch.application(application, 
                 open: url, 
                 sourceApplication: sourceApplication, 
                 annotation: annotation 
    ) 

    if (!branchHandled) { 
     // If not handled by Branch, do other deep link routing for the Facebook SDK, Pinterest SDK, etc 

     var handled = false 

     handled = //this is Facebook handling 

     guard handled == false else { return true } 
    } else { 
     // do some stuff if it's coming from branch 
    } 

    return branchHandled 
} 

私の興味は、私の["key": "value"]ペアを渡してこの時点では深いリンクのように枯れていますが、他に何を試していいのか分かりません。

答えて

0

遅延ディープリンクの失敗は、特定のブランチアプリケーションのBranchキーとBranchリンクの不一致による可能性があります。遅延ディープリンクに使用されるブランチリンクが、iOSプロジェクトのinfo.plistで使用されているのと同じブランチキーを使用して生成されていることを確認します。

+0

アイデアありがとう。私はダブルチェックして、キーが正しいです。 –