トレース
トレースを使用してデバッグする方法を学びます。
Traceは、Tealium EventStreamおよびTealium AudienceStreamの構成をテストおよび検査するためのツールです。訪問のワークフローをキャプチャし、イベントと顧客データがリアルタイムでどのように処理されるかを確認するためにTraceを使用します。
モバイルトレースツール
対応プラットフォーム
以下のプラットフォームがモバイルトレースツールをサポートしています:
大量のイベントにトレースを追加しないでください。
本番データを監視するためにトレースを永続的なパラメータとして追加しないでください。
仕組み
モバイルトレースツールは、デバイスでスキャン可能なQRコードを提供することでトレース機能をエンリッチメントします。ツール内でStart Traceをクリックすると、Customer Data Hubセッションごとに一度、新しいトレースを開始するたびにメインブラウザウィンドウに自動的にQRコードが挿入されます。
QRコードは各プラットフォーム(AndroidまたはiOS)ごとに生成されます。適切なQRコードを適切なモバイルデバイスのカメラでスキャンした後、QRコードからのリンクをクリックしてアプリを起動し、トレースパラメータをTealium SDKに渡します。Tealium SDKはトレースID(その他のパラメータと共に)を受け取り、現在のセッションのデータレイヤーにトレースIDを挿入します。
その後のすべてのイベントは、セッションを終了するかトレースを離れるまでトレースセッションに記録されます。
次の図はその仕組みを示しています:

トレースツールの概要
インストール
このツールを使用するには、ブラウザ用のTealium Toolsブラウザ拡張機能をインストールします。
Add by URLテキストフィールドにURLを入力します:https://solutions.tealium.net/hosted/tealiumTools/mobile-trace/tool.json
インストールが完了したら、Tealium Tools拡張機能からモバイルトレースツールアイコンを起動します。
URLスキーム
モバイルトレースツールを使用するには、モバイルアプリが処理するURLを特定してURLスキームを構成します。
QRコードトレース機能は、URLからアプリを起動し、特定のクエリパラメータをリスニングします。URLから直接アプリを起動するには、アプリが特定のドメインを処理するように登録されている必要があります。
通常、ほとんどのアプリは特定のURLを既に処理しています。たとえば、ウェブサイトのドメインがhttps://mycompany.comの場合、アプリはこのドメインのハンドラとして自身を登録し、ユーザーのデバイスにアプリがインストールされている場合、ユーザーはブラウザではなくアプリでリンクを起動するように促されます。
一部のアプリはhttp
やhttps
の代わりにカスタムURLスキームを登録します。たとえばmycompanyapp://
などです。これらもモバイルトレースツールで機能します。
アプリを起動するURLスキームを確立したら、それらをモバイルトレースツールの入力フィールドに入力します。ツールは必要に応じてAndroidとiOSで異なるスキームをサポートしますが、通常は両プラットフォームで同じです。

トレースツール
各URLスキームの横にあるSaveをクリックして、構成をブラウザのlocalStorage
に保存します。URLスキームを必要に応じて編集するには、青い鉛筆アイコンをクリックします。
トレースの開始
トレースを開始する前に、サーバーサイドのTealium Customer Data Hubにいることを確認します。モバイルトレースツールでStart Traceをクリックして新しいトレースを開始し、トレースウィンドウにモバイルトレースQRコードを追加します。

トレースツールの開始
トレースを開始した後、Tealium ToolsのUIを閉じます。それ以降のセッションには必要ありません。
次のトレースは直接Customer Data Hubから開始され、新しいトレースが開始されるたびにQRコードが自動的に更新されます。デバイスのカメラでQRコードをスキャンし、リンクをクリックしてアプリを起動し、自動的にトレースを開始します。トレースに参加した後にアプリが生成するTealiumイベントは、トレースセッションに記録されます。

