Skip to content

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リンクドメインを追加します:

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

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

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

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

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

1
2
3
4
5
6
7
8
9
10
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
}
1
2
3
4
5
6
7
8
- (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ドメインに置き換えてください。

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

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

ユーザーがアプリにコール権限を付与しない限り、iOS用のGmailアプリでは電話番号へのリンク(hreftelを付加)はサポートされません。

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

トラブルシューティング

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

物理的なiOSデバイスのメモアプリからBranchリンクを開きます。アプリが開かない場合:

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

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

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

よくある問題

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

New Stuff!