リモートコマンド: 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タグ管理のAdjust Remote Commandタグ
仕組み
Adjust統合は以下の3つの要素を使用します:
- AdjustネイティブSDK
- Adjustメソッドをラップするリモートコマンドモジュール
- イベントトラッキングをネイティブのAdjust呼び出しに変換するJSON構成ファイルまたはRemote Commandタグ
Adjustリモートコマンドモジュールをアプリに追加すると、ベンダー固有のコードをアプリに追加することなく、必要なAdjustライブラリが自動的にインストールされ、ビルドされます。依存関係マネージャのインストールを使用している場合、Adjust SDKを別途インストールする必要はありません。
リモートコマンドのオプションは2つあります: JSON構成ファイル、またはiQタグ管理を使用してマッピングを構成します。JSON構成ファイルは、ベンダー統合のための推奨オプションで、リモートまたはアプリ内にホストされます。iQタグ管理を使用する場合は、ベンダー統合のためのRemote Commandタグを追加します。ベンダー統合について詳しく学びましょう。
iOS: Adjustバージョン4.23.0+では、SDKは自動的に以下のネイティブフレームワークを追加します: AdSupport.framework
, iAd.framework
およびAppTrackingTransparaceny.framework
。Adjust iOS SKAdNetwork統合ガイドで詳しく学びましょう。
インストール
依存関係マネージャ
- Xcodeプロジェクトで、File > Add Packages… > 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
をインストールするには:
- Project NavigatorでXcodeプロジェクトを選択します。
- Xcodeプロジェクトで、TARGETSセクションの下のアプリターゲットを選択します。
- General > Frameworks, Libraries & Embedded Contentに移動し、
TealiumAdjust
モジュールを選択してアプリターゲットに追加します。
-
Podfileに
pod "tealium-swift"
とpod "Adjust"
が存在する場合は削除します。tealium-swift
の依存関係はすでにTealiumAdjust
フレームワークに含まれています。 -
Podfileに以下の依存関係を追加します:
pod "TealiumAdjust"
TealiumAdjust
podには以下のTealiumSwift
依存関係が含まれています:"tealium-swift/Core" "tealium-swift/RemoteCommands"
-
インストールにディスパッチャーポッドを含めます。
tealium-swift/Collect
またはtealium-swift/TagManagement
のいずれか、およびpodfileに他の個々のサブモジュールを含めます。例えば:pod "TealiumAdjust" pod "tealium-swift/Collect" pod "tealium-swift/Lifecycle" pod "tealium-swift/Attribution"
-
TealiumHelper
ファイルと、Tealium
クラスまたはAdjsutリモートコマンドにアクセスする他のファイルにTealiumSwift
とTealiumAdjust
モジュールをインポートします。
-
Cartfileから
tealium-swift
を削除します。tealium-swift
の依存関係はすでにTealiumAdjust
フレームワークに含まれています。 -
Cartfileに以下の行が存在する場合は削除します:
github "adjust/ios_sdk"
-
Cartfileに以下の依存関係を追加します:
github "tealium/tealium-ios-adjust-remote-command"
-
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
ファイルに以下の依存関係を追加して、Adjust SDKとTealium-Adjustリモートコマンドをインポートします:dependencies { implementation 'com.tealium.remotecommands:adjust:1.0.0' }
-
React Nativeプロジェクトのルートに移動します。
-
以下のコマンドで
tealium-react-adjust
パッケージをダウンロードしてインストールします:yarn add tealium-react-adjust
-
React Native AutolinkingはNPMパッケージのバージョン1.0.7で有効化され、React Nativeのバージョン0.60+を使用している場合、
react-native link
を実行する必要はもうありません。
手動インストール
Adjustリモートコマンドの手動インストールには、Tealium for Swiftライブラリがインストールされている必要があります。iOSプロジェクトのAdjustリモートコマンドをインストールするには:
-
まだ行っていない場合は、Adjust SDKをインストールします。
-
Tealium iOS Adjust remote commandリポジトリをクローンし、
Sources
フォルダ内のファイルをプロジェクトにドラッグします。 -
remoteAPIEnabled
構成フラグをtrue
に構成します
Adjustリモートコマンドの手動インストールには、Tealium for Android (Kotlin)またはTealium for Android (Java)がインストールされている必要があります。AndroidプロジェクトのAdjustリモートコマンドをインストールするには:
-
プロジェクトのルート
build.gradle
ファイルにflatDir
を追加します:allprojects { repositories { mavenCentral() flatDir { dirs 'libs' } } }
-
<PROJECT_ROOT>/<MODULE>/libs
にtealium-adjust.aar
を追加します。 -
build.gradle
ファイルにTealiumライブラリの依存関係を追加します:dependencies { implementation(name:'tealium-adjust', ext:'aar') }
初期化
すべてのTealiumライブラリで、初期化時にAdjust Remote Commandを登録します。
TealiumのiOS (Swift)ライブラリのリモートコマンドをJSON構成ファイルまたはRemote Commandタグで初期化します:
var tealium : Tealium?
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
dataSource: "DATASOURCE")
config.dispatchers = [Dispatchers.TagManagement, Dispatchers.RemoteCommands]
config.remoteAPIEnabled = true // リモートコマンドの使用に必要
tealium = Tealium(config: config) { _ in
guard let remoteCommands = self.tealium?.remoteCommands else {
return
}
// Webviewタグ
let adjust = AdjustRemoteCommand()
// ローカルJSON
//let adjust = AdjustRemoteCommand(type: .local(file: "adjust"))
// リモートJSON
//let adjust = AdjustRemoteCommand(type: .remote(url: "https://some.domain.com/adjust.json"))
remoteCommands.add(adjust)
}
TealiumのAndroid(Kotlin)ライブラリ用のリモートコマンドをJSON構成ファイルまたはリモートコマンドタグで初期化します:
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands, Dispatchers.TagManagement));
val adjust = AdjustRemoteCommand(application);
var tealium = Tealium.create(TEALIUM_MAIN, config) {
// Webviewタグ
remoteCommands?.add(adjust);
// ローカルJSON
//remoteCommands?.add(adjust, filename = "adjust.json");
// リモートJSON
//remoteCommands?.add(adjust, remoteUrl = "https://some.domain.com/adjust.json");
}
TealiumのAndroid(Java)ライブラリ用のリモートコマンドをJSON構成ファイルまたはリモートコマンドタグで初期化します:
Tealium.Config config = Tealium.Config.create(application, "ACCOUNT", "PROFILE", "ENVIRONMENT");
Tealium teal = Tealium.createInstance(TEALIUM_MAIN, config);
// Adjust Remote Commandを追加する新しいコード
AdjustRemoteCommand adjustRemoteCommand = new AdjustRemoteCommand(application)
teal.addRemoteCommand(adjustRemoteCommand);
React Native用のリモートコマンドをJSON構成ファイルまたはリモートコマンドタグで初期化します:
import AdjustRemoteCommand from 'tealium-react-adjust';
// Webviewタグ
let adjust = { id: AdjustRemoteCommand.name }
// ローカルJSON
//let adjust = { id: AdjustRemoteCommand.name, path: "adjust.json" }
// リモートJSON
//let adjust = { id: AdjustRemoteCommand.name, url: "https://some.domain.com/adjust.json" }
let config = TealiumConfig {
// ...
remoteCommands: [adjust]
}
JSONテンプレート
リモートコマンドをJSON構成ファイルを使用して構成する場合、以下のテンプレートを参考にしてください。テンプレートには、標準的なeコマースインストールで使用される一般的なマッピングが含まれています。必要に応じてマッピングを編集してください。
{
"config": {
"api_token": "YOUR_API_TOKEN",
"sandbox": true,
"settings": {
"log_level": "verbose",
"allow_iad": true,
"allow_ad_services": true,
"allow_idfa": true,
"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",
"global_params": "global_callback,global_partner",
"remove_global_params": "remove_global_callback_params,remove_global_partner_params",
"reset_global_params": "reset_global_callback_params,reset_global_partner_params",
"consent_granted": "measurement_consent",
"enabled": "enabled"
},
"commands": {
"launch": "initialize",
"track_deeplink": "appwillopenurl",
"purchase": "trackevent,updateconversionvalue",
"event": "trackevent",
"contact": "trackevent,addglobalcallbackparams,addglobalpartnerparams",
"ad_revenue": "trackadrevenue",
"subscribe": "trackevent,tracksubscription",
"received_push_token": "setpushtoken",
"add_global_parameters": "addglobalcallbackparams,addglobalpartnerparams",
"remove_global_parameters": "removeglobalcallbackparams,removeglobalpartnerparams",
"reset_global_parameters": "resetglobalcallbackparams,resetglobalpartnerparams",
"consent_revoked": "gdprforgetme,trackmeasurementconsent",
"consent_granted": "trackmeasurementconsent",
"set_enabled": "setenabled",
"offline": "setofflinemode"
}
}
サポートされているメソッド
各Adjustメソッドにコマンドをマッピングします。Adjustメソッドをトリガーするには、指定された形式で対応するコマンドを渡します。
リモートコマンド | Adjustメソッド |
---|---|
initialize |
initialize() |
sendEvent |
trackEvent() |
trackSubscription |
trackSubscription() |
requestTrackingAuthorization * |
requestTrackingAuthorization() |
updateConversionValue * |
updateConversionValue() |
appWillOpen |
appWillOpen() |
trackAdRevenue |
trackAdRevenue() |
setPushToken |
setPushToken() |
setEnabled |
enable() /disable() |
setOfflineMode |
switchToOfflineMode() /switchBackToOnlineMode() |
gdprForgetMe |
gdprForgetMe() |
trackThirdPartySharing |
trackThirdPartySharing() |
trackMeasurementConsent |
trackMeasurementConsent() |
addSessionCallbackParams (非推奨) |
addSessionCallbackParams() |
removeSessionCallbackParams (非推奨) |
removeSessionCallbackParams() |
resetSessionCallbackParams (非推奨) |
resetSessionCallbackParams() |
addSessionPartnerParams (非推奨) |
addSessionPartnerParams() |
removeSessionPartnerParams (非推奨) |
removeSessionPartnerParams() |
resetSessionPartnerParams (非推奨) |
resetSessionPartnerParams() |
addGlobalCallbackParams |
addGlobalCallbackParams() |
removeGlobalCallbackParams |
removeGlobalCallbackParams() |
resetGlobalCallbackParams |
resetGlobalCallbackParams() |
addGlobalPartnerParams |
addGlobalPartnerParams() |
removeGlobalPartnerParams |
removeGlobalPartnerParams() |
resetGlobalPartnerParams |
resetGlobalPartnerParams() |
これはiOSの一部としてのみサポートされており、AppTrackingTransparency.framework
に含まれています。Adjust iOS SKAdNetwork統合ガイドで詳細を学びましょう。
SDKセットアップ
初期化
Adjust SDKは起動時に自動的に初期化されます。Adjust APIキーはタグ構成で構成されます。
リモートコマンド | Adjustメソッド |
---|---|
initialize |
initialize() |
Adjust Developer Guide: Initial SDK Setup
Adjust Remote Commandタグにはいくつかの構成オプションがあります。以下のいずれかが起動時に構成されている場合、それらはinitialize()
メソッド中に送信されます。
構成オプション
名前 | 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 |
eventDeduplicationIdsMaxSize |
deduplication_id_max_size |
Int |
urlStrategy |
url_strategy |
String |
domains |
url_strategy_domains |
[String] |
useSubdomains |
url_strategy_use_subdomains |
Bool |
isResidency |
url_strategy_is_residency |
Bool |
url_strategy
はv4 url戦略のいずれかでなければならず、あるいは、将来追加される別の戦略を作成するために、domains/useSubdomains/isResidencyの3つのパラメータすべてを提供することもできます。
iOSとAndroidのみ
イベントの追跡
リモートコマンド | Adjustメソッド |
---|---|
sendevent |
trackEvent() |
パラメータ | タイプ |
---|---|
event_token (必須) |
String |
order_id |
String |
deduplication_id |
String |
revenue |
Double |
currency |
String |
callback |
Dictionary または Map |
partner |
Dictionary または Map |
callback_id |
String |
Adjust開発者ガイド: イベントの追跡
サブスクリプションの追跡
リモートコマンド | Adjustメソッド |
---|---|
tracksubscription |
trackAppStoreSubscription() |
パラメータ | タイプ |
---|---|
revenue (必須) |
Double |
currency (必須) |
String |
order_id (必須) |
String |
deduplication_id |
String |
receipt (非推奨) |
Data |
sku (Androidのみ必須) |
String |
signature (Androidのみ必須) |
String |
purchase_token (Androidのみ必須) |
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 (必須) |
Int |
coarse_value |
low , medium , high |
lock_window |
Bool |
Adjust APIリファレンス: SKAdNetworkコンバージョン値の更新
アプリが開く
リモートコマンド | Adjustメソッド |
---|---|
appwillopen |
appWillOpen() |
パラメータ | タイプ |
---|---|
deeplink_open_url (必須) |
String |
ADjust APIリファレンス: ディープリンク経由の再アトリビューション
広告収益の追跡
リモートコマンド | Adjustメソッド |
---|---|
trackadrevenue |
trackAdRevenue() |
パラメータ | タイプ |
---|---|
ad_revenue_source (必須) |
String |
ad_revenue_payload |
Dictionary または Map |
ペイロードは以下のパラメータで構成されます:
パラメータ | タイプ |
---|---|
unit |
String |
network |
String |
amount |
Double |
currency |
String |
placement |
String |
impression_count |
Int32 |
callback |
Dictionary または Map |
partner |
Dictionary または Map |
Adjust APIリファレンス: 広告収益の追跡
プッシュトークンの構成
リモートコマンド | Adjustメソッド |
---|---|
setpushtoken |
setPushToken() |
パラメータ | タイプ |
---|---|
push_token (必須) |
String |
Adjust追加API: プッシュトークンの構成
オフラインモードの構成
リモートコマンド | Adjustメソッド |
---|---|
setofflinemode |
switchToOfflineMode() /switchBackToOnlineMode() |
パラメータ | タイプ |
---|---|
offline (必須) |
Bool |
Adjust追加API: オフラインモードの構成
コールバックパラメータ
Adjust追加API: コールバックパラメータ
グローバルコールバックパラメータの追加
リモートコマンド | Adjustメソッド |
---|---|
addsessioncallbackparams (非推奨) |
addGlobalCallbackParams() |
addglobalcallbackparams |
addGlobalCallbackParams() |
パラメータ | タイプ |
---|---|
session_callback (非推奨) |
Dictionary または Map |
global_callback (必須) |
Dictionary または Map |
グローバルパートナーパラメータの追加
リモートコマンド | Adjustメソッド |
---|---|
addsessionpartnerparams (非推奨) |
addGlobalPartnerParams() |
addglobalpartnerparams |
addGlobalPartnerParams() |
パラメータ | タイプ |
---|---|
session_partner (非推奨) |
Dictionary または Map |
global_partner (必須) |
Dictionary または Map |
グローバルコールバックパラメータの削除
リモートコマンド | Adjustメソッド |
---|---|
removesessioncallbackparams (非推奨) |
removeGlobalCallbackParams() |
removeglobalcallbackparams |
removeGlobalCallbackParams() |
パラメータ | タイプ |
---|---|
remove_session_callback_params (非推奨) |
[String] |
remove_global_callback_params (必須) |
[String] |
グローバルパートナーパラメータの削除
リモートコマンド | Adjustメソッド |
---|---|
removesessionpartnerparams (非推奨) |
removeGlobalPartnerParams() |
removeglobalpartnerparams |
removeGlobalPartnerParams() |
パラメータ | タイプ |
---|---|
remove_session_partner_params (非推奨) |
[String] |
remove_global_partner_params (必須) |
[String] |
セッションコールバックパラメータのリセット
リモートコマンド | Adjustメソッド |
---|---|
resetsessioncallbackparams (非推奨) |
resetGlobalCallbackParams() |
resetglobalcallbackparams |
resetGlobalCallbackParams() |
セッションパートナーパラメータのリセット
リモートコマンド | Adjustメソッド |
---|---|
resetsessionpartnerparams (非推奨) |
resetGlobalPartnerParams() |
resetglobalpartnerparams |
resetGlobalPartnerParams() |
同意オプション
Forget Me
リモートコマンド | Adjustメソッド |
---|---|
gdprforgetme |
gdprForgetMe() |
追加APIの調整:GDPR忘れられる権利 |
有効に構成
リモートコマンド | Adjustプロパティ |
---|---|
setenabled |
enable() /disable() |
パラメータ | タイプ |
---|---|
enabled (必須) |
Bool |
Adjust APIリファレンス:トラッキングの無効化
測定同意の追跡
リモートコマンド | Adjustメソッド |
---|---|
trackmeasurementconsent |
trackMeasurementConsent() |
パラメータ | タイプ |
---|---|
measurement_consent (必須) |
Bool |
Adjust追加API:同意測定
第三者共有の追跡
リモートコマンド | Adjustメソッド |
---|---|
trackthirdpartysharing |
trackThirdPartySharing() |
パラメータ | タイプ |
---|---|
enabled (必須) |
Bool |
Adjust追加API:第三者共有の有効化
最終更新日 :: 2025年January月10日