リモートコマンド:Contentsquare
AndroidおよびSwift/iOSにおけるContentsquareのTealiumリモートコマンド統合です。
要件
- これらのモバイル ライブラリのうちのいずれか:
- Tealium for Android-Kotlin (1.0.0 以降)
- Tealium for Android-Java (5.9.0 以降 (Contentsquare 1.0.0 以降用) または 5.9.0 以前 (旧バージョン用))
- Tealium for iOS-Swift
- これらのリモート コマンド統合のいずれか:
- Contentsquare Remote Command JSON File (Android-Kotlin 1.0.0 以降または iOS-Swift 2.1.0 以降が必要)
- Contentsquareリモートコマンドタグ(Tealium iQ Tag Management)
仕組み
Contentsquare 統合は、これらのアイテムを使用します:
- Contentsquare ネイティブ SDK
- Contentsquare メソッドをラップするリモート コマンド モジュール
- イベント トラッキングをネイティブ Contentsquare コールに翻訳する、JSON 構成ファイルまたは Remote Command タグのいずれか
Contentsquareリモートコマンドモジュールをアプリに追加すると、必要なContentsquareライブラリが自動的にインストールされ、ビルドされます。依存関係マネージャのインストールを使用している場合、Contentsquare SDKを個別にインストールする必要はありません。
リモート コマンド オプションは、次の 2 つがあります: A JSON 構成ファイル、または、マッピングを構成するための iQ タグ管理の使用。A JSON 構成ファイルは、リモートでホスティングするか、またはアプリ内でローカルでホスティングするかのいずれでも、ベンダー統合の推奨オプションです。iQ タグ管理を使用する場合は、ベンダー統合用のリモート コマンド タグを追加します。ベンダー統合の詳細は、こちらから参照してください。
インストール
依存関係マネージャ
次の依存関係マネージャのいずれかをインストールに使用することをお勧めします。
Tealium iOS(Objective-C)ライブラリを使用している場合は、手動インストール方法を使用してください。CocoaPodsおよびCarthageオプションは、Tealium iOS(Swift)ライブラリを使用している場合にのみ使用可能です。
CocoaPodsを使用してiOSのContentsquareリモートコマンドをインストールするには:
-
tealium-swift
とpod "CS_iOS_SDK"
がPodfileに既に存在する場合は削除します。tealium-swift
の依存関係はTealiumContentsquare
フレームワークに既に含まれています。 -
次の依存関係をPodfileに追加します。
pod "TealiumContentsquare"
TealiumContentsquare
ポッドには以下のTealiumSwift
依存関係が含まれています。
'tealium-swift/Core'
'tealium-swift/TealiumDelegate'
'tealium-swift/TealiumRemoteCommands'
'tealium-swift/TealiumTagManagement'
- モジュール
TealiumSwift
およびTealiumContentsquare
を、TealiumHelper
ファイル、Tealium
クラスにアクセスするその他のファイル、またはContentsquareリモートコマンドにインポートします。
Carthageを使用してiOSのContentsquareリモートコマンドをインストールするには:
-
tealium-swift
をCartfileから削除します。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
モジュールがインストールに含まれている必要があります。
Mavenを使用してAndroidのContentsquareリモートコマンドをインストールするには:
-
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
ファイルに次の依存関係を追加して、Contentsquare SDKとTealium-Contentsquareの両方のリモートコマンドをインポートします。
dependencies {
implementation 'com.tealium.remotecommands:contentsquare:2.0.0'
}
手動による手順(iOS)
Contentsquare リモート コマンドを手動でインストールするには、 Tealium for Swift ライブラリがインストールされている必要があります。iOSプロジェクトのContentsquareリモートコマンドをインストールするには:
-
Contentsquare SDKをまだインストールしていない場合はインストールします。
-
Tealium iOS Contentsquareリモートコマンドレポジトリをクローンして、
Sources
フォルダ内のファイルをプロジェクトにドラッグします。 -
ディスパッチャーとして
Dispatchers.RemoteCommands
を追加します -
remoteAPIEnabled
構成フラッグをtrue
に構成します
初期化
すべてのTealiumライブラリについて、初期化時にContentsquareリモートコマンドを登録します。
Android (Kotlin)
Tealium の Android (Java) ライブラリ用の JSON 構成ファイルまたはリモート コマンド タグを用いてリモート コマンドを初期化します。
以下のコードは、ローカル ファイル オプションを使用して、JSON Remote Commands 機能とともに用いるために設計されています。
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands));
var tealium = Tealium.create(TEALIUM_MAIN, config) {
// Initialize with `Application` in order to take advantage of consent management and other
// advanced features
val contentsquare = ContentsquareRemoteCommand(this);
// Or for simple tracking, you can initialize without `Application`
val contentsquare = ContentsquareRemoteCommand();
// register the command
remoteCommands?.add(contentsquare, filename = "contentsquare.json");
}
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands));
var tealium = Tealium.create(TEALIUM_MAIN, config) {
// Initialize with `Application` in order to take advantage of consent management and other
// advanced features
val contentsquare = ContentsquareRemoteCommand(this);
// Or for simple tracking, you can initialize without `Application`
val contentsquare = ContentsquareRemoteCommand();
// register the command
remoteCommands?.add(contentsquare);
}
Android (Java)
Android 向けの JSON Remote Command ファイル機能は、Kotlin SDK でのみ利用できます。
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
import com.tealium.remotecommands.contentsquare.ContentsquareRemoteCommand;
Tealium.Config config = Tealium.Config.create(application, "ACCOUNT", "PROFILE", "ENVIRONMENT");
Tealium teal = Tealium.createInstance(TEALIUM_MAIN, config);
// Initialize with `Application` in order to take advantage of consent management and other
// advanced features
ContentsquareRemoteCommand contentsquare = new ContentsquareRemoteCommand(this);
// Or for simple tracking, you can initialize without `Application`
ContentsquareRemoteCommand contentsquare = new ContentsquareRemoteCommand();
// register the command
teal.addRemoteCommand(contentsquare);
iOS (Swift)
Tealium の iOS (Swift) ライブラリ用の JSON 構成ファイルまたはリモート コマンド タグを用いてリモート コマンドを初期化します。
以下のコードは、ローカル ファイル オプションを使用して、JSON Remote Commands 機能とともに用いるために設計されています。
var tealium : Tealium?
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
dataSource: "DATASOURCE",
optionalData: nil)
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
}
let contentsquare = ContentsquareRemoteCommand(type: .local(file: "contentsquare"))
remoteCommands.add(contentsquare)
}
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
var tealium : Tealium?
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",˜˜
dataSource: "DATASOURCE",
optionalData: nil)
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
}
let contentsquare = ContentsquareRemoteCommand()
remoteCommands.add(contentsquare)
}
JSON テンプレート
JSON 構成ファイルを使用してリモート コマンドを構成しようとする場合は、まず、以下のテンプレートを参照します。テンプレートには、標準的な E コマースのインストールに用いられる共通マッピングが含まれます。必要に応じて、マッピングを編集します。
{
"config": {},
"mappings": {
"screen": "screen_name",
"dynamic_var": "dynamic_var",
"price": "purchase.price",
"currency": "purchase.currency",
"transaction_id": "purchase.transaction_id"
},
"commands": {
"screen_title": "sendscreenview",
"dynamic_var": "senddynamicvar",
"transaction": "sendtransaction",
"stop_tracking": "stoptracking",
"resume_tracking": "resumetracking",
"forget_me": "forgetme",
"opt_in": "optin",
"opt_out": "optout"
}
}
サポートされているメソッド
以下のContentsquareメソッドは、以下のTealiumコマンドを使用し、Contentsquareリモートコマンドタグのデータマッピングを使用してトリガーされます。
リモートコマンド | Contentsquareメソッド |
---|---|
sendscreenview |
send() |
sendtransaction |
send() |
senddynamicvar |
send() |
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 (required) |
String |
Contentsquare開発者ガイド:アナリティクス:ユーザーID
トランザクションのトラッキング
リモートコマンド | Contentsquareメソッド |
---|---|
sendtransaction |
send |
パラメータ | 型 |
---|---|
price (required) |
Double or Float |
currency (required) |
Int |
transaction_id (optional) |
String |
Contentsquare開発者ガイド:トランザクションのトラッキング
動的変数のトラッキング
リモートコマンド | Contentsquareメソッド |
---|---|
senddynamicvar |
send |
パラメータ | 型 |
---|---|
dynamic_var (required) |
Object |
dynamic_var
パラメータは、キーと値のペアから成る JSON オブジェクトの形式となります。キーは strings
で、値は UInt32
または strings
のいずれかになります。例: {"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メソッド |
---|---|
stoptracking |
stopTracking |
resumetracking |
resumeTracking |
Contentsquare開発者ガイド:トラッキングの停止/再開
オプトイン
リモートコマンド | Contentsquareメソッド |
---|---|
optin |
optIn |
Contentsquare開発者ガイド:オプトイン
オプトアウト
リモートコマンド | Contentsquareメソッド |
---|---|
optout |
optOut |
Contentsquare開発者ガイド:オプトアウト
ユーザー情報の削除
リモートコマンド | Contentsquareメソッド |
---|---|
forgetme |
forgetMe |
Contentsquare開発者ガイド:ユーザー情報の削除
最終更新日 :: 2024年April月30日