リモートコマンド:Usabilla
AndroidおよびSwift/iOSのUsabillaに対するTealiumリモートコマンド統合。
要件
- UsabillaのアプリIDとフォームID
- 以下のいずれかのモバイルライブラリ:
- Tealium for Android-Kotlin (1.0.0+)
- Tealium for Android-Java (Usabilla 1.0.0+の場合は5.9.0+、それ以前のバージョンの場合は<5.9.0)
- Tealium for iOS-Swift
- 以下のいずれかのリモートコマンド統合:
- Usabilla Remote Command JSON File (Android-Kotlin 1.0.0+またはiOS-Swift 2.1.0+が必要)
- Tealium iQ Tag ManagementのUsabilla Remote Commandタグ
動作原理
Usabilla統合は3つのアイテムを使用します:
- UsabillaネイティブSDK
- Usabillaメソッドをラップするリモートコマンドモジュール
- イベントトラッキングをネイティブのUsabillaコールに変換するJSON構成ファイルまたはRemote Commandタグ
アプリにUsabillaリモートコマンドモジュールを追加すると、必要なUsabillaライブラリが自動的にインストールされビルドされます。依存関係マネージャーのインストールを使用している場合、Usabilla 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-usabilla-remote-command。 - バージョンルールを構成します。通常は
Up to next majorが推奨されます。現在のTealiumUsabillaバージョンがリストに表示されない場合は、Swiftパッケージキャッシュをリセットしてください。 - インストールする
TealiumUsabillaモジュールを選択し、そのモジュールをインストールするアプリターゲットを選択します。
プロジェクトに複数のアプリターゲットがあり、TealiumUsabillaモジュールを複数のアプリターゲットに追加する必要がある場合は、Frameworks, Libraries, and Embedded Contentセクションで手動で追加する必要があります。
TealiumUsabillaを追加のアプリターゲットにインストールするには:
- Project NavigatorでXcodeプロジェクトを選択します。
- Xcodeプロジェクトで、TARGETSセクションの下にあるアプリターゲットを選択します。
- General > Frameworks, Libraries & Embedded Contentに移動し、
TealiumUsabillaモジュールをアプリターゲットに追加します。
Tealium Swiftライブラリから追加のモジュールを追加するには、Swift Package Managerの指示に従ってください。
-
Podfileから
tealium-swiftとpod "Usabilla"を削除します。tealium-swiftの依存関係はすでにTealiumUsabillaフレームワークに含まれています。 -
Podfileに次の依存関係を追加します:
pod "TealiumUsabilla"TealiumUsabillaポッドには次のTealiumSwift依存関係が含まれています:'tealium-swift/Core' 'tealium-swift/TealiumDelegate' 'tealium-swift/RemoteCommands' 'tealium-swift/TagManagement' -
TealiumHelperファイルおよびTealiumクラスまたはUsabillaリモートコマンドにアクセスする他のファイルでTealiumSwiftおよびTealiumUsabillaモジュールをインポートします。
-
Cartfileから
tealium-swiftを削除します。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モジュールが含まれている必要があります。
-
まだ行っていない場合は、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ファイルに次の依存関係を追加して、Tealium-Usabillaリモートコマンドをインポートします:dependencies { implementation 'com.tealium.remotecommands:usabilla:1.0.0' }
手動インストール
Usabillaリモートコマンドの手動インストールには、Tealium for Swiftライブラリがインストールされている必要があります。iOSプロジェクトのUsabillaリモートコマンドをインストールするには:
-
まだ行っていない場合は、Usabilla SDKをインストールします。
-
Tealium iOS Usabillaリモートコマンドリポジトリをクローンし、
Sourcesフォルダ内のファイルをプロジェクトにドラッグします。 -
remoteAPIEnabled構成フラグをtrueに構成します。
Usabillaリモートコマンドの手動インストールには、Tealium for Android (Kotlin)またはTealium for Android (Java)がインストールされている必要があります。
AndroidプロジェクトのBranchリモートコマンドをインストールするには:
-
プロジェクトルートの
build.gradleファイルにflatDirを追加します:allprojects { repositories { mavenCentral() flatDir { dirs 'libs' } } } -
<PROJECT_ROOT>/<MODULE>/libsにtealium-usabilla.aarを追加します。 -
build.gradleファイルにTealiumライブラリの依存関係を追加します:dependencies { implementation(name:'tealium-usabilla', ext:'aar') }
初期化
すべてのTealiumライブラリにおいて、初期化時にUsabillaリモートコマンドを登録する必要があります。
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 usabilla = UsabillaRemoteCommand()
// ローカルJSON
//let usabilla = UsabillaRemoteCommand(type: .local(file: "usabilla"))
// リモートJSON
//let usabilla = UsabillaRemoteCommand(type: .remote(url: "https://some.domain.com/usabilla.json"))
remoteCommands.add(usabilla)
}
TealiumのAndroid(Kotlin)ライブラリ用にJSON構成ファイルまたはリモートコマンドタグでリモートコマンドを初期化します:
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands, Dispatchers.TagManagement));
val usabilla = UsabillaRemoteCommand(TEALIUM_MAIN, config);
var tealium = Tealium.create(TEALIUM_MAIN, config) {
// Webviewタグ
remoteCommands?.add(usabilla);
// ローカルJSON
//remoteCommands?.add(usabilla, filename = "usabilla.json");
// リモートJSON
//remoteCommands?.add(usabilla, remoteUrl = "https://some.domain.com/usabilla.json");
}
Usabilla SDKのための追加(オプショナル)初期化パラメータが利用可能です:
usabillaHttpClient = null
HttpClientオブジェクトをオーバーライドし、SDKによって実行されるすべての接続を処理するカスタムクライアントを注入する可能性を提供します。カスタムHTTPクライアントについてもっと学びましょう。usabillaReadyCallback = null
UsabillaReadyCallbackオブジェクトをオーバーライドし、初期化プロセスが終了したときに通信するコールバックです。autoFragmentManager = false
パッシブフィードバックを無効にします(デフォルトでは有効)。パッシブフィードバックは、AndroidのFragmentManagerを最新の状態に保ち、android.app.Application.ActivityLifecycleCallbacksを使用して監視する必要があります。autoFeedbackHandler = false
パッシブおよびキャンペーンフィードバックフォームのイベントトラッキングの処理を無効にし、送信または却下されたフォームを自動的に削除する機能を無効にします(デフォルトでは有効)。二つのandroid.content.BroadcastReceiverが登録され、パッシブおよびキャンペーンフィードバックフォームのクロージャを処理するUsabillaイベントをリッスンします。
オプショナルパラメータの使用例を以下に示します:
val usabilla = UsabillaRemoteCommand(TEALIUM_MAIN, config,
usabillaHttpClient = null,
usabillaReadyCallback = null,
autoFragmentManager = false,
autoFeedbackHandler = false);
AndroidのJSONリモートコマンドファイル機能はKotlin SDKでのみ利用可能です。TealiumのAndroid(Java)ライブラリ用にリモートコマンドタグを初期化します:
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 = null
HttpClientオブジェクトをオーバーライドし、SDKによって実行されるすべての接続を処理するカスタムクライアントを注入する可能性を提供します。カスタムHTTPクライアントについてもっと学びましょう。usabillaReadyCallback = null
UsabillaReadyCallbackオブジェクトをオーバーライドし、初期化プロセスが終了したときに通信するコールバックです。autoFragmentManager = false
パッシブフィードバックを無効にします(デフォルトでは有効)。パッシブフィードバックは、AndroidのFragmentManagerを最新の状態に保ち、android.app.Application.ActivityLifecycleCallbacksを使用して監視する必要があります。autoFeedbackHandler = false
パッシブおよびキャンペーンフィードバックフォームのイベントトラッキングの処理を無効にし、送信または却下されたフォームを自動的に削除する機能を無効にします(デフォルトでは有効)。二つのandroid.content.BroadcastReceiverが登録され、パッシブおよびキャンペーンフィードバックフォームのクロージャを処理するUsabillaイベントをリッスンします。
オプショナルパラメータの使用例を以下に示します:
RemoteCommand usabilla = new UsabillaRemoteCommand(TEALIUM_MAIN, config,
usabillaHttpClient = null,
usabillaReadyCallback = null,
autoFragmentManager = false,
autoFeedbackHandler = false);
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の各メソッドまたはプロパティにコマンドをマッピングします。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 開発者ガイド: SDKの初期構成
デバッグ
| リモートコマンド | Usabilla プロパティ |
|---|---|
debugenabled |
debugEnabled |
| パラメータ | タイプ |
|---|---|
debugEnabled (必須) |
Bool |
Usabilla 開発者ガイド: SDKの初期構成
キャンペーンの切り替え
| リモートコマンド | Usabilla プロパティ |
|---|---|
displaycampaigns |
canDisplayCampaigns |
| パラメータ | タイプ |
|---|---|
canDisplayCampaigns (必須) |
Bool |
Usabilla 開発者ガイド: キャンペーンの切り替え
Androidではキャンペーンの切り替えは利用できません
ターゲティングオプション
イベント送信
| リモートコマンド | Usabilla メソッド |
|---|---|
sendevent |
sendEvent() |
| パラメータ | タイプ |
|---|---|
event (必須) |
String |
Usabilla 開発者ガイド: ターゲティングオプション
カスタム変数の構成
| リモートコマンド | Usabilla プロパティ |
|---|---|
setcustomvariable |
customVariables |
| パラメータ | タイプ |
|---|---|
custom.### (必須) |
String |
Usabilla 開発者ガイド: カスタム変数の構成
フォーム
フィードバックフォームの読み込み
| リモートコマンド | Usabilla メソッド |
|---|---|
loadfeedbackform |
loadFeedbackForm |
| パラメータ | タイプ | 例 |
|---|---|---|
formId (必須) |
String | |
fragmentId (Androidのみ) |
Integer | R.id.activity_main |
Usabilla 開発者ガイド: フィードバックフォームの読み込み
フィードバックフォームの事前読み込み
| リモートコマンド | Usabilla メソッド |
|---|---|
preloadfeedbackforms |
preloadFeedbackForms |
| パラメータ | タイプ |
|---|---|
formIds (必須) |
[String] |
Usabilla 開発者ガイド: フィードバックフォームの事前読み込み
キャッシュされたフォームの削除
| リモートコマンド | Usabilla メソッド |
|---|---|
removecachedforms |
removeCachedForms |
Usabilla 開発者ガイド: キャッシュされたフォームの削除
自動的に閉じる
| リモートコマンド | Usabilla プロパティ |
|---|---|
dismissautomatically |
dismissAutomatically |
| パラメータ | タイプ |
|---|---|
dismissAutomatically (必須) |
Bool |
Usabilla 開発者ガイド: 手動で閉じる処理
リセット
| リモートコマンド | Usabilla プロパティ |
|---|---|
resetcampaigndata |
resetCampaignData |
Usabilla 開発者ガイド: すべてのキャンペーンのリセット
最終更新日 :: 2026年April月16日