リモート コマンド: Adjust
Android および Swift/iOS における Adjust の Tealium リモート コマンド統合です。
要件
- Adjust App Token
- これらのモバイルライブラリのうちのいずれか:
- Tealium for Android-Kotlin (1.0.0 以降)
- Tealium for Android-Java (5.9.0 以降)
- Tealium for iOS-Swift
- これらのリモート コマンド統合のいずれか:
- Adjust Remote Command JSON File (Android-Kotlin 1.0.0 以降または iOS-Swift 2.1.0 以降が必要)
- Tealium iQ Tag Management での Adjust Remote Command タグ
仕組み
Adjust 統合は、これらのアイテムを使用します:
- Adjust ネイティブ SDK
- Adjust メソッドをラップするリモート コマンド モジュール
- イベント トラッキングをネイティブ Adjust コールに翻訳する、JSON 構成ファイルまたは Remote Command タグのいずれか
Adjust リモート コマンド モジュールをアプリに追加すると、必要な Adjust ライブラリが自動的にインストールされ、ビルドされます。この際、ベンダー固有のコードをアプリに追加する必要はありません。依存関係マネージャのインストールを使用している場合、Adjust SDK を個別にインストールする必要はありません。
リモート コマンド オプションは、次の 2 つがあります: A JSON 構成ファイル、または、マッピングを構成するための iQ タグ管理の使用。A JSON 構成ファイルは、リモートでホスティングするか、またはアプリ内でローカルでホスティングするかのいずれでも、ベンダー統合の推奨オプションです。iQ タグ管理を使用する場合は、ベンダー統合用のリモート コマンド タグを追加します。ベンダー統合の詳細は、こちらから参照してください。
iOS: Adjust バージョン 4.23.0 以降の場合は、SDKは、次のネイティブ フレームワークを自動的追加します: AdSupport.framework
、 iAd.framework
および AppTrackingTransparaceny.framework
。詳細については、 Adjust iOS SKAdNetwork 統合 に関するガイドを参照してください。
インストール
依存関係マネージャ
次の依存関係マネージャのいずれかをインストールに使用することをお勧めします。
Swift Package Manager を使用して iOS の Adjust リモート コマンドをインストールするには:
- Xcode プロジェクトで、次のように選択します: [File] > [Add Package…]> [Add Package Dependency]
- レポジトリの URL として「https://github.com/tealium/tealium-ios-adjust-remote-command」と入力します
- バージョンルールを構成します。通常は
Up to next major
が推奨されます。現在のTealiumAdjust
バージョンがリストに表示されない場合は、Swift パッケージ キャッシュをリセットします。 - インストールする
TealiumAdjust
モジュールを選択し、モジュールをインストールするアプリ ターゲットを選択します。 - Tealium Swift ライブラリからの追加のモジュールを使用しようとしている場合は、 Swift Package Managerの手順 に従って、これを追加します。
プロジェクトにアプリ ターゲットが複数あり、複数のアプリ ターゲットで TealiumAdjust
モジュールが必要な場合は、 [Frameworks, Libraries, and Embedded Content] (フレームワーク、ライブラリ、組み込みコンテンツ) セクションにそれらを手動で追加する必要があります。
追加のアプリ ターゲットに TealiumAdjust
をインストールするには:
- プロジェクト ナビゲーターで Xcode プロジェクトを選択します。
- Xcode プロジェクトにおいて、 [TARGETS] (ターゲット) セクションでアプリ ターゲットを選択します。
- [General] > [Frameworks, Libraries & Embedded Content] に進み、
TealiumAdjust
モジュールを選択して、アプリ ターゲットに追加します。
CocoaPods を使用して iOS の Adjust リモート コマンドをインストールするには:
-
pod "tealium-swift"
とpod "Adjust"
が Podfile に存在する場合は削除します。tealium-swift
の依存関係はTealiumAdjust
フレームワークに既に含まれています。 -
次の依存関係をPodfileに追加します。
pod "TealiumAdjust"
TealiumAdjust
ポッドには以下の TealiumSwift
依存関係が含まれています。
"tealium-swift/Core"
"tealium-swift/RemoteCommands"
tealium-swift/Collect
またはtealium-swift/TagManagement
のいずれかのインストールにディスパチャー ポッドを含めて、ポッドファイルに他の個別のサブ モジュールを含めます。例:
pod "TealiumAdjust"
pod "tealium-swift/Collect"
pod "tealium-swift/Lifecycle"
pod "tealium-swift/Attribution"
- モジュール
TealiumSwift
およびTealiumAdjust
を、TealiumHelper
ファイル、Tealium
クラスにアクセスするその他のファイル、または Adjsut リモート コマンドにインポートします。
Carthage を使用して iOS の Adjust リモート コマンドをインストールするには:
-
tealium-swift
をCartfileから削除します。tealium-swift
の依存関係はTealiumAdjust
フレームワークに既に含まれています。 -
以下の行がCartfileに存在する場合は、その行を削除します。
github "adjust/ios_sdk"
- 次の依存関係をCartfileに追加します。
github "tealium/tealium-ios-adjust-remote-command"
Maven を使用して Android の Adjust リモート コマンドをインストールするには:
-
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
ファイルに次の依存関係を追加して、Adjust SDK と Tealium-Adjust の両方のリモート コマンドをインポートします。
dependencies {
implementation 'com.tealium.remotecommands:adjust:1.0.0'
}
手動による手順(iOS)
Adjust リモート コマンドを手動でインストールするには、 Tealium for Swift ライブラリがインストールされている必要があります。iOS プロジェクトの Adjust リモート コマンドをインストールするには:
-
Adjust SDKをまだインストールしていない場合はインストールします。
-
Tealium iOS Adjust リモート コマンド レポジトリをクローンして、
Sources
フォルダ内のファイルをプロジェクトにドラッグします。 -
remoteAPIEnabled
構成フラッグをtrue
に構成します
手動(Android)
Adjust リモート コマンドを手動でインストールするには、 Tealium for Android (Kotlin) または Tealium for Android (Java) がインストールされている必要があります。Android プロジェクトの Adjust リモート コマンドをインストールするには:
flatDir
をプロジェクトのルートにあるbuild.gradle
ファイルに追加します。
allprojects {
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
}
-
tealium-adjust.aar
を<PROJECT_ROOT>/<MODULE>/libs
に追加します。 -
Tealiumライブラリの依存関係を
build.gradle
ファイルに追加します。
dependencies {
implementation(name:'tealium-adjust', ext:'aar')
}
初期化
すべての Tealium ライブラリについて、初期化時に Adjust リモート コマンドを登録します。
Android (Kotlin)
Tealium の Android (Kotlin) ライブラリ用の JSON 構成ファイルまたはリモート コマンド タグを用いてリモート コマンドを初期化します。
以下のコードは、ローカル ファイル オプションを使用して、JSON Remote Command 機能とともに用いるために設計されています。
// Sets up a config object and creates a Tealium instance
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands));
var tealium = Tealium.create(TEALIUM_MAIN, config) {
// New code to add the Adjust Remote Command
val adjustRemoteCommand = AdjustRemoteCommand(application)
// register the command
remoteCommands?.add(adjustRemoteCommand, filename = "adjust.json");
}
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
// Sets up a config object and creates a Tealium instance
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands));
var tealium = Tealium.create(TEALIUM_MAIN, config) {
// New code to add the Adjust Remote Command
val adjustRemoteCommand = AdjustRemoteCommand(application)
// register the command
remoteCommands?.add(adjustRemoteCommand);
}
Android (Java)
Android 向けの JSON Remote Command ファイル機能は、Kotlin SDK でのみ利用できます。
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
// Sets up a config object and creates a Tealium instance
Tealium.Config config = Tealium.Config.create(application, "ACCOUNT", "PROFILE", "ENVIRONMENT");
Tealium teal = Tealium.createInstance(TEALIUM_MAIN, config);
// New code to add the Adjust Remote Command
AdjustRemoteCommand adjustRemoteCommand = new AdjustRemoteCommand(application)
teal.addRemoteCommand(adjustRemoteCommand);
iOS (Swift)
Tealium の iOS (Swift) ライブラリ用の JSON 構成ファイルまたはリモート コマンド タグを用いてリモート コマンドを初期化します。
以下のコードは、ローカル ファイル オプションを使用して、JSON Remote Command 機能とともに用いるために設計されています。
var tealium : Tealium?
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
dataSource: "DATASOURCE",
optionalData: nil)
config.remoteAPIEnabled = true // Required to use Remote Commands
config.dispatchers = [Dispatchers.RemoteCommands, Dispatchers.Collect]
tealium = Tealium(config: config) { _ in
guard let remoteCommands = self.tealium?.remoteCommands else {
return
}
let adjust = AdjustRemoteCommand(type: .local(file: "adjust"))
remoteCommands.add(adjust)
}
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
var tealium : Tealium?
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
dataSource: "DATASOURCE",
optionalData: nil)
config.remoteAPIEnabled = true // Required to use Remote Commands
config.dispatchers = [Dispatchers.RemoteCommands, Dispatchers.TagManagement]
tealium = Tealium(config: config) { _ in
guard let remoteCommands = self.tealium?.remoteCommands else {
return
}
let adjust = AdjustRemoteCommand()
remoteCommands.add(adjust)
}
JSON テンプレート
JSON 構成ファイルを使用してリモート コマンドを構成しようとする場合は、まず、以下のテンプレートを参照します。テンプレートには、標準的な E コマースのインストールに用いられる共通マッピングが含まれます。必要に応じて、マッピングを編集します。
{
"config": {
"api_token": "YOUR_API_TOKEN",
"sandbox": true,
"settings": {
"log_level": "verbose",
"delay_start": 1.0,
"allow_iad": true,
"allow_ad_services": true,
"allow_idfa": true,
"app_secret" : "secret123",
"app_secret_info_1" : "123",
"app_secret_info_2" : "456",
"app_secret_info_3" : "789",
"app_secret_info_4" : "012",
"event_buffering_enabled": false,
"send_in_background": true
}
},
"mappings": {
"event_token": "event_token",
"order_total": "revenue,callback.orderTotal",
"order_currency": "currency",
"order_id": "order_id,callback.orderId",
"conversion_value": "conversion_value",
"sales_region": "sales_region",
"callback_id": "callback_id",
"ad_revenue_source": "ad_revenue_source",
"campaign": "ad_revenue_payload.campaignId",
"ad_uuid": "ad_revenue_payload.adId",
"appstore_receipt_data": "receipt",
"purchase_timestamp": "purchase_time",
"product_sku": "sku",
"purchase_signature": "signature",
"purchase_token": "purchase_token",
"deeplink_url": "deeplink_open_url",
"push_token": "push_token",
"favorite_color": "callback.color,session_callback.color",
"num_of_pets": "partner.pets,session_partner.pets",
"customer_id": "callback.customerId",
"customer_is_member": "partner.isMember",
"session_params": "session_callback,session_partner",
"remove_session_params": "remove_session_callback_params,remove_session_partner_params",
"reset_session_params": "reset_session_callback_params,reset_session_partner_params",
"consent_granted": "measurement_consent",
"enabled": "enabled"
},
"commands": {
"launch": "initialize",
"track_deeplink": "appwillopenurl",
"purchase": "trackevent,updateconversionvalue",
"event": "trackevent",
"contact": "trackevent,addsessioncallbackparams,addsessionpartnerparams",
"ad_revenue": "trackadrevenue",
"subscribe": "trackevent,tracksubscription",
"received_push_token": "setpushtoken",
"add_session_parameters": "addsessioncallbackparams,addsessionpartnerparams",
"remove_session_parameters": "removesessioncallbackparams,removesessionpartnerparams",
"reset_session_parameters": "resetsessioncallbackparams,resetsessionpartnerparams",
"consent_revoked": "gdprforgetme,trackmeasurementconsent",
"consent_granted": "trackmeasurementconsent",
"set_enabled": "setenabled",
"offline": "setofflinemode"
}
}
サポートされているメソッド
以下の Adjust メソッドは、以下の Tealium コマンドを使用し、Adjust リモート コマンド タグのデータ マッピングを使用してトリガーできます。
リモートコマンド | Adjust メソッド |
---|---|
initialize |
initialize() |
sendEvent |
trackEvent() |
trackSubscription |
trackSubscription() |
requestTrackingAuthorization * |
requestTrackingAuthorization() |
updateConversionValue * |
updateConversionValue() |
appWillOpen |
appWillOpen() |
trackAdRevenue |
trackAdRevenue() |
setPushToken |
setPushToken() |
setEnabled |
setEnabled() |
setOfflineMode |
setOfflineMode() |
gdprForgetMe |
gdprForgetMe() |
trackThirdPartySharing |
trackThirdPartySharing() |
trackMeasurementConsent |
trackMeasurementConsent() |
addSessionCallbackParams |
addSessionCallbackParams() |
removeSessionCallbackParams |
removeSessionCallbackParams() |
resetSessionCallbackParams |
resetSessionCallbackParams() |
addSessionPartnerParams |
addSessionPartnerParams() |
removeSessionPartnerParams |
removeSessionPartnerParams() |
resetSessionPartnerParams |
resetSessionPartnerParams() |
* AppTrackingTransparency.framework
の一部として iOS でのみサポートされます。詳細については Adjust iOS SKAdNetwork 統合 に関するガイドを参照してください。
SDKのセットアップ
初期化
Adjust SDKは起動時に自動的に初期化されます。Adjust API キーはタグ構成で構成されます。
リモートコマンド | Adjust メソッド |
---|---|
initialize |
initialize() |
Adjust Developer Guide: SDK の初期セットアップ
Adjust リモート コマンド タグで利用できる構成オプションはいくつかあります。以下のいずれかが起動時に構成された場合は、 initialize()
メソッドの実行中に送信されます。
構成オプション
Name | iQ 変数マッピング | 型 |
---|---|---|
environment |
sandbox |
Bool |
logLevel |
logLevel |
String |
delayStart |
delay_start |
Double |
allowiAdInfoReading * |
allow_iad |
Bool |
allowAdServicesInfoReading * |
allow_ad_services |
Bool |
allowIdfaReading * |
allow_idfa |
Bool |
appSecret |
app_secret |
String |
appSecretInfo1 |
app_secret_info_1 |
String |
appSecretInfo2 |
app_secret_info_2 |
String |
appSecretInfo3 |
app_secret_info_3 |
String |
appSecretInfo4 |
app_secret_info_4 |
String |
defaultTracker |
default_tracker |
String |
externalDeviceId |
external_device_id |
String |
eventBufferingEnabled |
event_buffering_enabled |
String |
sendInBackground |
send_in_background |
String |
setPreinstallTrackingEnabled ** |
preinstall_tracking |
String |
* iOS のみ ** Android のみ
イベントのトラッキング
リモートコマンド | Adjust メソッド |
---|---|
sendevent |
trackEvent() |
パラメータ | 型 |
---|---|
event_token (required) |
String |
order_id |
String |
revenue |
Double |
currency |
String |
callback |
Dictionary またはMap |
partner |
Dictionary またはMap |
callback_id |
String |
Adjust Developer Guide: トラック イベント
サブスクリプションのトラッキング
リモートコマンド | Adjust メソッド |
---|---|
tracksubscription |
trackSubscription() |
パラメータ | 型 |
---|---|
revenue (required) |
Double |
currency (required) |
String |
order_id (required) |
String |
receipt (required for iOS only) |
Data |
sku (required for Android only) |
String |
signature (required for Android only) |
String |
purchase_token (required for Android only) |
String |
purchase_time |
Date |
sales_region |
String |
callback |
Dictionary またはMap |
partner |
Dictionary またはMap |
Adjust APIリファレンス:サブスクリプション トラッキング
トラッキング許可のリクエスト (iOS)
Adjust SDK は、ユーザーに対してトラッキング許可を自動的にリクエストします。完了を構成するには、 Adjust.trackingAuthorizationCompletion()
メソッドを使用して、次に、リモート コマンドを追加します。
例:
tealium = Tealium(config: config) { _ in
guard let remoteCommands = self.tealium?.remoteCommands else {
return
}
let adjustRemoteCommand = AdjustRemoteCommand()
adjustRemoteCommand.trackingAuthorizationCompletion = { status in
switch status {
case 0: print("ATTrackingManagerAuthorizationStatusNotDetermined")
case 1: print("ATTrackingManagerAuthorizationStatusRestricted")
case 2: print("ATTrackingManagerAuthorizationStatusDenied")
case 3: print("ATTrackingManagerAuthorizationStatusAuthorized")
default:
break;
}
}
remoteCommands.add(adjustRemoteCommand)
}
Adjust API リファレンス: アプリ トラッキング許可ラッパー
変換値の更新 (iOS のみ)
リモートコマンド | Adjust メソッド |
---|---|
updateconversionvalue |
updateConversionValue() |
パラメータ | 型 |
---|---|
conversion_value (required) |
Int |
Adjust API リファレンス: SKAdNetwork 変換値の更新
アプリのオープン
リモートコマンド | Adjust メソッド |
---|---|
appwillopen |
appWillOpen() |
パラメータ | 型 |
---|---|
deeplink_open_url (required) |
String |
ADjust API リファレンス: ディープ リンクを用いたリアトリビューション
広告収益のトラッキング
リモートコマンド | Adjust メソッド |
---|---|
trackadrevenue |
trackAdRevenue() |
パラメータ | 型 |
---|---|
ad_revenue_source (required) |
String |
ad_revenue_payload (required) |
Dictionary またはMap |
Adjust APIリファレンス:広告収益のトラッキング
プッシュ トークンの構成
リモートコマンド | Adjust メソッド |
---|---|
setpushtoken |
setPushToken() |
パラメータ | 型 |
---|---|
push_token (required) |
String |
Adjust 追加のAPI: プッシュ トークンの構成
有効化の構成
リモートコマンド | Adjust プロパティ |
---|---|
setenabled |
setEnabled() |
パラメータ | 型 |
---|---|
enabled (required) |
Bool |
Adjust API リファレンス: トラッキングの無効化
オフライン モードの構成
リモートコマンド | Adjust メソッド |
---|---|
setofflinemode |
setOfflineMode() |
パラメータ | 型 |
---|---|
offline (required) |
ブーリアン |
Adjust 追加のAPI: オフライン モードの構成
ユーザー情報の削除
リモートコマンド | Adjust メソッド |
---|---|
gdprforgetme |
gdprForgetMe() |
Adjust 追加のAPI: 忘れられる GDPR 権利
サードパーティ共有のトラッキング
リモートコマンド | Adjust メソッド |
---|---|
trackthirdpartysharing |
trackThirdPartySharing() |
パラメータ | 型 |
---|---|
enabled (required) |
ブーリアン |
Adjust 追加の API: Enable サードパーティ共有の有効化
測定同意のトラッキング
リモートコマンド | Adjust メソッド |
---|---|
trackmeasurementconsent |
trackMeasurementConsent() |
パラメータ | 型 |
---|---|
measurement_consent (required) |
ブーリアン |
Adjust 追加のAPI: 測定の同意
コールバック パラメータ
Adjust 追加のAPI: コールバック パラメータ
セッション コールバック パラメータの追加
リモートコマンド | Adjust メソッド |
---|---|
addsessioncallbackparams |
addSessionCallbackParams() |
パラメータ | 型 |
---|---|
session_callback (required) |
Dicationary または Map |
セッション パートナー パラメータの追加
リモートコマンド | Adjust メソッド |
---|---|
addsessionpartnerparams |
addSessionPartnerParams() |
パラメータ | 型 |
---|---|
session_partner (required) |
Dicationary または Map |
セッション コールバック パラメータの削除
リモートコマンド | Adjust メソッド |
---|---|
removesessioncallbackparams |
removeSessionCallbackParams() |
パラメータ | 型 |
---|---|
remove_session_callback_params (required) |
[String] |
セッション パートナー パラメータの削除
リモートコマンド | Adjust メソッド |
---|---|
removesessionpartnerparams |
removeSessionPartnerParams() |
パラメータ | 型 |
---|---|
remove_session_partner_params (required) |
[String] |
セッション コールバック パラメータのリセット
リモートコマンド | Adjust メソッド |
---|---|
resetsessioncallbackparams |
resetSessionCallbackParams() |
セッション パートナー パラメータのリセット
リモートコマンド | Adjust メソッド |
---|---|
resetsessionpartnerparams |
resetSessionPartnerParams() |
最終更新日 :: 2024年April月1日