AndroidおよびSwift/iOS向けのTealiumリモートコマンドによるBranch連携。
要件
- ダッシュボードから取得したBranchキー
- 次のいずれかのモバイルライブラリ:
- Tealium for Android(Kotlin)(1.0.0以降)
- Tealium for Android(Java)(5.9.0以降)
- Tealium for iOS(Swift)(2.1.0以降)
- 次のいずれかのリモートコマンド連携:
仕組み
Branch連携では、次の3つの要素を使用します。
- BranchネイティブSDK
- Branchのメソッドをラップするリモートコマンドモジュール
- イベントトラッキングをBranchのネイティブ呼び出しに変換する、JSON構成ファイルまたはリモートコマンドタグ
Branchリモートコマンドモジュールをアプリに追加すると、必要なBranchライブラリが自動的にインストールおよびビルドされるため、ベンダー固有のコードをアプリに追加する必要はありません。依存関係マネージャーを使用してインストールする場合、Branch SDKを別途インストールする必要はありません。
リモートコマンドには、JSON構成ファイルを使用する方法と、タグ管理を使用してマッピングを構成する方法の2つがあります。ベンダー連携では、リモートまたはアプリ内のローカルにホストしたJSON構成ファイルの使用を推奨します。タグ管理を使用する場合は、ベンダー連携用のリモートコマンドタグを追加します。ベンダー連携の詳細をご覧ください。
インストール
依存関係マネージャー
- Xcodeプロジェクトで、File > Add Packages… > Add Package Dependencyを選択します。
- リポジトリURLとして
https://github.com/tealium/tealium-ios-branch-remote-commandを入力します。 - バージョンルールを構成します。通常は
Up to next majorを推奨します。現在のTealiumBranchバージョンがリストに表示されない場合は、Swiftパッケージのキャッシュをリセットしてください。 - インストールする
TealiumBranchモジュールを選択し、そのモジュールをインストールするアプリターゲットを選択します。
プロジェクトに複数のアプリターゲットがあり、ほかのアプリターゲットでもTealiumBranchモジュールが必要な場合は、Frameworks, Libraries, and Embedded Contentセクションで手動で追加する必要があります。
追加のアプリターゲットにTealiumBranchをインストールするには、次の手順を実行します。
- Project NavigatorでXcodeプロジェクトを選択します。
- XcodeプロジェクトのTARGETSセクションでアプリターゲットを選択します。
- General > Frameworks, Libraries & Embedded Contentに移動し、
TealiumBranchモジュールを選択してアプリターゲットに追加します。
Tealium Swiftライブラリから追加のモジュールをインストールするには、Swift Package Managerの手順に従ってください。
Podfileに
tealium-swiftとpod "Branch"がすでに存在する場合は、それらを削除します。tealium-swiftへの依存関係は、すでにTealiumBranchフレームワークに含まれています。次の依存関係をPodfileに追加します。
pod "TealiumBranch"TealiumBranchPodには、次のTealiumSwift依存関係が含まれています。'tealium-swift/Core' 'tealium-swift/RemoteCommands' 'tealium-swift/TagManagement'TealiumHelperファイル、およびTealiumクラスまたはBranchリモートコマンドにアクセスするその他のファイルで、TealiumSwiftモジュールとTealiumBranchモジュールをインポートします。
Cartfileから
tealium-swiftを削除します。tealium-swiftへの依存関係は、すでにTealiumBranchフレームワークに含まれています。次の依存関係をCartfileに追加します。
github "tealium/tealium-ios-branch-remote-command"
Tealium for Swift SDK(バージョン1.6.5以降)では、インストールにTealiumDelegateモジュールを含める必要があります。
まだインストールしていない場合は、Tealium for Android(Kotlin)またはTealium for Android(Java)をインストールします。
プロジェクトの最上位
build.gradleファイルにTealium Maven URLを追加します。allprojects { repositories { mavenCentral() maven { url "https://maven.tealiumiq.com/android/releases/" } } }アプリプロジェクトの
build.gradleファイルに次の依存関係を追加して、Branch SDKとTealium-Branchリモートコマンドの両方をインポートします。dependencies { implementation 'com.tealium.remotecommands:branch:1.0.0' }
手動インストール
Branchリモートコマンドを手動でインストールするには、Tealium for Swiftライブラリがインストールされている必要があります。iOSプロジェクトにBranchリモートコマンドをインストールするには、次の手順を実行します。
まだインストールしていない場合は、Branch SDKをインストールします。
Tealium iOS Branchリモートコマンドのリポジトリをクローンし、
Sourcesフォルダー内のファイルをプロジェクトにドラッグします。
GitHubリポジトリ:https://github.com/tealium/tealium-ios-branch-remote-commandremoteAPIEnabled構成フラグをtrueに構成します。
Branchリモートコマンドを手動でインストールするには、Tealium for Android(Kotlin)またはTealium for Android(Java)がインストールされている必要があります。
AndroidプロジェクトにBranchリモートコマンドをインストールするには、次の手順を実行します。
プロジェクトルートの
build.gradleファイルにflatDirを追加します。allprojects { repositories { mavenCentral() flatDir { dirs 'libs' } } }tealium-branch.aarを<PROJECT_ROOT>/<MODULE>/libsに追加します。build.gradleファイルにTealiumライブラリの依存関係を追加します。dependencies { implementation(name:'tealium-branch', ext:'aar') }
初期化
すべての Tealium ライブラリで、初期化時に Branch モバイルリモートコマンドを登録します。
JSON 構成ファイルまたは Remote Command タグを使用して、Tealium の iOS(Swift)ライブラリ用リモートコマンドを初期化します。
var tealium : Tealium?
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
dataSource: "DATASOURCE")
config.dispatchers = [Dispatchers.TagManagement, Dispatchers.RemoteCommands]
config.remoteAPIEnabled = true // Required to use Remote Commands
tealium = Tealium(config: config) { _ in
guard let remoteCommands = self.tealium?.remoteCommands else {
return
}
// Webview Tag
let branch = BranchRemoteCommand()
// Local JSON
//let branch = BranchRemoteCommand(type: .local(file: "branch"))
// Remote JSON
//let branch = BranchRemoteCommand(type: .remote(url: "https://some.domain.com/branch.json"))
remoteCommands.add(branch)
}
JSON 構成ファイルまたは Remote Command タグを使用して、Tealium の Kotlin ライブラリ用リモートコマンドを初期化します。
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands, Dispatchers.TagManagement));
val branch = BranchRemoteCommand(application);
var tealium = Tealium.create(TEALIUM_MAIN, config) {
// Webview Tag
remoteCommands?.add(branch);
// Local JSON
//remoteCommands?.add(branch, filename = "branch.json");
// Remote JSON
//remoteCommands?.add(branch, remoteUrl = "https://some.domain.com/branch.json");
}
Remote Command タグを使用して、Tealium の Android(Java)ライブラリ用リモートコマンドを初期化します。
RemoteCommand branch = new BranchRemoteCommand(application);
teal.addRemoteCommand(branch);
JSON テンプレート
JSON 構成ファイルを使用してリモートコマンドを構成する場合は、次のテンプレートを使用して開始してください。このテンプレートには、標準インストールで使用される一般的なマッピングが含まれています。必要に応じてマッピングを編集してください。
{
"config": {
"settings": {
"enable_logging": true,
"branch_dev_key": "branch_key",
"collect_device_id": true
}
},
"mappings": {
"tealium_event": "event.description",
"description": "buo.description",
"item_id": "buo.canonical_identifier",
"title": "buo.title",
"feature": "link.feature",
"channel": "link.channel",
"campaign": "link.campaign",
"latitude": "metadata.latitude",
"longitude": "metadata.longitude",
"currency_code": "metadata.currency_type",
"customer_id": "event.user_id",
"coupon": "metadata.coupon",
"product_brand": "metadata.product_brand",
"product_category": "metadata.product_category",
"product_id": "metadata.sku",
"product_name": "metadata.product_name",
"product_variant": "metadata.product_variant",
"product_unit_price": "metadata.price",
"product_quantity": "event.quantity",
"currency_type": "event.currency",
"order_tax": "event.tax"
},
"commands": {
"launch": "initialize",
"user_login": "login,setuserid",
"user_register": "completeregistration",
"show_offers": "clickad",
"cart_add": "addtocart",
"wishlist_add": "addtowishlist",
"payment": "addpaymentinfo",
"level_up": "achievelevel",
"email_signup": "subscribe",
"product": "viewitem",
"share": "share",
"rate": "rate",
"search": "search",
"invite": "invite",
"order": "initiatepurchase",
"record_score": "record_score",
"teal_custom_event": "teal_custom_event"
}
}
サポートされているメソッド
各 Branch メソッドにコマンドをマッピングします。Branch メソッドをトリガーするには、対応するコマンドを指定された形式で渡します。
iOS リモートコマンド
| iOS リモートコマンド | Branch メソッド |
|---|---|
initialize | initSession() |
setuserid | setIdentity() |
logout | logout() |
| その他 | logEvent() |
Android リモートコマンド
| Android リモートコマンド | Branch メソッド |
|---|---|
initialize | initSession() |
setuserid | setIdentity() |
logout | logout() |
createdeeplink | generateShortUrl() |
| その他 | logEvent() |
標準イベント名
logEvent メソッドでは、次の標準イベントコマンド名がサポートされています。コマンドが送信され、そのイベントに必要なすべての変数がマッピングおよび定義されている場合、Branch SDK でコマンドが自動的にトリガーされます。
| リモートコマンド | Branch イベント名(iOS) | Branch イベント名(Android) |
|---|---|---|
achievelevel | BranchStandardEvent.achieveLevel | BRANCH_STANDARD_EVENT.ACHIEVE_LEVEL |
addpaymentinfo | BranchStandardEvent.addPaymentInfo | BRANCH_STANDARD_EVENT.ADD_PAYMENT_INFO |
addtocart | BranchStandardEvent.addToCart | BRANCH_STANDARD_EVENT.ADD_TO_CART |
addtowishlist | BranchStandardEvent.addToWishlist | BRANCH_STANDARD_EVENT.ADD_TO_WISHLIST |
clickad | BranchStandardEvent.clickAd | BRANCH_STANDARD_EVENT.CLICK_AD |
completetutorial | BranchStandardEvent.completeTutorial | BRANCH_STANDARD_EVENT.COMPLETE_TUTORIAL |
completeregistration | BranchStandardEvent.completeRegistration | BRANCH_STANDARD_EVENT.COMPLETE_REGISTRATION |
completestream | カスタムイベント BranchEvent(eventName) | BRANCH_STANDARD_EVENT.COMPLETE_STREAM |
initiatepurchase | BranchStandardEvent.initiatePurchase | BRANCH_STANDARD_EVENT.INITIATE_PURCHASE |
initiatestream | カスタムイベント BranchEvent(eventName) | BRANCH_STANDARD_EVENT.INITIATE_STREAM |
invite | BranchStandardEvent.invite | BRANCH_STANDARD_EVENT.INVITE |
login | BranchStandardEvent.login | BRANCH_STANDARD_EVENT.LOGIN |
purchase | BranchStandardEvent.purchase | BRANCH_STANDARD_EVENT.PURCHASE |
rate | BranchStandardEvent.rate | BRANCH_STANDARD_EVENT.RATE |
reserve | BranchStandardEvent.reserve | BRANCH_STANDARD_EVENT.RESERVE |
search | BranchStandardEvent.search | BRANCH_STANDARD_EVENT.SEARCH |
share | BranchStandardEvent.share | BRANCH_STANDARD_EVENT.SHARE |
spendcredits | BranchStandardEvent.spendCredits | BRANCH_STANDARD_EVENT.SPEND_CREDITS |
starttrial | BranchStandardEvent.startTrial | BRANCH_STANDARD_EVENT.START_TRIAL |
subscribe | BranchStandardEvent.subscribe | BRANCH_STANDARD_EVENT.SUBSCRIBE |
unlockachievement | BranchStandardEvent.unlockAchievement | BRANCH_STANDARD_EVENT.UNLOCK_ACHIEVEMENT |
viewad | BranchStandardEvent.viewAd | BRANCH_STANDARD_EVENT.VIEW_AD |
viewcart | BranchStandardEvent.viewCart | BRANCH_STANDARD_EVENT.VIEW_CART |
viewitem | BranchStandardEvent.viewItem | BRANCH_STANDARD_EVENT.VIEW_ITEM |
viewitems | BranchStandardEvent.viewItems | BRANCH_STANDARD_EVENT.VIEW_ITEMS |
custom | BranchEvent(eventString) | BranchEvent(eventString) |
SDK のセットアップ
Branch SDK のセットアップについて詳しくは、次を参照してください。
初期化
Branch SDK は起動時に自動的に初期化されます。Branch Key は Info.plist、または JSON 構成ファイル内の branch_dev_key に構成します。
| リモートコマンド | Branch メソッド |
|---|---|
initialize | initSession() |
Branch Remote Command タグでは、いくつかの構成オプションを使用できます。起動時に以下のいずれかが構成されている場合、その構成は configure() メソッドの実行時に送信されます。
構成オプション
| 名前 | TiQ 変数マッピング | 説明 | 型 |
|---|---|---|---|
| ロギングを有効化 | enable_logging | Branch イベントをコンソールに記録します | Bool |
| Branch Key | branch_dev_key | Branch アプリケーションのキーです。 | String |
IDリンクの送信
| リモートコマンド | Branchメソッド |
|---|---|
setIdentity | setIdentity() |
| パラメータ | 型 |
|---|---|
id(必須) | 文字列 |
最終更新日 :: 2026年November月3日