リモート コマンド: Kochava
Android および Swift/iOS における Kochava の Tealium リモート コマンド統合です。
要件
- Kochava App GUID
- これらのモバイル ライブラリのうちのいずれか:
- Tealium for Android-Kotlin (1.0.0 以降)
- Tealium for Android-Java (5.9.0 以降)
- Tealium for iOS-Swift (2.1.0 以降)
- これらのリモート コマンド統合のいずれか:
- -Kochava Remote Command JSON File (Android-Kotlin 1.0.0 以降または iOS-Swift 2.1.0 以降が必要)
- Kochava リモート コマンド タグ (Tealium iQ タグ管理)
仕組み
Kochava 統合は、これらのアイテムを使用します:
- Kochava ネイティブ SDK
- Kochava メソッドをラップするリモート コマンド モジュール
- イベント トラッキングをネイティブ Kochavaコールに翻訳する、JSON 構成ファイルまたは Remote Command タグのいずれか
Kochava リモート コマンド モジュールをアプリに追加すると、必要な Kochava ライブラリが自動的にインストールされ、ビルドされます。この際、ベンダー固有のコードをアプリに追加する必要はありません。依存関係マネージャのインストールを使用している場合、Kochava SDK を個別にインストールする必要はありません。
リモート コマンド オプションは、次の 2 つがあります: A JSON 構成ファイル、または、マッピングを構成するための iQ タグ管理の使用。A JSON 構成ファイルは、リモートでホスティングするか、またはアプリ内でローカルでホスティングするかのいずれでも、ベンダー統合の推奨オプションです。iQ タグ管理を使用する場合は、ベンダー統合用のリモート コマンド タグを追加します。ベンダー統合の詳細は、こちらから参照してください。
インストール
依存関係マネージャ
次の依存関係マネージャのいずれかをインストールに使用することをお勧めします。
Tealium iOS(Objective-C)ライブラリを使用している場合は、手動インストール方法を使用してください。CocoaPodsおよびCarthageオプションは、Tealium iOS(Swift)ライブラリを使用している場合にのみ使用可能です。
CocoaPods を使用して iOS の Kochava リモート コマンドをインストールするには:
-
tealium-swift
とpod "KochavaTrackeriOS"
が Podfile に既に存在する場合は削除します。tealium-swift
の依存関係はTealiumKochava
フレームワークに既に含まれています。 -
次の依存関係をPodfileに追加します。
pod "TealiumKochava"
TealiumKochava
ポッドには以下の TealiumSwift
依存関係が含まれています。
'tealium-swift/Core'
'tealium-swift/RemoteCommands'
'tealium-swift/TagManagement'
- モジュール
TealiumSwift
およびTealiumKochava
を、TealiumHelper
ファイル、Tealium
クラスにアクセスするその他のファイル、または Kochava リモート コマンドにインポートします。
Carthage を使用して iOS の Kochava リモート コマンドをインストールするには:
-
tealium-swift
をCartfileから削除します。tealium-swift
の依存関係はTealiumKochava
フレームワークに既に含まれています。 -
次の依存関係をCartfileに追加します。
github "tealium/tealium-ios-kochava-remote-command"
Tealium for Swift SDK(バージョン1.6.5以降)では、TealiumDelegate
モジュールがインストールに含まれている必要があります。
Maven を使用して Android の Kochava リモート コマンドをインストールするには:
-
Tealium for Android (Kotlin) または Tealium for Android (Java) をインストールして、Tealium Maven URL を、プロジェクトのトップレベル
build.gradle
ファイルに追加します (まだ済んでいない場合)。allprojects { repositories { mavenCentral() maven { url "https://maven.tealiumiq.com/android/releases/" } } }
-
アプリ プロジェクトの
build.gradle
ファイルに次の依存関係を追加して、Kochava SDK と Tealium-Kochava の両方のリモート コマンドをインポートします。
dependencies {
implementation 'com.tealium.remotecommands:kochava:1.0.0'
}
手動による手順(iOS)
Kochava リモート コマンドを手動でインストールするには、 Tealium for Swift ライブラリがインストールされている必要があります。iOS プロジェクトの Kochavae リモート コマンドをインストールするには:
-
Kochava SDKをまだインストールしていない場合はインストールします。
-
Tealium iOS Kochava リモート コマンド レポジトリをクローンして、
Sources
フォルダ内のファイルをプロジェクトにドラッグします。 -
remoteAPIEnabled
構成フラッグをtrue
に構成します
手動(Android)
Kochava リモート コマンドを手動でインストールするには、 Tealium for Android (Kotlin) または Tealium for Android (Java) がインストールされている必要があります。
Android プロジェクトの Kochava リモート コマンドをインストールするには:
flatDir
をプロジェクトのルートにあるbuild.gradle
ファイルに追加します。
allprojects {
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
}
-
tealium-kochava.aar
を<PROJECT_ROOT>/<MODULE>/libs
に追加します。 -
Tealiumライブラリの依存関係を
build.gradle
ファイルに追加します。
dependencies {
implementation(name:'tealium-kochava', ext:'aar')
}
初期化
すべての Tealium ライブラリについて、初期化時に Kochavae モバイル リモート コマンドを登録します。
Android (Kotlin)
Tealium の Kotlin ライブラリ用の JSON 構成ファイルまたはリモート コマンド タグを用いてリモート コマンドを初期化します。
以下のコードは、ローカル ファイル オプションを使用して、JSON Remote Command 機能とともに用いるために設計されています。
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands));
var tealium = Tealium.create(TEALIUM_MAIN, config) {
val kochava = KochavaRemoteCommand(application);
remoteCommands?.add(kochava, filename = "kochava.json");
}
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands));
var tealium = Tealium.create(TEALIUM_MAIN, config) {
val kochava = KochavaRemoteCommand(application);
remoteCommands?.add(kochava);
}
Android (Java)
Tealium の Android (Java) ライブラリ用のリモート コマンド タグを用いてリモート コマンドを初期化します。
Android 向けの JSON Remote Command ファイル機能は、Kotlin SDK でのみ利用できます。
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
RemoteCommand kochava = new KochavaRemoteCommand(application);
teal.addRemoteCommand(kochava);
iOS (Swift)
Tealium の iOS (Swift) ライブラリ用の JSON 構成ファイルまたはリモート コマンド タグを用いてリモート コマンドを初期化します。
以下のコードは、ローカル ファイル オプションを使用して、JSON Remote Commands 機能とともに用いるために設計されています。
var tealium : Tealium?
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
dataSource: "DATASOURCE")
config.remoteAPIEnabled = true
tealium = Tealium(config: config) { _ in
guard let remoteCommands = self.tealium?.remoteCommands else {
return
}
let kochava = KochavaRemoteCommand(type: .local(file: "kochava"))
remoteCommands.add(kochava)
}
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
var tealium : Tealium?
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
dataSource: "DATASOURCE")
config.remoteAPIEnabled = true
tealium = Tealium(config: config) { _ in
guard let remoteCommands = self.tealium?.remoteCommands else {
return
}
let kochava = KochavaRemoteCommand()
remoteCommands.add(kochava)
}
JSON テンプレート
JSON 構成ファイルを使用してリモート コマンドを構成しようとする場合は、まず、以下のテンプレートを参照します。テンプレートには、標準的なインストールに用いられる共通マッピングが含まれいます。必要に応じて、マッピングを編集します。
{
"config": {
"app_guid": "test app guid",
"log_level": "debug",
"app_tracking_transparency_enabled": false,
"limit_ad_tracking": true,
"identity_link_ids": {
"userID": "CUST123",
"userName": "Bob"
}
},
"mappings": {
"event_title": "custom_event_name",
"achievement_id": "custom.achievement_id",
"ad_network_name": "custom.ad_network_name",
"campaign_id": "event.ad_campaign_id",
"campaign": "event.ad_campaign_name",
"cart_add_location": "event.item_added_from",
"checkout_option": "custom.checkout_option",
"checkout_step": "custom.checkout_step",
"content": "event.content_id",
"content_type": "event.content_type",
"coupon": "custom.coupon",
"currency_code": "event.currency",
"customer_id": "event.user_id,identity_link_ids.userID",
"device_type": "event.ad_device_type",
"end_date": "event.end_date",
"flight_number": "custom.flight_number",
"game_character": "custom.character",
"group_name": "event.ad_group_name",
"guest_checkout": "event.checkout_as_guest",
"level": "event.level",
"number_nights": "custom.number_nights",
"number_pax": "custom.number_passengers",
"number_rooms": "custom.number_rooms",
"order_id": "event.order_id",
"order_shipping_amount": "custom.shipping",
"order_tax_amount": "custom.tax",
"order_total": "custom.total",
"product_brand": "custom.brand",
"product_category": "custom.category",
"product_id": "custom.product_id",
"product_name": "event.name",
"product_quantity": "event.quantity",
"product_unit_price": "event.price",
"rating": "event.rating_value",
"score": "event.score",
"search_keyword": "event.search_term",
"search_results": "event.results",
"signup_method": "event.registration_method",
"start_date": "event.start_date",
"travel_destination": "event.destination",
"travel_class": "custom.travel_class",
"travel_origin": "event.origin",
"username": "event.user_name,identity_link_ids.userName"
},
"commands": {
"launch": "initialize",
"user_login": "custom,sendidentitylink",
"user_register": "registrationcomplete",
"share": "custom",
"show_offers": "adclick,adview",
"join_group": "custom",
"travel_order": "purchase",
"unlock_achievement": "achievement",
"level_up": "levelcomplete",
"stop_tutorial": "tutorialcomplete",
"record_score": "custom",
"category": "view",
"product": "view",
"cart_add": "addtocart",
"wishlist_add": "addtowishlist",
"checkout": "checkoutstart",
"rating": "rating",
"search": "search",
"screen_veiw": "view",
"email_signup": "subscribe",
"order": "purchase",
"disable_analytics": "sleeptracker,invalidate"
}
}
プッシュ メッセージ トラッキング (iOS)
Tealium Swift ライブラリには、Tealium と Carthage リモート コマンドを介してプッシュ メッセージ トラッキングに対処するための TealiumRegistration
プロトコルが含まれています。Tealium は ラッパー クラス KochavaInstance
でこのプロトコルに準拠し、プッシュ メッセージ認証イベントとプッシュ メッセージ オープン イベントの送信、およびトラッキングのアンインストールにこのプロトコルを使用しています。プッシュメッセージトラッキング機能を利用することをお勧めします。
iOSプロジェクトのプッシュメッセージトラッキングを統合するには、次の手順を実行します。
TealiumHelper.swift
ファイルで、TealiumRegistration
プロトコルに準拠しているオブジェクトの空の配列を初期化します。例:
var pushMessagingHelpers = [TealiumRegistration]()
KochavaRemoteCommand
の前にKochavaInstance
を初期化します- 前述の配列に
KochavaInstance
を追加します
以下は、プッシュメッセージトラッキング統合の例の全文です。
var pushMessagingHelpers = [TealiumRegistration]()
//...
teal = Tealium(config: config) { responses in
guard let remoteCommands = self.tealium?.remoteCommands() else {
return
}
let kochavaInstance = KochavaInstance()
let kochavaRemoteCommand = KochavaRemoteCommand(kochavaInstance: kochavaInstance)
remoteCommands.add(kochavaRemoteCommand)
self.pushMessagingHelpers.append(kochavaInstance)
}
TealiumHelper.swift
ファイル全体を表示するには、 Kochava リモート コマンド サンプル アプリを確認してください。ユーザーが通知の登録、プッシュ メッセージのオープン、またはアプリのアンインストールを行った後で Kochava にイベントを送信するには、ファイル AppDelegate.swift
を参照してください。
Kochava のプッシュ メッセージのトラッキングに関する詳細については、 Kochava iOS プッシュ通知 に関するドキュメンテーションを参照してください。
エンハンスト ディープ リンク (iOS)
Tealium Swift ライブラリには、Tealium と Kochava リモート コマンドを介してディープ リンクに対処するための TealiumDeepLinkable
プロトコルが含まれています。Tealium は ラッパー クラス KochavaInstance
でこのプロトコルに準拠し、ユーザーを、目的とするローケーションにリルーティングする前に .deepLink
イベントに送信するために、このプロトコルを使用しています。
iOS プロジェクトのエンハンスト ディープ リンクを統合するには、次の手順を実行します。
TealiumHelper.swift
ファイルで、TealiumDeepLinkable
プロトコルに準拠しているオブジェクトの空の配列を初期化します。例:
var deepLinkHelpers = [TealiumDeepLinkable]()
KochavaRemoteCommand
の前にKochavaInstance
を初期化します- 前述の配列に
KochavaInstance
を追加します。
以下は、エンハンスト ディープ リンク統合の例の全文です。
var deepLinkHelpers = [TealiumDeepLinkable]()
//...
teal = Tealium(config: config) { responses in
guard let remoteCommands = self.tealium?.remoteCommands() else {
return
}
let kochavaInstance = KochavaInstance()
let kochavaRemoteCommand = KochavaRemoteCommand(kochavaInstance: kochavaInstance)
remoteCommands.add(kochavaRemoteCommand)
self.deepLinkHelpers.append(kochavaInstance)
}
TealiumHelper.swift
ファイル全体を表示するには、 Kochava リモート コマンド サンプル アプリを確認してください。
ユーザーが通知の登録、プッシュ メッセージのオープン、またはアプリのアンインストールを行った後で Kochava にイベントを送信するには、ファイル AppDelegate.swift
を参照してください
Kochava のエンハンスト ディープ リンクに関する詳細については、 Kochava iOS プッシュ通知 に関するドキュメンテーションを参照してください。
サポートされているメソッド
以下の Kochava メソッドは、以下の Tealium コマンドを使用し、Kochava リモート コマンド タグのデータ マッピングを使用してトリガーされます。
iOS Remote Commands リモート コマンド
iOS リモートコマンド | Kochava メソッド |
---|---|
initialize |
start() |
sleepTracker |
sleepTracker (property on the KochavaTracker.shared object) |
invalidate |
invalidate() |
以下のいずれかのイベント名 | sendEvent() |
sendIdentityLink |
sendIdentityLink() |
Called manually in AppDelegate within didReceiveRemoteNotification |
sendEvent() - event type: .pushOpened |
Called manually in AppDelegate within didRegisterForRemoteNotificationsWithDeviceToken using TealiumRegistration protocol (registerPushToken() method) |
addRemoteNotificationsDeviceToken() |
Called manually in AppDelegate within continue userActivity using TealiumDeeplinkable protocol |
KVADeeplink.process() および/または sendEvent() - event type: .deepLink |
Android Remote Commands リモート コマンド
Android リモートコマンド | Kochava メソッド |
---|---|
configure |
configure() |
setsleep |
setSleep() |
以下のいずれかのイベント名 | sendEvent() |
標準イベント名
以下の標準イベント コマンド名は、 trackEvent
メソッドでサポートされています。コマンドが送信され、イベントに関してすべての必要な変数がマッピングされ、定義されたときは、Kochava SDK でコマンドが自動的にトリガーされます。
リモートコマンド | Kochava イベント名 (iOS) | Kochava イベント名 (Andriod) |
---|---|---|
achievement |
KVAEventType.achievement |
Commands.ACHIEVEMENT |
addToCart |
KVAEventType.addToCart |
Commands.ADD_TO_CART |
addToWishlist |
KVAEventType.addToWishList |
Commands.Add_TO_WISH_LIST |
registrationComplete |
KVAEventType.registrationComplete |
Commands.REGISTRATION_COMPLETE |
tutorialComplete |
KVAEventType.tutorialComplete |
Commands.TUTORIAL_COMPLETE |
levelComplete |
KVAEventType.levelComplete |
Commands.LEVEL_COMPLETE |
checkoutStart |
KVAEventType.checkoutStart |
Commands.CHECKOUT_START |
purchase |
KVAEventType.purchase |
Commands.PURCHASE |
subscribe |
KVAEventType.subscribe |
Commands.SUBSCRIBE |
startTrial |
KVAEventType.startTrial |
Commands.START_TRIAL |
rating |
KVAEventType.rating |
Commands.RATING |
search |
KVAEventType.search |
Commands.SEARCH |
adView |
KVAEventType.adView |
Commands.AD_VIEW |
view |
KVAEventType.view |
Commands.VIEW |
pushOpened |
KVAEventType.pushOpened |
マッピングには customEventNameString が必要です |
pushRecieved |
KVAEventType.pushReceived |
マッピングには customEventNameString が必要です |
consentGranted |
KochavaEventTypeEnumConsentGranted |
マッピングには customEventNameString が必要です |
adClick |
KVAEventType.adClick |
マッピングには customEventNameString が必要です |
custom |
KVAEventType.custom (customEventNameString がマッピングに必要です) |
マッピングには customEventNameString が必要です |
iOS については、KVAEvent.deepLink
イベントを AppDelegate
に送信するうえでは、ネイティブ KVAEvent.send()
メソッドまたは TealiumDeepLinkable
プロトコルを使用する必要があります。
SDKのセットアップ
Kochava SDK の詳細は、こちらから参照してください:
初期化
Kochava SDK は起動時に自動的に初期化されます。Kochava App GUID は、Tealium リモート コマンド構成で構成されます。
リモートコマンド | Kochava メソッド |
---|---|
initialize |
start() |
Kochava リモート コマンド タグで利用できる構成オプションはいくつかあります。以下のいずれかが起動時に構成された場合は、 configure()
メソッドの実行中に送信されます。
構成オプション
Name | TiQ 変数マッピング | 説明 | 型 |
---|---|---|---|
ログレベル | log_level |
コンソール内での Kochava アウトプットのログ レベル: none 、 error 、 warn 、 info 、 debug 、 trace (ログ レベル の詳細は、こちらから参照してください) |
String |
Retrieve Attribution Data | retrieve_attribution_data |
準備できたときに attribution (アトリビューション) データを取得するデリゲート/リスナーを構成するためのブール値。TealiumKochava では、 attributionDictionary を 揮発性保存に構成し、 track コールを tealium_event (attribution のもの) とともに送信します。デリゲート/リスナー メソッドを TealiumKochavaTracker で追加できます (attribution (アトリビューション) の取得 の詳細は、こちらから参照してください) |
Bool |
Identity Link IDs | identity_link_ids |
キーと値のペアの形式で異なる識別子を合わせてリンクします (アイデンティティのリンク の詳細は、こちらから参照してください) | Int |
Limit Ad Tracking | limit_ad_tracking |
有効になっている場合は、アプリケーション レベルに広告トラッキングを制限します (デフォルト: false ) |
Bool |
Enable App Tracking Transparency (iOS 14+) | app_tracking_transparency_enabled |
App Tracking Transparency (iOS 14 以降) について Kochava による自動実装 (有効になっている場合) を有効化します。(デフォルト:false ) |
Bool |
スリープ トラッカー
リモートコマンド | Kochava メソッド |
---|---|
sleeptracker (iOS) |
sleepTracker (KochavaTracker.shared オブジェクト プロパティ) |
setsleep (Android) |
setSleep() |
パラメータ | 型 |
---|---|
sleep (required) |
Bool |
取消 (Invalidate) (iOS)
リモートコマンド | Kochava メソッド |
---|---|
invalidate |
invalidate() |
アイデンティティ リンクの送信 (iOS)
リモートコマンド | Kochava メソッド |
---|---|
sendidentitylink |
sendIdentityLink() |
パラメータ | 型 |
---|---|
identityLinkIds (required) |
キーと値のペア |
カスタム イベントの送信 (iOS)
リモートコマンド | Kochava メソッド |
---|---|
標準イベント名 | send() |
パラメータ | 型 |
---|---|
event_parameters (optional) |
キーと値のペア |
カスタム イベントの送信 (iOS)
リモートコマンド | Kochava メソッド |
---|---|
custom |
sendCustom() |
パラメータ | 型 |
---|---|
custom_event_name (required) |
String |
info_dictionary (optional) |
キーと値のペア |
最終更新日 :: 2024年April月30日