リモートコマンド:Firebase
AndroidおよびSwift/iOS用Firebaseに対するTealiumリモートコマンド統合
要件
- 以下のいずれかのライブラリ:
- Tealium for Android-Kotlin(1.0.0以降)
- Tealium for Android-Java(Firebase 2.0.0+の場合は5.9.0以降、それ以前のバージョンの場合は5.9.0以前)
- Tealium for iOS-Swift
- 以下のいずれかのリモートコマンド統合:
- FirebaseリモートコマンドJSONファイル(Android-Kotlin 1.0.0以降またはiOS-Swift 2.1.0以降が必要)
- Tealium iQタグ管理のFirebaseリモートコマンドタグ
動作原理
Firebase統合は3つの要素を使用します:
- FirebaseネイティブSDK
- Firebaseメソッドをラップするリモートコマンドモジュール
- イベントトラッキングをネイティブFirebaseコールに変換するJSON構成ファイルまたはリモートコマンドタグ
Firebaseリモートコマンドモジュールをアプリに追加すると、アプリにベンダー固有のコードを追加することなく、必要なFirebaseライブラリが自動的にインストールされてビルドされます。依存関係マネージャーのインストールを使用している場合、Firebase SDKを別途インストールする必要はありません。
リモートコマンドオプションには2つあります:JSON構成ファイル、またはiQタグ管理を使用してマッピングを構成します。JSON構成ファイルは、ベンダー統合のためにリモートまたはアプリ内にローカルでホストされることを推奨されるオプションです。iQタグ管理を使用している場合は、ベンダー統合のリモートコマンドタグを追加します。ベンダー統合についての詳細はこちら。
インストール
依存関係マネージャ
Cartfileから
tealium-swiftを削除します。TealiumFirebaseフレームワークにはtealium-swiftの依存関係がすでに含まれています。Cartfileに以下の行が存在する場合は削除します:
binary "https://dl.google.com/dl/firebase/ios/carthage/FirebaseAnalyticsBinary.json"Cartfileに以下の依存関係を追加します:
github "tealium/tealium-ios-firebase-remote-command"
FirebaseはCarthageバイナリインストールを使用しているため、Carthageの--use-xcframeworksフラグを使用してTealiumFirebaseモジュールをxcframeworkとしてビルドすることはできません。依存関係をビルドするためにCarthage公式のXcode 12ワークアラウンドを使用することをお勧めします。
Podfileに以下の行が存在する場合は削除します:
pod "Firebase/Analytics"Podfileに以下の依存関係を追加します:
pod "TealiumFirebase"TealiumFirebaseポッドには以下のTealiumSwift依存関係が含まれています:'tealium-swift/Core' 'tealium-swift/RemoteCommands'TealiumHelperファイルおよびTealiumクラスまたはFirebaseリモートコマンドにアクセスするその他のファイルでTealiumSwiftおよびTealiumFirebaseモジュールをインポートします。
Cordovaアプリプロジェクトで以下のコマンドを実行して、Tealium Firebaseライブラリをインストールします:
cordova plugin add tealium-cordova-firebase-plugin
以下のコマンドを実行して、Flutter用のTealium Firebaseライブラリをインストールします:
flutter pub add tealium_firebase
import 'package:tealium_firebase/tealium_firebase.dart';
Tealium for Android (Kotlin)またはTealium for Android (Java)をインストールし、まだ行っていない場合はプロジェクトのトップレベルのbuild.gradleファイルにTealium Maven URLを追加します。
```groovy
allprojects {
repositories {
mavenCentral()
maven {
url "https://maven.tealiumiq.com/android/releases/"
}
}
}
```
build.gradleファイルに以下の依存関係を追加します:dependencies { implementation 'com.tealium.remotecommands:firebase:1.2.0' }
React Nativeプロジェクトのルートに移動します。
以下のコマンドで
tealium-react-firebaseパッケージをダウンロードしてインストールします:yarn add tealium-react-firebaseNPMパッケージのバージョン1.0.7ではReact Native Autolinkingが有効になっており、React Nativeのバージョン0.60+を使用している場合、
react-native linkを実行する必要はありません。
- XcodeプロジェクトでFile > Add Packages… > Add Package Dependencyを選択します。
- リポジトリURLを入力します:
https://github.com/tealium/tealium-ios-firebase-remote-command。 - バージョンルールを構成します。通常、
Up to next majorを推奨します。現在のTealiumFirebaseバージョンがリストに表示されない場合は、Swiftパッケージキャッシュをリセットしてください。 - インストールする
TealiumFirebaseモジュールを選択し、そのモジュールをインストールするアプリターゲットを選択します。
プロジェクトに複数のアプリターゲットがあり、複数のアプリターゲットにTealiumFirebaseモジュールが必要な場合は、Frameworks, Libraries, and Embedded Contentセクションで手動で追加する必要があります。
TealiumFirebaseを追加のアプリターゲットにインストールするには:
- Project NavigatorでXcodeプロジェクトを選択します。
- Xcodeプロジェクトで、TARGETSセクションのアプリターゲットを選択します。
- General > Frameworks, Libraries & Embedded Contentに移動し、
TealiumFirebaseモジュールをアプリターゲットに追加します。
Tealium Swiftライブラリから追加のモジュールを追加するには、Swift Package Managerの指示に従ってください。
Visual Studioの組み込みNuGetパッケージマネージャを使用して、Xamarin用のTealium Firebaseライブラリを直接インストールします。
手動インストール
Firebaseリモートコマンドの手動インストールには、Tealium for Swiftライブラリがインストールされている必要があります。iOSプロジェクト用のFirebaseリモートコマンドをインストールするには:
まだ行っていない場合は、Firebase SDKをインストールします。
Tealium iOS Firebaseリモートコマンドリポジトリをクローンし、
Sourcesフォルダ内のファイルをプロジェクトにドラッグします。remoteAPIEnabled構成フラグをtrueに構成します。
Firebaseリモートコマンドの手動インストールには、Tealium for Android (Kotlin)またはTealium for Android (Java)がインストールされている必要があります。
Androidプロジェクト用のFirebaseリモートコマンドをインストールするには:
プロジェクトルートの
build.gradleファイルにflatDirを追加します:allprojects { repositories { mavenCentral() flatDir { dirs 'libs' } } }<PROJECT_ROOT>/<MODULE>/libsにtealium-firebase.aarを追加します。build.gradleファイルにTealiumライブラリの依存関係を追加します:dependencies { implementation(name:'tealium-firebase', ext:'aar') }
初期化
すべてのTealiumライブラリにおいて、初期化時にFirebaseモバイルリモートコマンドを登録します。
TealiumのAndroid(Java)ライブラリ用のリモートコマンドタグでリモートコマンドを初期化します:
RemoteCommand firebase = new FirebaseRemoteCommand(application);
teal.addRemoteCommand(firebase);
JSON構成ファイルまたはTealiumのKotlinライブラリ用のリモートコマンドタグでリモートコマンドを初期化します:
val config = TealiumConfig(application,
"ACCOUNT",
"PROFILE",
Environment.DEV,
dispatchers = mutableSetOf(Dispatchers.RemoteCommands, Dispatchers.TagManagement));
val firebase = FirebaseRemoteCommand(application);
var tealium = Tealium.create(TEALIUM_MAIN, config) {
// Webviewタグ
remoteCommands?.add(firebase);
// ローカルJSON
//remoteCommands?.add(firebase, filename = "firebase.json");
// リモートJSON
//remoteCommands?.add(firebase, remoteUrl = "https://some.domain.com/firebase.json");
}
let Environment = tealium.utils.Environment;
let Dispatchers = tealium.utils.Dispatchers;
// Webviewタグ
let firebase = window.tealium.remotecommands.firebase.create()
// ローカルJSON
//let firebase = window.tealium.remotecommands.firebase.create().setPath("firebase.json")
// リモートJSON
//let firebase = window.tealium.remotecommands.firebase.create().setUrl("https://some.domain.com/firebase.json")
let config = {
account: ACCOUNT_NAME,
profile: PROFILE_NAME,
environment: Environment.dev,
dispatchers: [
Dispatchers.TagManagement,
Dispatchers.RemoteCommands
],
remoteCommands: [
]
};
window.tealium.initialize(config, function(success) {
console.log("Init was: " + success)
})
プラットフォームオブジェクトに以下の内容のGoogle-Servives.jsonまたは.plistファイルを追加します:
// WebViewリモートコマンド
var webViewFirebase = RemoteCommand(TealiumFirebase.commandName)
// ローカルJSONマッピング
var localFirebase = RemoteCommand(
TealiumFirebase.commandName,
path: "firebase.json"
)
// リモートJSONマッピング
var remoteFirebase = RemoteCommand(
TealiumFirebase.commandName,
url: "https://some.domain.com/firebase.json"
)
var config = TealiumConfig(
// ...
remoteCommands: [
webViewFirebase // または `localFirebase`, または `remoteFirebase`
])
import FirebaseRemoteCommand from 'tealium-react-firebase';
FirebaseRemoteCommand.initialize();
// Webviewタグ
let firebase = { id: FirebaseRemoteCommand.name }
// ローカルJSON
//let firebase = { id: FirebaseRemoteCommand.name, path: "firebase.json" }
// リモートJSON
//let firebase = { id: FirebaseRemoteCommand.name, url: "https://some.domain.com/firebase.json" }
let config = TealiumConfig {
// ...
remoteCommands: [firebase]
}
JSON構成ファイルまたはTealiumのiOS(Swift)ライブラリ用のリモートコマンドタグでリモートコマンドを初期化します:
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 firebase = FirebaseRemoteCommand()
// ローカルJSON
//let firebase = FirebaseRemoteCommand(type: .local(file: "firebase"))
// リモートJSON
//let firebase = FirebaseRemoteCommand(type: .remote(url: "https://some.domain.com/firebase.json"))
remoteCommands.add(firebase)
}
// Webviewタグ
var firebase = new FirebaseRemoteCommandDroid(this.Application, null, null);
// ローカルJSON
//var firebase = new FirebaseRemoteCommandDroid(this.Application, "firebase.json", null);
// リモートJSON
//var firebase = new FirebaseRemoteCommandDroid(this.Application, null, "https://some.domain.com/firebase.json");
var commands = new List<IRemoteCommand> {
firebase
};
TealiumConfig config = new TealiumConfig(ACCOUNT_NAME,
PROFILE_NAME,
ENVIRONMENT,
new List<Dispatchers> {
Dispatchers.RemoteCommands, Dispatchers.TagManagement
},
new List<Collectors> {},
remoteCommands: commands
);
// Webviewタグ
var firebase = new FirebaseRemoteCommandIOS(new RemoteCommandTypeWrapper());
// ローカルJSON
//var firebase = new FirebaseRemoteCommandIOS(new RemoteCommandTypeWrapper("firebase", NSBundle.MainBundle));
// リモートJSON
//var firebase = new FirebaseRemoteCommandIOS(new RemoteCommandTypeWrapper("https://some.domain.com/firebase.json"));
var commands = new List<IRemoteCommand> {
firebase
};
TealiumConfig config = new TealiumConfig(ACCOUNT_NAME,
PROFILE_NAME,
ENVIRONMENT,
new List<Dispatchers> {
Dispatchers.RemoteCommands, Dispatchers.TagManagement
},
new List<Collectors> {},
remoteCommands: commands
);
JSONテンプレート
JSON構成ファイルを使用してリモートコマンドを構成する場合は、以下のテンプレートを参照してください。このテンプレートには、標準的なeコマースインストールで使用される一般的なマッピングが含まれています。必要に応じてマッピングを編集してください。
{
"config": {
"firebase_analytics_enabled": "true",
"firebase_session_timeout_seconds": "30",
"firebase_log_level": "max",
"firebase_session_minimum_seconds": "100"
},
"mappings": {
"achievement_id": "event.param_achievement_id",
"ad_network_click_id": "event.param_ad_network_click_id",
"affiliation": "event.param_affiliation",
"campaign_keywords": "event.param_cp1",
"campaign": "event.param_campaign",
"game_character": "event.param_character",
"checkout_option": "event.param_checkout_option",
"checkout_step": "event.param_checkout_step",
"content": "event.param_content",
"content_type": "event.param_content_type",
"coupon": "event.param_coupon",
"creative_name": "event.param_creative_name",
"creative_slot": "event.param_creative_slot",
"currency_code": "event.param_currency",
"travel_destination": "event.param_destination",
"end_date": "event.param_end_date",
"flight_number": "event.param_flight_number",
"group_id": "event.param_group_id",
"current_index": "param_index",
"product_brand": "items.param_item_brand",
"product_category": "items.param_item_category",
"product_id": "items.param_item_id",
"product_unit_price": "items.param_price",
"product_quantity": "items.param_quantity",
"product_list": "items.param_item_list",
"product_location_id": "items.param_item_location_id",
"product_name": "items.param_item_name",
"product_variant": "items.param_item_variant",
"current_level": "event.param_level",
"most_recent_location": "event.param_location",
"campaign_medium": "event.param_medium",
"number_nights": "event.param_number_nights",
"number_pax": "event.param_number_pax",
"number_rooms": "event.param_number_rooms",
"travel_origin": "event.param_origin",
"score": "event.param_score",
"search_keyword": "event.param_search_term",
"order_shipping_amount": "event.param_shipping",
"signup_method": "event.param_signup_method",
"campaign_source": "event.param_source",
"start_date": "event.param_start_date",
"order_tax_amount": "event.param_tax",
"product_term": "event.param_term",
"order_id": "event.param_transaction_id",
"travel_class": "event.param_travel_class",
"order_total": "event.param_value",
"currency_type": "event.param_virtual_currency_name",
"user_signup_method": "event.param_user_signup_method",
"event_title": "firebase_event_name",
"screen_name": "firebase_screen_name",
"screen_class": "firebase_screen_class",
"customer_property": "firebase_property_name",
"customer_value": "firebase_property_value",
"customer_id": "firebase_user_id",
"consent_ad_storage": "firebase_consent_settings.ad_storage",
"consent_analytics_storage": "firebase_consent_settings.analytics_storage",
"consent_ad_user_data": "firebase_consent_settings.ad_user_data",
"consent_ad_personalization": "firebase_consent_settings.ad_personalization"
},
"commands": {
"launch": "config",
"user_login": "logevent",
"user_register": "logevent,setuserproperty",
"share": "logevent",
"show_offers": "logevent",
"join_group": "logevent",
"travel_order": "logevent",
"earn_currency": "logevent",
"spend_currency": "logevent",
"unlock_achievement": "logevent",
"level_up": "logevent",
"start_tutorial": "logevent",
"stop_tutorial": "logevent",
"record_score": "logevent",
"category": "logevent,setscreenname",
"product": "logevent,setscreenname",
"cart_add": "logevent",
"wishlist_add": "logevent",
"checkout": "logevent,setscreenname",
"checkout_progress": "logevent",
"email_signup": "logevent",
"order": "logevent,setscreenname",
"setconsent": "setconsent",
"initiateconversionmeasurement": "initiateconversionmeasurement",
"resetanalyticsdata": "resetdata"
}
}
サポートされているメソッド
Firebaseメソッドに対応するコマンドをマッピングします。Firebaseメソッドをトリガーするには、指定された形式で対応するコマンドを渡します。
| リモートコマンド | Firebaseメソッド |
|---|---|
config | configure() |
logevent | logEvent(name, parameters) |
setscreenname | logEvent(name (AnalyticsEventScreenView), parameters) |
setdefaultparameters | setDefaultEventParameters(parameters) |
setuserproperty | setUserProperty(value, name) |
setuserid | setUserId(id) |
initiateconversionmeasurement (iOS) | initiateOnDeviceConversionMeasurement(emailAddress) |
setconsent | setConsent(consentSettings) |
resetdata | resetAnalyticsData |
SDKの構成
構成
| リモートコマンド | Firebaseメソッド |
|---|---|
config | configure() |
SDKを構成するために使用されるパラメータは次のとおりです:
| パラメータ | タイプ | 説明 |
|---|---|---|
firebase_session_timeout_seconds | String | セッションの長さを秒単位で表した文字列です。 |
firebase_analytics_enabled | String | 分析を有効または無効にするためのブール値を表す文字列(デフォルトは true)。 |
firebase_log_level (iOS) | String | ログレベル min |
トラック
アプリとの基本的なやり取りによってトリガーされるイベントは自動的に追跡されます。詳細については、GA4: 自動収集されるイベントを参照してください。
イベントログ
パラメータと、オプションでアイテムの配列を使用してイベントをログします。
| リモートコマンド | Firebaseメソッド |
|---|---|
logevent | logEvent(name, parameters) |
| パラメータ | タイプ | 説明 |
|---|---|---|
firebase_event_name | String | 必須。イベント名で、Firebaseイベント名のリストにマッピングされます。 |
event (JSON) | [String:Any] | このイベントのすべてのパラメータを含むオブジェクトで、Firebaseパラメータのリストにマッピングされます。 |
firebase_event_params (Tag) | [String:Any] | このイベントのすべてのパラメータを含むオブジェクト(タグによって使用されます)、Firebaseパラメータのリストにマッピングされます。 |
items (JSON) | [String:[Any]] | このイベントのアイテムの配列を含むオブジェクト。すべての配列には同じ数の要素が含まれ、すべての要素は単一のアイテム配列に正規化できます。 |
param_items (Tag) | [[String:Any]] | このイベントのアイテムの配列(タグによって使用されます)。 |
スクリーン名の構成
このコマンドは、ユーティリティとして追加された特定のログイベントです。
| リモートコマンド | Firebaseメソッド (iOS) | Firebaseメソッド (Android) |
|---|---|---|
setscreenname | logEvent(name (AnalyticsEventScreenView), parameters) | setCurrentScreen(currentActivity, screenName, screenClass) |
| パラメータ | タイプ | 説明 |
|---|---|---|
firebase_screen_name | String | 必須。現在のスクリーンの名前です。 |
firebase_screen_class | String | 現在のスクリーンのクラスです。 |
デフォルトパラメータの構成
このコマンドは、すべてのログイベントで送信されるパラメータを構成します。
| リモートコマンド | Firebaseメソッド |
|---|---|
setdefaultparameters | setDefaultEventParameters(parameters) |
| パラメータ | タイプ | 説明 |
|---|---|---|
default (JSON) | [String:Any] | キーと値のデフォルトパラメータを含むオブジェクトです。 |
firebase_default_params (Tag) | String | キーと値のデフォルトパラメータを含むオブジェクト(タグによって使用されます)。 |
マッピング
logEvent メソッドで送信されるパラメータとイベントは、Tealiumの値からFirebaseの定数名にマッピングされます。
以下の表は、iOSとAndroidで利用可能なキーを定数にマッピングしたものです。Tealiumのマッピングからパラメータが欠けている場合は、Firebaseの定数値を直接使用できます。
イベントマッピング
| Tealium Key | Firebase Event (iOS) | Firebase Event (Android) |
|---|---|---|
event_ad_impression | AnalyticsEventAdImpression | AD_IMPRESSION |
event_add_payment_info | AnalyticsEventAddPaymentInfo | ADD_PAYMENT_INFO |
event_add_shipping_info | AnalyticsEventAddShippingInfo | ADD_SHIPPING_INFO |
event_add_to_cart | AnalyticsEventAddToCart | ADD_TO_CART |
event_add_to_wishlist | AnalyticsEventAddToWishlist | ADD_TO_WISHLIST |
event_app_open | AnalyticsEventAppOpen | APP_OPEN |
event_begin_checkout | AnalyticsEventBeginCheckout | BEGIN_CHECKOUT |
event_campaign_details | AnalyticsEventCampaignDetails | CAMPAIGN_DETAILS |
event_earn_virtual_currency | AnalyticsEventEarnVirtualCurrency | EARN_VIRTUAL_CURRENCY |
event_generate_lead | AnalyticsEventGenerateLead | GENERATE_LEAD |
event_join_group | AnalyticsEventJoinGroup | JOIN_GROUP |
event_level_end | AnalyticsEventLevelEnd | LEVEL_END |
event_level_start | AnalyticsEventLevelStart | LEVEL_START |
event_level_up | AnalyticsEventLevelUp | LEVEL_UP |
event_login | AnalyticsEventLogin | LOGIN |
event_post_score | AnalyticsEventPostScore | POST_SCORE |
event_purchase | AnalyticsEventPurchase | PURCHASE |
event_refund | AnalyticsEventRefund | REFUND |
event_remove_cart | AnalyticsEventRemoveFromCart | REMOVE_FROM_CART |
event_screen_view | AnalyticsEventScreenView | SCREEN_VIEW |
event_search | AnalyticsEventSearch | SEARCH |
event_select_content | AnalyticsEventSelectContent | SELECT_CONTENT |
event_select_item | AnalyticsEventSelectItem | SELECT_ITEM |
event_select_promotion | AnalyticsEventSelectPromotion | SELECT_PROMOTION |
event_share | AnalyticsEventShare | SHARE |
event_signup | AnalyticsEventSignUp | SIGN_UP |
event_spend_virtual_currency | AnalyticsEventSpendVirtualCurrency | SPEND_VIRTUAL_CURRENCY |
event_tutorial_begin | AnalyticsEventTutorialBegin | TUTORIAL_BEGIN |
event_tutorial_complete | AnalyticsEventTutorialComplete | TUTORIAL_COMPLETE |
event_unlock_achievement | AnalyticsEventUnlockAchievement | UNLOCK_ACHIEVEMENT |
event_view_cart | AnalyticsEventViewCart | VIEW_CART |
event_view_item | AnalyticsEventViewItem | VIEW_ITEM |
event_view_item_list | AnalyticsEventViewItemList | VIEW_ITEM_LIST |
event_view_promotion | AnalyticsEventViewPromotion | VIEW_PROMOTION |
event_view_search_results | AnalyticsEventViewSearchResults | VIEW_SEARCH_RESULTS |
パラメータマッピング
| Tealium Key | Firebase Parameter (iOS) | Firebase Parameter (Android) |
|---|---|---|
param_achievement_id | AnalyticsParameterAchievementID | ACHIEVEMENT_ID |
param_ad_format | AnalyticsParameterAdFormat | AD_FORMAT |
param_ad_network_click_id | AnalyticsParameterAdNetworkClickID | ACLID |
param_ad_platform | AnalyticsParameterAdPlatform | AD_PLATFORM |
param_ad_source | AnalyticsParameterAdSource | AD_SOURCE |
param_ad_unit_name | AnalyticsParameterAdUnitName | AD_UNIT_NAME |
param_affiliation | AnalyticsParameterAffiliation | AFFILIATION |
param_cp1 | AnalyticsParameterCP1 | CP1 |
param_campaign | AnalyticsParameterCampaign | CAMPAIGN |
param_campaign_id | AnalyticsParameterCampaignID | N/A |
param_character | AnalyticsParameterCharacter | CHARACTER |
param_content | AnalyticsParameterContent | CONTENT |
param_content_type | AnalyticsParameterContentType | CONTENT_TYPE |
param_coupon | AnalyticsParameterCoupon | COUPON |
param_creative_format | AnalyticsParameterCreativeFormat | N/A |
param_creative_name | AnalyticsParameterCreativeName | CREATIVE_NAME |
param_creative_slot | AnalyticsParameterCreativeSlot | CREATIVE_SLOT |
param_currency | AnalyticsParameterCurrency | CURRENCY |
param_destination | AnalyticsParameterDestination | DESTINATION |
param_discount | AnalyticsParameterDiscount | DISCOUNT |
param_end_date | AnalyticsParameterEndDate | END_DATE |
param_extend_session | AnalyticsParameterExtendSession | EXTEND_SESSION |
param_flight_number | AnalyticsParameterFlightNumber | FLIGHT_NUMBER |
param_group_id | AnalyticsParameterGroupID | GROUP_ID |
param_index | AnalyticsParameterIndex | INDEX |
param_item_brand | AnalyticsParameterItemBrand | ITEM_BRAND |
param_item_category | AnalyticsParameterItemCategory | ITEM_CATEGORY |
param_item_category2 | AnalyticsParameterItemCategory2 | ITEM_CATEGORY2 |
param_item_category3 | AnalyticsParameterItemCategory3 | ITEM_CATEGORY3 |
param_item_category4 | AnalyticsParameterItemCategory4 | ITEM_CATEGORY4 |
param_item_category5 | AnalyticsParameterItemCategory5 | ITEM_CATEGORY5 |
param_item_id | AnalyticsParameterItemID | ITEM_ID |
param_item_list_id | AnalyticsParameterItemListID | ITEM_LIST_ID |
param_item_list_name | AnalyticsParameterItemListName | ITEM_LIST_NAME |
param_item_name | AnalyticsParameterItemName | ITEM_NAME |
param_item_variant | AnalyticsParameterItemVariant | ITEM_VARIANT |
param_items | AnalyticsParameterItems | ITEMS |
param_level | AnalyticsParameterLevel | LEVEL |
param_level_name | AnalyticsParameterLevelName | LEVEL_NAME |
param_location | AnalyticsParameterLocation | LOCATION |
param_location_id | AnalyticsParameterLocationID | LOCATION_ID |
param_marketing_tactic | AnalyticsParameterMarketingTactic | N/A |
param_medium | AnalyticsParameterMedium | MEDIUM |
param_method | AnalyticsParameterMethod | METHOD |
param_number_nights | AnalyticsParameterNumberOfNights | NUMBER_OF_NIGHTS |
param_number_pax | AnalyticsParameterNumberOfPassengers | NUMBER_OF_PASSENGERS |
param_number_rooms | AnalyticsParameterNumberOfRooms | NUMBER_OF_ROOMS |
param_origin | AnalyticsParameterOrigin | ORIGIN |
param_payment_type | AnalyticsParameterPaymentType | PAYMENT_TYPE |
param_price | AnalyticsParameterPrice | PRICE |
param_promotion_id | AnalyticsParameterPromotionID | PROMOTION_ID |
param_promotion_name | AnalyticsParameterPromotionName | PROMOTION_NAME |
param_quantity | AnalyticsParameterQuantity | QUANTITY |
param_score | AnalyticsParameterScore | SCORE |
param_search_term | AnalyticsParameterSearchTerm | SEARCH_TERM |
param_shipping | AnalyticsParameterShipping | SHIPPING |
param_shipping_tier | AnalyticsParameterShippingTier | SHIPPING_TIER |
param_screen_name | AnalyticsParameterScreenName | SCREEN_NAME |
param_screen_class | AnalyticsParameterScreenClass | SCREEN_CLASS |
param_source | AnalyticsParameterSource | SOURCE |
param_source_platform | AnalyticsParameterSourcePlatform | N/A |
param_start_date | AnalyticsParameterStartDate | START_DATE |
param_success | AnalyticsParameterSuccess | SUCCESS |
param_tax | AnalyticsParameterTax | TAX |
param_term | AnalyticsParameterTerm | TERM |
param_transaction_id | AnalyticsParameterTransactionID | TRANSACTION_ID |
param_travel_class | AnalyticsParameterTravelClass | TRAVEL_CLASS |
param_value | AnalyticsParameterValue | VALUE |
param_virtual_currency_name | AnalyticsParameterVirtualCurrencyName | VIRTUAL_CURRENCY_NAME |
param_user_signup_method | AnalyticsUserPropertySignUpMethod | N/A |
param_user_allow_ad_personalization_signals | AnalyticsUserPropertyAllowAdPersonalizationSignals | N/A |
ユーザー構成
ユーザープロパティの構成
このコマンドは、1つまたは複数のユーザープロパティ名と値を構成します。
| リモートコマンド | Firebase メソッド |
|---|---|
setuserproperty | setUserProperty(value, name) |
| パラメータ | タイプ | 説明 |
|---|---|---|
firebase_property_name | String|[String] | 必須。プロパティ名またはプロパティ名の配列 |
firebase_property_value | String|[String] | 必須。プロパティ値またはプロパティ値の配列。このパラメータが配列の場合、firebase_property_name 配列の長さと項目の順序と一致する必要があります。 |
ユーザーIDの構成
このコマンドはユーザーIDを構成します。
| リモートコマンド | Firebase メソッド |
|---|---|
setuserid | setUserId(id) |
| パラメータ | タイプ | 説明 |
|---|---|---|
firebase_user_id | String | 必須。構成するユーザーID |
コンバージョン測定(iOS)
このコマンドはコンバージョン測定を開始します。
| リモートコマンド | Firebase メソッド |
|---|---|
initiateconversionmeasurement | initiateOnDeviceConversionMeasurement() |
| パラメータ | タイプ | 説明 |
|---|---|---|
param_hashed_email_address | String | ハッシュ化されたユーザーのメールアドレス |
param_hashed_phone_number | String | ハッシュ化されたユーザーの電話番号 |
param_email_address | String | ユーザーのメールアドレス |
param_phone_number | String | ユーザーの電話番号 |
パラメータをハッシュ化して送信する場合は、Firebase ドキュメントの iOS 広告のコンバージョン測定に従って正規化およびハッシュ化する必要があります。Tealiumはパラメータを String として受け取る必要があります。これは最終的に Firebase に渡す前に Data に変換されます。
同意
このコマンドは同意モードを構成します。
| リモートコマンド | Firebase メソッド |
|---|---|
setconsent | setConsent(consentSettings) |
| パラメータ | タイプ | 説明 |
|---|---|---|
firebase_consent_settings | [String:String] | 必須。同意構成を含むオブジェクト。キーは同意タイプ、値は granted または denied |
サポートされる同意タイプ
| 同意タイプ | 最小 Firebase iOS バージョン | 最小 Firebase Android バージョン |
|---|---|---|
ad_storage | 10.7.0 | 18.0.0 |
analytics_storage | 10.7.0 | 18.0.0 |
ad_personalization | 10.17.0 | 21.5.0 |
ad_user_data | 10.17.0 | 21.5.0 |
詳細については、Firebase: Mobile Remote Command Tag setupを参照してください。
アナリティクスデータのリセット
このデバイスのすべてのアナリティクスデータをクリアし、アプリインスタンスIDをリセットします。
| リモートコマンド | Firebase メソッド |
|---|---|
resetdata | resetAnalyticsData() |
最終更新日 :: 2025年July月22日