コンテンツにスキップ

Branch (ディープリンク)

Branchは、ユーザーのタッチポイントを包括的に把握することで、デバイス、チャネル、プラットフォームを横断して獲得、エンゲージメント、測定を行うためのモバイルリンクプラットフォームです。

この統合はBranchによって管理されます。

統合について

BrazeとBranchの統合により、ユーザージャーニーの起点を適切にアトリビューションし、ディープリンクを通じてユーザーを意図した場所に誘導することで、顧客により優れた体験を提供できます。

連携

BranchのSDK連携ガイドに従って、Branch連携を設定してください。その他のユースケースについては以下を参照してください。

Braze内からディープリンクとしてiOSユニバーサルリンクを送信するには、以下の手順に従います。

Branchのドキュメントに従ってユニバーサルリンクを設定します。この設定の一環として、BranchはAASAファイルをBranchリンクドメイン(例:yourapp.app.link)に自動的にホストします。

ステップ2:Associated Domainsを構成する

Xcodeで、アプリターゲット > Signing & Capabilities に移動し、Associated Domains の下にBranchリンクドメインを追加します。

applinks:yourapp.app.link
applinks:yourapp-alternate.app.link

カスタムBranchドメインを使用している場合は、それも追加してください。

Braze SDKの設定で forwardUniversalLinks を true に設定して、SDKがユニバーサルリンクをアプリの AppDelegate に転送するようにします。

let configuration = Braze.Configuration(apiKey: "<BRAZE_API_KEY>", endpoint: "<BRAZE_ENDPOINT>")
configuration.forwardUniversalLinks = true
let braze = Braze(configuration: configuration)
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:@"<BRAZE_API_KEY>"
                                                                  endpoint:@"<BRAZE_ENDPOINT>"];
configuration.forwardUniversalLinks = YES;
Braze *braze = [[Braze alloc] initWithConfiguration:configuration];

BrazeDelegateを実装して、Brazeが処理する前にBranchリンクをインターセプトします。これにより、Branchがリンクを処理し、独自のルーティングを実行できるようになります。

func braze(_ braze: Braze, shouldOpenURL context: Braze.URLContext) -> Bool {
  if let host = context.url.host,
     host.contains("app.link") || host.contains("yourdomain.com") {
    // Let Branch handle this link
    Branch.getInstance.handleDeepLink(context.url)
    return false
  }
  // Let Braze handle all other links
  return true
}
- (BOOL)braze:(Braze *)braze shouldOpenURL:(BRZURLContext *)context {
  NSString *host = context.url.host;
  if (host && ([host containsString:@"app.link"] || [host containsString:@"yourdomain.com"])) {
    [[Branch getInstance] handleDeepLink:context.url];
    return NO;
  }
  return YES;
}

該当する場合は、yourdomain.com をカスタムBranchドメインに置き換えてください。

メールでのディープリンク

ユニバーサルリンクとApp Linksに関するドキュメントを参照するか、Branchのドキュメントを参照して、Brazeから送信されるメールでのディープリンクを設定してください。

電話番号へのリンク(href に tel を付加する方法)は、ユーザーがアプリに通話権限を許可していない限り、iOS版Gmailアプリではサポートされていません。

メールサービスプロバイダー (ESP) によっては、クリックトラッキング付きユニバーサルリンクをサポートするために追加のカスタマイズが必要になる場合があります。この情報は専用の記事に記載されています。詳しくは以下のリファレンスも参照してください。

トラブルシューティング

BrazeキャンペーンからBranchリンクが期待どおりに動作しない場合は、以下のステップに従ってください。

物理的なiOSデバイスのメモアプリからBranchリンクを開きます。アプリが開かない場合は、以下を確認してください。

  • 問題はBrazeではなく、BranchまたはAASAの設定にあります。
  • https://yourapp.app.link/.well-known/apple-app-site-association でBranch AASAを検証してください。
  • Bundle IDとTeam IDがBranchダッシュボードで一致していることを確認してください。

デュアルロギングを有効にする

  1. Braze: 詳細ログを有効にし、Opening '<URL>': エントリを探します。これにより、SDKがリンクを受信したことを確認できます。
  2. Branch: Branchテストモードを有効にし、Branchダッシュボードでリンククリックイベントを確認します。
  3. 比較: Brazeがリンクをログに記録しているにもかかわらず、Branchでクリックが検出されない場合、BrazeDelegateのルーティングロジックがリンクを正しくインターセプトしていない可能性があります。shouldOpenURLのドメインマッチにBranchドメインが含まれているか確認してください。

よくある問題

症状 考えられる原因 対処法
BranchリンクがSafariで開く Branchドメイン上のAASAが無効または存在しない Associated DomainsとAASAファイルを確認する
Branchリンクは開くが、間違った画面に遷移する Branchリンクデータの設定ミス Branchダッシュボードでルーティングルールを確認する
プッシュからは動作するがメールからは動作しない クリックトラッキングドメインにAASAがない メールサービスプロバイダー (ESP) のクリックトラッキングドメインにAASAをホストする。メールの設定を参照
BranchリンクでshouldOpenURLが発火しない forwardUniversalLinksが有効になっていない configuration.forwardUniversalLinks = trueを設定する
メモからは動作するがBrazeからは動作しない BrazeDelegateがBranch URLに対してtrueを返している shouldOpenURLのドメインチェックがBranchドメインと一致しているか確認する

ディープリンクのその他のトラブルシューティングシナリオについては、ディープリンクのトラブルシューティングを参照してください。

New Stuff!