リモートコマンド:Contentsquare
AndroidおよびSwift/iOS用ContentsquareのTealiumリモートコマンド統合。
要件
- 以下のいずれかのモバイルライブラリ:
- Tealium for Android-Kotlin (1.0.0+)
- Tealium for Android-Java (Contentsquare 1.0.0+の場合は5.9.0+、それ以前のバージョンの場合は<5.9.0)
- Tealium for iOS-Swift
- 以下のいずれかのリモートコマンド統合:
- Contentsquare Remote Command JSON File (Android-Kotlin 1.0.0+またはiOS-Swift 2.12.0+が必要)
- Tealium iQ Tag ManagementのContentsquare Remote Commandタグ
動作原理
Contentsquare統合は3つのアイテムを使用します:
- ContentsquareネイティブSDK
- Contentsquareメソッドをラップするリモートコマンドモジュール
- イベントトラッキングをネイティブのContentsquareコールに変換するJSON構成ファイルまたはRemote Commandタグ
Contentsquareリモートコマンドモジュールをアプリに追加すると、必要なContentsquareライブラリが自動的にインストールされ、ビルドされます。依存関係マネージャーのインストールを使用している場合、Contentsquare SDKを別途インストールする必要はありません。
リモートコマンドには2つのオプションがあります:JSON構成ファイル、またはiQ Tag Managementを使用してマッピングを構成します。JSON構成ファイルは、ベンダー統合に推奨されるオプションで、アプリ内またはリモートでホストされます。iQ Tag Managementを使用する場合は、ベンダー統合のためのRemote Commandタグを追加します。ベンダー統合についての詳細はこちら。
インストール
依存関係マネージャ
- Xcodeプロジェクトで、File > Add Packages… > Add Package Dependencyを選択します。
- リポジトリURLを入力します:
https://github.com/tealium/tealium-ios-contentsquare-remote-command
。 - バージョンルールを構成します。通常は
Up to next major
が推奨されます。現在のTealiumContentSquare
バージョンがリストに表示されない場合は、Swiftパッケージキャッシュをリセットしてください。 - インストールする
TealiumContentSquare
モジュールを選択し、そのモジュールをインストールしたいアプリターゲットを選択します。
プロジェクトに複数のアプリターゲットがあり、TealiumContentSquare
モジュールを複数のアプリターゲットに追加する必要がある場合は、Frameworks, Libraries, and Embedded Contentセクションで手動で追加する必要があります。
追加のアプリターゲットにTealiumContentSquare
をインストールするには:
- Project NavigatorでXcodeプロジェクトを選択します。
- Xcodeプロジェクトで、TARGETSセクションのアプリターゲットを選択します。
- General > Frameworks, Libraries & Embedded Contentに移動し、
TealiumContentSquare
モジュールをアプリターゲットに追加します。
Tealium Swiftライブラリから追加のモジュールを追加するには、Swift Package Managerの指示に従ってください。
-
tealium-swift
とpod "CS_iOS_SDK"
がPodfileに既に存在する場合は削除します。tealium-swift
の依存関係はTealiumContentsquare
フレームワークにすでに含まれています。 -
Podfileに次の依存関係を追加します:
pod "TealiumContentsquare"
TealiumContentsquare
ポッドには次のTealiumSwift
依存関係が含まれています:'tealium-swift/Core' 'tealium-swift/RemoteCommands'
-
TealiumHelper
ファイルおよびTealium
クラスまたはContentsquare Remote Commandにアクセスする他のファイルでTealiumSwift
およびTealiumContentsquare
モジュールをインポートします。
-
Cartfileから
tealium-swift
を削除します。tealium-swift
の依存関係はTealiumContentsquare
フレームワークにすでに含まれています。 -
Cartfileに存在する場合は次の行を削除します:
github "ContentSquare/CS_iOS_SDK"
-
Cartfileに次の依存関係を追加します:
github "tealium/tealium-ios-contentsquare-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
ファイルにContentquare SDKとTealium-Contentsquareリモートコマンドの依存関係を追加します:dependencies { implementation 'com.tealium.remotecommands:contentsquare:2.3.0' }
手動インストール
Contentsquareリモートコマンドの手動インストールには、Tealium for Swiftライブラリがインストールされている必要があります。iOSプロジェクトのContentsquareリモートコマンドをインストールするには:
-
まだ行っていない場合は、Contentsquare SDKをインストールします。
-
Tealium iOS Contentsquareリモートコマンドリポジトリをクローンし、
Sources
フォルダ内のファイルをプロジェクトにドラッグします。 -
remoteAPIEnabled
構成フラグをtrue
に構成します。
Contentsquareリモートコマンドの手動インストールには、Tealium for Android (Kotlin)またはTealium for Android (Java)がインストールされている必要があります。
AndroidプロジェクトのContentsquareリモートコマンドをインストールするには:
-
プロジェクトルートの
build.gradle
ファイルにflatDir
を追加します:allprojects { repositories { mavenCentral() flatDir { dirs 'libs' } } }
-
<PROJECT_ROOT>/<MODULE>/libs
にtealium-contentsquare.aar
を追加します。 -
build.gradle
ファイルにTealiumライブラリの依存関係を追加します:dependencies { implementation(name:'tealium-contentsquare', ext:'aar') }
初期化
すべてのTealiumライブラリについて、初期化時にContentsquareのリモートコマンドを登録します。
TealiumのiOS(Swift)ライブラリ用のJSON構成ファイルまたはリモートコマンドタグでリモートコマンドを初期化します:
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 contentsquare = ContentsquareRemoteCommand()
// ローカルJSON
//let contentsquare = ContentsquareRemoteCommand(type: .local(file: "contentsquare"))
// リモートJSON
//let contentsquare = ContentsquareRemoteCommand(type: .remote(url: "https://some.domain.com/contentsquare.json"))
remoteCommands.add(contentsquare)
}
TealiumのAndroid(Kotlin)ライブラリ用のJSON構成ファイルまたはリモートコマンドタグでリモートコマンドを初期化します:
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands, Dispatchers.TagManagement));
var tealium = Tealium.create(TEALIUM_MAIN, config) {
// `Application`を使用して初期化することで、同意管理やその他の
// 高度な機能を活用できます
val contentsquare = ContentsquareRemoteCommand(this);
// シンプルなトラッキングの場合、`Application`なしで初期化することもできます
val contentsquare = ContentsquareRemoteCommand();
// コマンドを登録
// Webviewタグ
remoteCommands?.add(contentsquare);
// ローカルJSON
//remoteCommands?.add(contentsquare, filename = "contentsquare.json");
// リモートJSON
//remoteCommands?.add(contentsquare, remoteUrl = "https://some.domain.com/contentsquare.json");
TealiumのAndroid(Java)ライブラリ用のリモートコマンドタグでリモートコマンドを初期化します:
import com.tealium.remotecommands.contentsquare.ContentsquareRemoteCommand;
Tealium.Config config = Tealium.Config.create(application, "ACCOUNT", "PROFILE", "ENVIRONMENT");
Tealium teal = Tealium.createInstance(TEALIUM_MAIN, config);
// `Application`を使用して初期化することで、同意管理やその他の
// 高度な機能を活用できます
ContentsquareRemoteCommand contentsquare = new ContentsquareRemoteCommand(this);
// シンプルなトラッキングの場合、`Application`なしで初期化することもできます
ContentsquareRemoteCommand contentsquare = new ContentsquareRemoteCommand();
// コマンドを登録
teal.addRemoteCommand(contentsquare);
JSONテンプレート
リモートコマンドをJSON構成ファイルを使用して構成している場合、以下のテンプレートを参照して開始してください。このテンプレートには、標準的なeコマースインストールで使用される一般的なマッピングが含まれています。必要に応じてマッピングを編集してください。
{
"config": {},
"mappings": {
"screen": "screen_name",
"dynamic_var": "dynamic_var",
"user_id": "user_identifier",
"custom_vars": "custom_vars",
"price": "purchase.price",
"currency": "purchase.currency",
"transaction_id": "purchase.transaction_id"
},
"commands": {
"screen_title": "sendscreenview",
"dynamic_var": "senddynamicvar",
"user_identifier": "senduseridentifier",
"transaction": "sendtransaction",
"stop_tracking": "stoptracking",
"resume_tracking": "resumetracking",
"forget_me": "forgetme",
"opt_in": "optin",
"opt_out": "optout"
}
}
サポートされているメソッド
Contentsquareメソッドに対応するコマンドをマッピングします。Contentsquareメソッドをトリガーするには、指定された形式で対応するコマンドを渡します。
リモートコマンド | Contentsquareメソッド |
---|---|
sendscreenview |
send() |
sendtransaction |
send() |
senddynamicvar |
send() |
senduseridentifier |
sendUserIdentifier() |
stoptracking |
stopTracking() |
resumetracking |
resumeTracking() |
forgetme |
forgetMe() |
optin |
optIn() |
optout |
optOut() |
Contentsquare SDKはTealium SDKと並行してインストールされているため、対応するタグ構成を与えることで、任意のネイティブContentsquare機能をトリガーできます。
SDKセットアップ
初期化
Contentsquare SDKは起動時に自動的に初期化されます。
Contentsquare開発者ガイド:初期SDKセットアップ
画面のトラッキング
リモートコマンド | Contentsquareメソッド |
---|---|
sendscreenview |
send |
パラメーター | タイプ |
---|---|
screen_name (必須) |
String |
custom_vars (オプション) |
Array |
カスタム変数の形式: 各カスタム変数オブジェクトには以下が含まれる必要があります:
index
(必須):Int
- カスタム変数のインデックスname
(必須):String
- カスタム変数の名前value
(必須):String
- カスタム変数の値
Contentsquare開発者ガイド:アナリティクスユーザーID
トランザクションのトラッキング
リモートコマンド | Contentsquareメソッド |
---|---|
sendtransaction |
send |
パラメーター | タイプ |
---|---|
price (必須) |
Double or Float |
currency (必須) |
String |
transaction_id (オプション) |
String |
Contentsquare開発者ガイド:トランザクションのトラッキング
動的変数のトラッキング
リモートコマンド | Contentsquareメソッド |
---|---|
senddynamicvar |
send |
パラメーター | タイプ |
---|---|
dynamic_var (必須) |
Object |
dynamic_var
パラメーターは、キーがstrings
で値がUInt32
またはstrings
のキーバリューペアのJSONオブジェクトを取ります。例:{"my_dynamic_string_var_name": "some string value"}
, {"my_dynamic_int_var_name": 123}
, {"my_dynamic_string_var_name": "some string value," "my_dynamic_int_var_name": 123}
。
Contentsquare開発者ガイド:動的変数のトラッキング
ユーザー識別子のトラッキング
リモートコマンド | Contentsquareメソッド |
---|---|
senduseridentifier |
sendUserIdentifier |
パラメーター | タイプ |
---|---|
user_identifier (必須) |
String |
Contentsquare開発者ガイド:ユーザー識別子のトラッキング
同意オプション
トラッキングの停止/再開
リモートコマンド | Contentsquare メソッド |
---|---|
stoptracking |
stopTracking |
resumetracking |
resumeTracking |
Contentsquare 開発者ガイド: トラッキングの停止/再開
オプトイン
リモートコマンド | Contentsquare メソッド |
---|---|
optin |
optIn |
Contentsquare 開発者ガイド: オプトイン
オプトアウト
リモートコマンド | Contentsquare メソッド |
---|---|
optout |
optOut |
Contentsquare 開発者ガイド: オプトアウト
私を忘れてください
リモートコマンド | Contentsquare メソッド |
---|---|
forgetme |
forgetMe |
Contentsquare 開発者ガイド: 私を忘れてください
最終更新日 :: 2025年June月25日