リモートコマンド:Usabilla
AndroidおよびSwift/iOSにおけるUsabillaのTealiumリモートコマンド統合です。
要件
- Usabilla アプリ ID および フォーム ID
- これらのモバイル ライブラリのうちのいずれか:
- Tealium for Android-Kotlin (1.0.0 以降)
- Tealium for Android-Java (5.9.0 以降 (Usabilla 1.0.0 以降用) または 5.9.0 以前 (旧バージョン用))
- Tealium for iOS-Swift
- これらのリモート コマンド統合のいずれか:
- Usabilla Remote Command JSON File (Android-Kotlin 1.0.0 以降または iOS-Swift 2.1.0 以降が必要)
- Usabillaリモートコマンドタグ(Tealium iQ Tag Management)
仕組み
Usabilla 統合は、これらのアイテムを使用します:
- Usabilla ネイティブ SDK
- Usabilla メソッドをラップするリモート コマンド モジュール
- イベント トラッキングをネイティブ Usabilla コールに翻訳する、JSON 構成ファイルまたは Remote Command タグのいずれか
Usabillaリモートコマンドモジュールをアプリに追加すると、必要なUsabillaライブラリが自動的にインストールされ、ビルドされます。依存関係マネージャのインストールを使用している場合、Usabilla SDKを個別にインストールする必要はありません。
リモート コマンド オプションは、次の 2 つがあります: A JSON 構成ファイル、または、マッピングを構成するための iQ タグ管理の使用。A JSON 構成ファイルは、リモートでホスティングするか、またはアプリ内でローカルでホスティングするかのいずれでも、ベンダー統合の推奨オプションです。iQ タグ管理を使用する場合は、ベンダー統合用のリモート コマンド タグを追加します。ベンダー統合の詳細は、こちらから参照してください。
インストール
依存関係マネージャ
次の依存関係マネージャのいずれかをインストールに使用することをお勧めします。
Tealium iOS(Objective-C)ライブラリを使用している場合は、手動インストール方法を使用してください。CocoaPodsおよびCarthageオプションは、Tealium iOS(Swift)ライブラリを使用している場合にのみ使用可能です。
Swift Package Manager を使用して iOS の Facebook リモート コマンドをインストールするには:
- Xcode プロジェクトで、次のように選択します: [File] > [Add Package…]> [Add Package Dependency]。
- レポジトリの URL として「https://github.com/tealium/tealium-ios-usabilla-remote-command」と入力します。
- バージョンルールを構成します。通常は
Up to next majorが推奨されます。現在のTealiumUsabillaバージョンがリストに表示されない場合は、Swift パッケージ キャッシュをリセットします。 - インストールする
TealiumUsabillaモジュールを選択し、モジュールをインストールするアプリ ターゲットを選択します。
プロジェクトにアプリ ターゲットが複数あり、複数のアプリ ターゲットで TealiumUsabilla モジュールが必要な場合は、 [Frameworks, Libraries, and Embedded Content] (フレームワーク、ライブラリ、埋め込みコンテンツ) セクションにそれらを手動で追加する必要があります。
追加のアプリ ターゲットに TealiumUsabilla をインストールするには:
- プロジェクト ナビゲーターで Xcode プロジェクトを選択します。
- Xcode プロジェクトにおいて、 [TARGETS] (ターゲット) セクションでアプリ ターゲットを選択します。
- [General] > [Frameworks, Libraries & Embedded Content] に進み、
TealiumUsabillaモジュールを選択して、アプリ ターゲットに追加します。
Tealium Swift ライブラリからの追加のモジュールを追加するは、 Swift Package Manager の手順に従います。
CocoaPodsを使用してiOSのUsabillaリモートコマンドをインストールするには:
-
tealium-swiftとpod "Usabilla"がPodfileに既に存在する場合は削除します。tealium-swiftの依存関係はTealiumUsabillaフレームワークに既に含まれています。 -
次の依存関係をPodfileに追加します。
pod "TealiumUsabilla"
TealiumUsabillaポッドには以下のTealiumSwift依存関係が含まれています。
'tealium-swift/Core'
'tealium-swift/TealiumDelegate'
'tealium-swift/TealiumRemoteCommands'
'tealium-swift/TealiumTagManagement'
- モジュール
TealiumSwiftおよびTealiumUsabillaを、TealiumHelperファイル、Tealiumクラスにアクセスするその他のファイル、またはUsabillaリモートコマンドにインポートします。
Carthageを使用してiOSのUsabillaリモートコマンドをインストールするには:
-
tealium-swiftをCartfileから削除します。tealium-swiftの依存関係はTealiumUsabillaフレームワークに既に含まれています。 -
以下の行がCartfileに存在する場合は、その行を削除します。
github "usabilla/usabilla-u4a-ios-swift-sdk"
- 次の依存関係をCartfileに追加します。
github "tealium/tealium-ios-usabilla-remote-command"
Tealium for Swift SDK(バージョン1.6.5以降)では、TealiumDelegateモジュールがインストールに含まれている必要があります。
Mavenを使用してAndroidのUsabillaリモートコマンドをインストールするには:
-
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ファイルに次の依存関係を追加して、Tealium-Usabillaリモートコマンドをインポートします。
dependencies {
implementation 'com.tealium.remotecommands:usabilla:1.0.0'
}
手動による手順(iOS)
Usabilla リモート コマンドを手動でインストールするには、 Tealium for Swift ライブラリがインストールされている必要があります。iOSプロジェクトのUsabillaリモートコマンドをインストールするには:
-
Usabilla SDKをまだインストールしていない場合はインストールします。
-
Tealium iOS Usabillaリモートコマンドレポジトリをクローンして、
Sourcesフォルダ内のファイルをプロジェクトにドラッグします。 -
ディスパッチャーとして
Dispatchers.RemoteCommandsを追加します -
remoteAPIEnabled構成フラッグをtrueに構成します
初期化
すべてのTealiumライブラリでは、初期化時にUsabillaリモートコマンドを登録する必要があります。
Android (Kotlin)
Tealium の Android (Kotlin) ライブラリ用の JSON 構成ファイルまたはリモート コマンド タグを用いてリモート コマンドを初期化します。
以下のコードは、ローカル ファイル オプションを使用して、JSON Remote Commands 機能とともに用いるために設計されています。
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands));
val usabilla = UsabillaRemoteCommand(TEALIUM_MAIN, config);
var tealium = Tealium.create(TEALIUM_MAIN, config) {
remoteCommands?.add(usabilla, filename = "usabilla.json");
}
Usabilla SDKで使用可能な追加(オプション)の初期化パラメータは次のとおりです。
usabillaHttpClient = nullHttpClientオブジェクトをオーバーライドします。これにより、SDKによって実行されるすべての接続を処理するカスタムクライアントを挿入できます。カスタムHTTPクライアントの詳細については、こちらを参照してください。usabillaReadyCallback = null初期化プロセスが終了したときの通信に使用されるコールバックである、UsabillaReadyCallbackオブジェクトをオーバーライドします。autoFragmentManager = falseパッシブフィードバック(デフォルトで有効)を無効にします。パッシブフィードバックを実行するには、AndroidのFragmentManagerを最新の状態に保ち、android.app.Application.ActivityLifecycleCallbacksを使用して監視する必要があります。autoFeedbackHandler = falseパッシブおよびキャンペーンフィードバックフォームと、送信または却下された自動削除フォームのイベントトラッキングの処理を無効にします(デフォルトで有効)。2つのandroid.content.BroadcastReceiverが登録され、パッシブおよびキャンペーンの両方のフィードバックフォームクロージャを処理するUsabillaイベントを待ち受けます。
次の例は、オプションのパラメータの使用方法を示しています。
val usabilla = UsabillaRemoteCommand(TEALIUM_MAIN, config,
usabillaHttpClient = null,
usabillaReadyCallback = null,
autoFragmentManager = false,
autoFeedbackHandler = false);
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands));
val usabilla = UsabillaRemoteCommand(TEALIUM_MAIN, config);
var tealium = Tealium.create(TEALIUM_MAIN, config) {
remoteCommands?.add(usabilla);
}
Usabilla SDKで使用可能な追加(オプション)の初期化パラメータは次のとおりです。
usabillaHttpClient = nullHttpClientオブジェクトをオーバーライドします。これにより、SDKによって実行されるすべての接続を処理するカスタムクライアントを挿入できます。カスタムHTTPクライアントの詳細については、こちらを参照してください。usabillaReadyCallback = null初期化プロセスが終了したときの通信に使用されるコールバックである、UsabillaReadyCallbackオブジェクトをオーバーライドします。autoFragmentManager = falseパッシブフィードバック(デフォルトで有効)を無効にします。パッシブフィードバックを実行するには、AndroidのFragmentManagerを最新の状態に保ち、android.app.Application.ActivityLifecycleCallbacksを使用して監視する必要があります。autoFeedbackHandler = falseパッシブおよびキャンペーンフィードバックフォームと、送信または却下された自動削除フォームのイベントトラッキングの処理を無効にします(デフォルトで有効)。2つのandroid.content.BroadcastReceiverが登録され、パッシブおよびキャンペーンの両方のフィードバックフォームクロージャを処理するUsabillaイベントを待ち受けます。
次の例は、オプションのパラメータの使用方法を示しています。
val usabilla = UsabillaRemoteCommand(TEALIUM_MAIN, config,
usabillaHttpClient = null,
usabillaReadyCallback = null,
autoFragmentManager = false,
autoFeedbackHandler = false);
Android (Java)
Tealium の Android (Java) ライブラリ用の JSON 構成ファイルまたはリモート コマンド タグを用いてリモート コマンドを初期化します。
Android 向けの JSON Remote Command ファイル機能は、Kotlin SDK でのみ利用できます。
以下のコードは、Remote Command タグ機能とともに用いるために設計されています。
Tealium.Config config = Tealium.Config.create(application, "ACCOUNT", "PROFILE", "ENVIRONMENT");
Tealium teal = Tealium.createInstance(TEALIUM_MAIN, config);
RemoteCommand usabilla = new UsabillaRemoteCommand(TEALIUM_MAIN, config);
teal.addRemoteCommand(usabilla);
Usabilla SDKで使用可能な追加(オプション)の初期化パラメータは次のとおりです。
usabillaHttpClient = nullHttpClientオブジェクトをオーバーライドします。これにより、SDKによって実行されるすべての接続を処理するカスタムクライアントを挿入できます。カスタムHTTPクライアントの詳細については、こちらを参照してください。usabillaReadyCallback = null初期化プロセスが終了したときの通信に使用されるコールバックである、UsabillaReadyCallbackオブジェクトをオーバーライドします。autoFragmentManager = falseパッシブフィードバック(デフォルトで有効)を無効にします。パッシブフィードバックを実行するには、AndroidのFragmentManagerを最新の状態に保ち、android.app.Application.ActivityLifecycleCallbacksを使用して監視する必要があります。autoFeedbackHandler = falseパッシブおよびキャンペーンフィードバックフォームと、送信または却下された自動削除フォームのイベントトラッキングの処理を無効にします(デフォルトで有効)。2つのandroid.content.BroadcastReceiverが登録され、パッシブおよびキャンペーンの両方のフィードバックフォームクロージャを処理するUsabillaイベントを待ち受けます。
次の例は、オプションのパラメータの使用方法を示しています。
RemoteCommand usabilla = new UsabillaRemoteCommand(TEALIUM_MAIN, config,
usabillaHttpClient = null,
usabillaReadyCallback = null,
autoFragmentManager = false,
autoFeedbackHandler = false);
iOS (Swift)
Tealium の Android (Java) ライブラリ用の JSON 構成ファイルまたはリモート コマンド タグを用いてリモート コマンドを初期化します。
以下のコードは、ローカル ファイル オプションを使用して、JSON Remote Commands 機能とともに用いるために設計されています。
var tealium : Tealium?
let config = TealiumConfig(account: "ACCOUNT",
profile: "PROFILE",
environment: "ENVIRONMENT",
dataSource: "DATASOURCE")
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 usabilla = UsabillaRemoteCommand(type: .local(file: "usabilla"))
remoteCommands.add(usabilla)
}
以下のコードは、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 // Required to use Remote Commands
tealium = Tealium(config: config) { _ in
guard let remoteCommands = self.tealium?.remoteCommands else {
return
}
let usabilla = UsabillaRemoteCommand()
remoteCommands.add(usabilla)
}
JSON テンプレート
JSON 構成ファイルを使用してリモート コマンドを構成しようとする場合は、まず、以下のテンプレートを参照します。テンプレートには、標準的な E コマースのインストールに用いられる共通マッピングが含まれます。必要に応じて、マッピングを編集します。
{
"config": {
"appId": "YOUR_APP_ID",
"debugEnabled": true
},
"mappings": {
"event_name": "event",
"display_campaigns": "canDisplayCampaigns",
"dismiss_automatically": "dismissAutomatically",
"form_id": "formId",
"form_ids": "formIds",
"customer_first_name": "custom.customer_first_name"
},
"commands": {
"launch": "initialize",
"display_campaigns": "candisplaycampaigns",
"dismiss": "dismissautomatically",
"button_click": "sendevent",
"load_form": "loadfeedbackform",
"set_variables": "setcustomvariable",
"reset": "resetcampaigndata"
}
}
トラッキング
イベントは、読み込みが成功および失敗したフォームに加え、パッシブフィードバックフォームとキャンペーンフィードバックフォームの両方について自動的に追跡されます。
サポートされているメソッド
Usabillaメソッドまたはプロパティは、以下のTealiumコマンドを使用することによって、Usabillaリモートコマンドタグのデータマッピングを使用してトリガーされます。
| リモートコマンド | Usabillaメソッド/プロパティ |
|---|---|
initialize |
initialize() |
sendevent |
sendEvent() |
debugenabled |
debugEnabled |
displaycampaigns |
canDisplayCampaigns |
loadfeedbackform |
loadFeedbackForm() |
preloadfeedbackforms |
preloadFeedbackForms() |
removecachedforms |
removeCachedForms() |
dismissautomatically |
dismissAutomatically |
setcustomvariable |
customVariables |
resetcampaigndata |
resetCampaignData() |
Usabilla SDKはTealium SDKと統合されているので、対応するタグ構成があれば任意のネイティブUsabilla機能をトリガーできます。
SDKのセットアップ
初期化
Usabilla SDKは起動時に自動的に初期化されます。Usabilla APIキーはタグ構成で構成されます。
| リモートコマンド | Usabillaメソッド |
|---|---|
initialize |
initialize() |
Usabilla Developer Guide:SDKの初期セットアップ
デバッグ
| リモートコマンド | Usabillaプロパティ |
|---|---|
debugenabled |
debugEnabled |
| パラメータ | 型 |
|---|---|
debugEnabled (required) |
ブーリアン |
Usabilla Developer Guide:SDKの初期セットアップ
キャンペーン切り替え
| リモートコマンド | Usabillaプロパティ |
|---|---|
displaycampaigns |
canDisplayCampaigns |
| パラメータ | 型 |
|---|---|
canDisplayCampaigns (required) |
ブーリアン |
Usabilla Developer Guide:キャンペーン切り替え
キャンペーン切り替えはAndroidでは使用できません
ターゲット構成オプション
イベントの送信
| リモートコマンド | Usabillaメソッド |
|---|---|
sendevent |
sendEvent() |
| パラメータ | 型 |
|---|---|
event (required) |
文字列 |
Usabilla Developer Guide:ターゲット構成オプション
カスタム変数の構成
| リモートコマンド | Usabillaプロパティ |
|---|---|
setcustomvariable |
customVariables |
| パラメータ | 型 |
|---|---|
custom.###(必須) |
文字列 |
Usabilla Developer Guide:カスタム変数の構成
フォーム
フィードバックフォームの読み込み
| リモートコマンド | Usabillaメソッド |
|---|---|
loadfeedbackform |
loadFeedbackForm |
| パラメータ | 型 | 例 |
|---|---|---|
formId (required) |
文字列 | |
fragmentId (Android only) |
整数 | R.id.activity_main |
Usabilla Developer Guide:フィードバックフォームの読み込み
フィードバックフォームの事前読み込み
| リモートコマンド | Usabillaメソッド |
|---|---|
preloadfeedbackforms |
preloadFeedbackForms |
| パラメータ | 型 |
|---|---|
formIds (required) |
[文字列] |
Usabilla Developer Guide:フィードバックフォームの事前読み込み
キャッシュされたフォームの削除
| リモートコマンド | Usabillaメソッド |
|---|---|
removecachedforms |
removeCachedForms |
Usabilla Developer Guide:キャッシュされたフォームの削除
自動的に却下
| リモートコマンド | Usabillaプロパティ |
|---|---|
dismissautomatically |
dismissAutomatically |
| パラメータ | 型 |
|---|---|
dismissAutomatically (required) |
ブーリアン |
Usabilla Developer Guide:手動による却下
リセット
| リモートコマンド | Usabillaプロパティ |
|---|---|
resetcampaigndata |
resetCampaignData |
Usabilla Developer Guide:すべてのキャンペーンのリセット
最終更新日 :: 2024年March月29日