Branch (ディープリンク)
Branchは、ユーザーのタッチポイントを包括的に把握することで、デバイス、チャネル、プラットフォームを横断して獲得、エンゲージメント、測定を行うためのモバイルリンクプラットフォームです。
この統合はBranchによって管理されます。
統合について
BrazeとBranchの統合により、ユーザージャーニーの起点を適切にアトリビューションし、ディープリンクを通じてユーザーを意図した場所に誘導することで、顧客により優れた体験を提供できます。

連携
BranchのSDK連携ガイドに従って、Branch連携を設定してください。その他のユースケースについては以下を参照してください。
iOSユニバーサルリンクのサポート
Braze内からディープリンクとしてiOSユニバーサルリンクを送信するには、以下の手順に従います。
ステップ1:Branchユニバーサルリンクを設定する
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ドメインを使用している場合は、それも追加してください。
ステップ3:Brazeでユニバーサルリンクを転送する
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];
ステップ4:BrazeDelegateでBranchリンクをルーティングする
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リンクが期待どおりに動作しない場合は、以下のステップに従ってください。
Braze以外でリンクが動作するか確認する
物理的なiOSデバイスのメモアプリからBranchリンクを開きます。アプリが開かない場合は、以下を確認してください。
- 問題はBrazeではなく、BranchまたはAASAの設定にあります。
https://yourapp.app.link/.well-known/apple-app-site-associationでBranch AASAを検証してください。- Bundle IDとTeam IDがBranchダッシュボードで一致していることを確認してください。
デュアルロギングを有効にする
- Braze: 詳細ログを有効にし、
Opening '<URL>':エントリを探します。これにより、SDKがリンクを受信したことを確認できます。 - Branch: Branchテストモードを有効にし、Branchダッシュボードでリンククリックイベントを確認します。
- 比較: 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ドメインと一致しているか確認する |
ディープリンクのその他のトラブルシューティングシナリオについては、ディープリンクのトラブルシューティングを参照してください。