トレースQRコード
トレースの離脱
トレースセッションを終了せずに離れる場合、別のデバイスから同じトレースに再参加することができ、そのトレースセッションの履歴を失うことはありません。
トレースを離れるには:
- トレースUIでLeave Traceチェックボックスを選択します。
- デバイスのカメラでQRコードを再度スキャンします。
- リンクをクリックしてデバイスがトレースセッションに参加しないようにします。
訪問の終了(AudienceStream)
Tealium AudienceStreamで「訪問の終了」アクションをテストするには、訪問のセッションを即座に終了するシグナルが必要です。そうでなければ、通常はセッションが自然に期限切れになるのを待つ必要があります。
モバイルトレースツールで、End Visitor Sessionチェックボックスを選択してセッションを即座に終了し、SDKがkill_visitor_session
イベントを送信するようにQRコードにパラメータを追加します。

トレース訪問の終了
Charles Proxy
Charles Webデバッグプロキシを使用して、モバイルSDKとTealium Collectタグを使用するアプリケーションからトレースを開始します。
必要条件
- Charles Proxy
- Tealium Customer Data Hubアカウント
構成
コンピュータ上のCharlesにトラフィックをプロキシするために、モバイルデバイスを構成する手順に従ってください。AndroidまたはiOSデバイス用の指示に従います。
リライトの使用
Charlesをプロキシとして使用してアプリケーションを実行し、teal
のネットワークトラフィックをフィルタリングします。リクエストを右クリックしてCopy URLを選択します。
CharlesメニューからTools > Rewriteを選択してRewrite Settingsダイアログを開きます。
ロケーションを追加するには:
-
Enable Rewriteチェックボックスを選択し、ロケーションリストの下にあるAddボタンをクリックします。
-
Nameフィールドに
Add Trace ID
と入力し、Addをクリックしてロケーションを追加します。 -
ロケーションフィールドを入力し、HostフィールドにCollectタグのURLを構成します。
Edit Locationダイアログボックスの外をクリックすると、Charlesは追加のURLコンポーネントを自動的に決定します。
-
Queryフィールドを空のままにしてOKをクリックします。
アクションを追加するには:
- アクションリストの下にあるAddボタンをクリックし、ドロップダウンメニューからTypeを
Body
に構成します。 - WhereセクションでRequestチェックボックスを選択します。
- MatchセクションでValueに
"data":{
を構成し、Match whole valueチェックボックスを選択します。 - ReplaceセクションでValueに
"data":{"cp.trace_id":"TRACE_ID",
を構成し、Replace firstチェックボックスを選択します。 - OKをクリックして変更をApplyします。
手順を完了した後、アプリケーションを参照し、AudienceStreamまたはEventStreamのトレースセッションでリクエストを表示します。別のトレースを実行するには、Charlesを起動して既存のリライトルールを編集し、12345
のトレースID値を変更します。
マニュアル
エミュレータを使用して開発モードである場合、またはCharlesを使用したくない場合は、ネイティブコードを通じて手動でトレースを追加および離脱することが別のオプションです。
トレースの開始(手動)
トレースIDをネイティブコード内の揮発性データに追加して、手動でトレースを開始して実行します。
instance.getDataSources().getVolatileDataSources().put("tealium_trace_id", "TRACE_ID");
Swift
tealium?.volatileData()?.add(data: ["tealium_trace_id": "TRACE_ID"])
Objective-C
NSDictionary *tealiumTrace = @{@"tealium_trace_id":@"TRACE_ID"};
[[Tealium instanceForKey:TEALIUM_INSTANCE_ID] addVolatileDataSources: tealiumTrace];
トレースの終了(手動)
手動でトレースを終了し、「訪問終了」のエンリッチメントをシミュレートするには、アプリ内の任意の場所に以下のトラックを追加します:
Map<String, Object> data = new HashMap<>(1);
data.put("event", "kill_visitor_session");
data.put("cp.trace_id", "TRACE_ID");
tealium?.trackViewWithTitle("SCREEN_NAME", dataSources: ["event":"kill_visitor_session", "cp.trace_id":"XXXXX"])
最終更新日 :: 2020年November月5日