Firebaseリモートコマンド注文イベント例
インストール
AndroidとSwift/iOSのFirebaseに対するTealiumリモートコマンド統合について詳しく学ぶ
タグ構成
カスタムコマンドタグは、Tealiumモバイルライブラリに登録したカスタムネイティブコードブロックをトリガーするために必要なAPIの実装を含む特別なタグです。
Tealium iQタグ管理(/client-side-tags/firebase-remote-command-tag/)アカウントでFirebase Mobile Remote Command Tagを構成する方法について詳しく学ぶ。
アプリからのデータを更新するために拡張機能が必要な場合があります。例えば、“Order Confirmation"画面でTealium SDKを使用してスクリーンビューをトラッキングし、Firebase SDKでもログに記録したい場合などです。
以下は、iOS(Swift)のTealiumでのトラッキング呼び出しの例です:
`tealium?.trackView("order_confirmation", ["order_id":"A123456",
"user_id": "john.doe@someprovider.com", "user_loyalty_status":"vip", "travel_class" : "first"])
`
Firebase SDKでは、logEvent
API呼び出しを使用してイベントとしてログに記録し、user_id
というユーザープロパティを構成することができます。Tealium iQでは、これをいくつかの異なる方法で行います。
command_name
変数の値は、実行するコマンドのカンマ区切りの文字列に構成されます。それが含む可能性のある5つの値は次のとおりです:
config
setUserId
setScreenName
setUserProperty
logEvent
.
この例では、Tealium iQの操作の順序を理解することが重要です。同じ"scope"を持つ拡張機能は、上から下へと順番に実行されることが保証されています。したがって、ロジックは異なる拡張機能に簡単に分割できますが、以前の拡張機能で定義された変数に書き込みを続けます。
-
Tealium iQプロファイルに
firebase_command_name
という新しいデータレイヤー変数を作成します。 -
Set Data Values拡張機能を作成し、ドロップダウンリストから新しい変数
firebase_command_name
を選択し、データ入力フィールドは空白にします。これにより、変数は空の文字列に初期化されます。 -
以下のSet Data Values拡張機能のリストを作成し、以下の表に記載されている構成を行います:
config
この構成は、セッションごとに一度だけ実行します。以下にTealium iQの構成変数をリストアップします:
TiQ変数名 | タイプ | 例 | ノート |
---|---|---|---|
command_name |
テキスト | config |
必須、大文字と小文字を区別 |
firebase_minimum_session_length |
テキスト | 10 |
任意 |
firebase_session_timeout |
テキスト | 3600 |
任意 |
firebase_analytics_enabled |
テキスト | true |
任意、大文字と小文字を区別、デフォルト = true |
firebase_log_level |
テキスト | error |
任意、大文字と小文字を区別 |
これにより、ネイティブのFirebase APIでは以下のような呼び出しが生成されます:
Android:
`mFirebaseAnalytics = FirebaseAnalytics.getInstance(mCurrentActivity.getApplicationContext());
mFirebaseAnalytics.setSessionTimeoutDuration(3600);
mFirebaseAnalytics.setMinimumSessionDuration(10);
mFirebaseAnalytics.setAnalyticsCollectionEnabled(true);
`
Swift:
`let firConfig = FirebaseConfiguration.shared
let firAnalyticsConfig = AnalyticsConfiguration.shared()
firAnalyticsConfig.setSessionTimeoutInterval(3600)
firAnalyticsConfig.setMinimumSessionInterval(10)
firAnalyticsConfig.setAnalyticsCollectionEnabled(true)
firAnalyticsConfig.setLoggerLevel(FirebaseLoggerLevel.error)
firConfig.analyticsConfiguration = firAnalyticsConfig
FirebaseApp.configure()`
setUserId
以下のユーザーID変数が利用可能です:
TiQ変数名 | タイプ | 例 | ノート |
---|---|---|---|
firebase_command_name |
JSコード | b.firebase\_command\_name + ",setUserId" |
大文字と小文字を区別、カンマ区切り、スペースなし |
firebase_user_id |
テキスト | john.doe@someprovider.com |
必須。任意の有効な文字列 |
これにより、ネイティブのFirebase APIでは以下のような呼び出しが生成されます:
Android:
`FirebaseAnalytics.setUserId("john.doe@someprovider.com");
`
Swift:
`Analytics.setUserID("john.doe@someprovider.com")
`
setScreenName
以下のスクリーン名変数が利用可能です:
TiQ変数名 | タイプ | 例 | ノート |
---|---|---|---|
firebase_command_name |
JSコード | b.firebase_command_name + ",setScreenName" |
大文字と小文字を区別、カンマ区切り、スペースなし |
firebase_screen_name |
テキスト | Order Confirmation |
必須。任意の有効な文字列 |
firebase_screen_class |
テキスト | Order |
任意。任意の有効な文字列 |
これにより、ネイティブのFirebase APIでは以下のような呼び出しが生成されます:
Android:
`FirebaseAnalytics.setCurrentScreen(<current activity reference>, "Order Confirmation", "Order");
`
Swift:
`Analytics.setScreenName("Order Confirmation", screenClass: "Order)
`
setUserProperty
以下のユーザープロパティ変数が利用可能です:
TiQ変数名 | タイプ | 例 | ノート |
---|---|---|---|
firebase_command_name |
JSコード | b.firebase_command_name + ",setUserProperty" |
大文字と小文字を区別、カンマ区切り、スペースなし |
firebase_property_name |
テキスト | user_loyalty_status |
必須。任意の有効な文字列 |
firebase_property_value |
テキスト | vip |
必須。任意の有効な文字列。以前に構成した値をクリアするには空の文字列を構成します。 |
これにより、ネイティブのFirebase APIでは以下のような呼び出しが生成されます:
Android:
`FirebaseAnalytics.setUserProperty("user_loyalty_status", "vip");
`
Swift:
`Analytics.setUserProperty("vip", forName: "user_loyalty_status")
`
logEvent
以下のログイベント変数が利用可能です:
TiQ変数名 | 変数 | 例 | ノート |
---|---|---|---|
firebase_command_name |
JSコード | b.firebase_command_name + ",logEvent" |
大文字と小文字を区別、カンマ区切り、スペースなし |
firebase_event_name |
テキスト | event_ecommerce_purchase |
必須。任意の有効な文字列。最良の結果を得るためには、上記の推奨されるイベントタイプの一つを使用してください。 |
firebase_event_params |
JSコード | {"param_travel_class" : b.travel_class, "param_transaction_id": b.order_id}; |
任意。任意の有効なJSONオブジェクト。最良の結果を得るためには、上記の推奨されるデフォルトパラメータの一つを使用してください。カスタムパラメータは、レポートに表示される前にFirebaseコンソールで定義する必要があります。 |
これにより、ネイティブのFirebase APIでは以下のような呼び出しが生成されます:
Android:
`Bundle b = new Bundle();
b.putString("param_travel_class", "first");
b.putString("param_transaction_id", "A123456")
FirebaseAnalytics.logEvent(FirebaseAnalytics.Event.ECOMMERCE_PURCHASE, b);
`
Swift:
`Analytics.logEvent(AnalyticsEventEcommercePurchase, parameters: [AnalyticsParameterTravelClass: "first", AnalyticsParameterTransactionID: "A123456"])`
最終更新日 :: 2019年December月16日