トラブルシューティング
基本
モバイルアプリをテストする場合は、Tealiumの"dev"
環境でのみテストし、"prod"
ではテストしないことをお勧めします。また、テスト用に特別に設計されたアプリのビルドを使用してください。本番ビルド(App Store/Playストア)を使用する必要がある場合は、環境の切り替えに関する以下のセクションを参照して、ライブアプリケーションに変更を加えないようにしてください。
デバッグ中に変更を公開する場合は、TealiumのCDNキャッシュの5分の有効期限が適用されます。この期間中、utag.js
ファイルは公開後にCDNで更新されます。
アプリをコールドスタートから起動するたびに(以前はアプリをアプリトレイからスワイプしていました)、Tealium SDKは新しいファイルの有無をチェックし、その後はデフォルトで15分ごとにチェックします(モバイル公開設定で制御)。ただし、公開から5分未満の場合は、アプリを再起動しても、5分の有効期限が切れるまでは新しいファイルが使用可能にならないことがあります。テスト中に"dev"
環境と"qa"
環境を切り替えると、環境のキャッシュが過去5分以内に使用されていない場合に期限切れになり、新しいファイルがすぐに使用可能になるため、この問題が多少緩和されます。
Tealium EventStream Live Events
Tealium EventStreamのLive Events機能は、モバイルインストールのデバッグを目的として、すべてのTealiumユーザーに提供されています。
この機能を本番環境で有効にすると、ボリュームの使用量に応じた料金を請求される場合があります。アプリの本番運用を開始する前に、この機能を無効にしておいてください。
イベント収集機能は次のいずれかの方法で有効にします。
オプション1 - Tealium Collectタグ
Tealium Collectタグをタグマーケットプレイスから追加します。タグが本番環境に公開されて、使用料金が発生するのを防ぐため、タグの詳細設定でQAおよび本番環境をオフに切り替えます。リクエストはPOSTリクエストのエンコード済みJSONデータとしてアプリから送信されるため、Charles Proxyと組み合わせて使用するのは困難です。ただし、Cookieデータや拡張機能によって変更された変数など、すべてのデータをWebViewから表示できるという利点があります。タグ構成で特定のプロファイルを入力しない場合、データはアプリのターゲットと同じプロファイルに送信されます。データを特定のプロファイルに送信する必要がある場合は、Tealium Collectタグのセットアップガイドを参照してください。
オプション2 - Tealium Collectモジュール
iQアカウントでモバイル公開設定に移動して、”Tealium Collect”を有効にします。この方法の利点は、データがGETリクエストとして送信され、各データ変数が判読しやすいクエリパラメータの形式でクエリ文字列に追加されることです。この方法は、Charles Proxyを使用してデータを検査する場合に最適です。予期しない使用料金が請求されるのを防ぐため、アプリを本番環境にプッシュする前にこの設定をオフにしておいてください。アプリ開発者によってTealiumに渡されたデータのみが表示され、Cookieデータや拡張機能によって生成されたデータなど、このリクエストのWebViewからのデータは表示されません。
デフォルトで、この機能を使用して送信されるデータは、アプリで現在選択されているプロファイルではなく、アカウントの「メイン」プロファイルに送信されます。これを調整するには、次のコードスニペットをアプリで使用してディスパッチURLをオーバーライドし、適切なアカウント/プロファイルの組み合わせを代入します。
Tealium.Config config = Tealium.Config.create(application, "[ACCOUNT]", "[PROFILE]", "ENVIRONMENT");config.setOverrideCollectDispatchUrl("https://collect.tealiumiq.com/vdata/i.gif?tealium_account=[ACCOUNT]&tealium_profile=[PROFILE]");
TEALConfiguration *configuration = [TEALConfiguration configurationWithAccount:@"[account]"profile:@"[profile]" environment:@"dev"];[configuration setOverrideCollectDispatchURL:@"https://collect.tealiumiq.com/vdata/i.gif?tealium_account=[account]&tealium_profile=[profile]"];
上記のいずれかの収集方法を設定し終えたら、EventStreamにログインし、Live Eventsに移動して受信イベント確認します。
Live Eventsの使用の詳細については、こちらを参照してください。
Charles Proxy
Charles ウェブ デバッグ プロキシは、Tealium iQ Tag Management を介して設定したサードパーティ サービスとデバイスとの間のすべての HTTP および SSL/HTTPS トラフィックを検査するものです。
お使いのAndroidまたはiOSデバイスをプロキシするようCharlesを設定します。
Tealium環境の切り替え
変更を表示するために、アプリがターゲットとしているデフォルト環境(「本番」など)から別の環境に切り替える必要が生じる場合があります。環境を切り替えるには、Charles Proxy(またはFiddlerなどの他のプロキシツール)にカスタムマッピングを追加します。これにより、アプリに提供されているファイルが透過的に切り替えられます。たとえば、アプリが「本番」用のutag.jsをリクエストしても、Charlesプロキシからは「開発」用のutag.jsが提供されます。
以下の構成手順により、別のTealium環境に切り替えることができます。
- Charles Proxyを開いて、[Tools] > [Map Remote]に移動します。[Map Remote Settings]画面で、[Enable Map Remote]チェックボックスをオンにして、[Add]をクリックします。
- [Host]ボックスに、「https://tags.tiqcdn.com/utag/
/ /prod/*」を貼り付けて、お使いのアカウントとプロファイルをURLに代入します。貼り付けた後で、カーソルを動かして[Map From]セクションの[Port]または[Path]フィールドをクリックします。URLがコンポーネントパーツに自動的に分離されます。 - [Map To]セクションで、同じプロセスをもう一度実行します。今回は、ターゲットにする環境に応じて、URLで環境を「prod」から「dev」(または「qa」)に変更します。URLの末尾からアスタリスク文字を削除します。たとえば、「https://tags.tiqcdn.com/utag/
/ /dev/」のようにします。 - [OK]をクリックしてセットアップを完了します。
すべてのリクエストが「本番」環境から「開発」環境に切り替えられました。アプリのデフォルトの環境に戻すには、マップリモートルールを無効化または削除するか、デバイスでプロキシをオフにします。
この設定を有効にするには、アプリを強制終了して再起動してください。
トラフィックの検査
以下は、Charles Proxyを使用して検査する一般的なリクエストの例です。
Request | 説明 |
---|---|
\*.tealiumiq.com |
前述のオプション1で説明したように、Tealium AudienceStreamのLive Events機能をデバッグに使用している場合は、これらのヒットが送信されます。 |
mobile.html |
TealiumのマルチCDNから設定を取得する最初のヒット。 |
google-analytics.com, collect.gif |
Google Analyticsを使用する場合、ヒットはcollect.gif に送信され、クエリパラメータが検査されます。 |
/b/ss |
このフィルターはAdobe Analyticsに対するすべてのヒットを取得し、コンテキストデータまたはprop/eVar、あるいはその両方がクエリ文字列に表示されます。 |
tags.tiqcdn.com |
どのTealiumタグがトリガーされたかを確認するには、このサーバーに対するヒットを調べます。バンドルを有効にしていない場合は、各タグの個別のファイルが表示されます。たとえば、UID 123のタグはutag.123.js になります。ファイルがキャッシュされている場合、それらのファイルはトリガーされてもCharles Proxyセッションに表示されないことがあります。そのため、この方法が必ずしも最も正確なテストであるとは限らないことに注意する必要があります。 |
Trace
トラブルシューティングのための トレース の使用について説明します。
アナリティクスツール
テスト用のGoogle Analyticsアカウントをセットアップして、プロパティID(UA-12345678-1など)を書き留めます。
Tealium IQを介してGoogle Analyticsタグを追加し、新しいプロパティIDを該当する構成フィールドに入力します。
スクリーンビューをGAタグで有効にし、データ変数のうちの1つをscreenName
に設定します。
(オプション)任意の2つの変数をEvent ActionとEvent Categoryにそれぞれマッピングして、カスタムイベントをGAで設定します。アプリが正しく機能している場合は、スクリーンビューとカスタムイベントがGoogle Analyticsのアカウントに表示されます。カスタムイベントは、これらの変数にテスト目的で渡すデータに関係なく、Event CategoryとEvent Actionが設定されている限り自動的に生成されます。
デバイスログ
標準のデバイスログ
- Android Studioをマシンにインストールします。
- USBデバッグをAndroidデバイスで有効にします。
- Android StudioをPC/Macで起動して、[Android Monitor](v3.1以下の場合)または[Run](v3.2以上の場合)が画面の下部に表示されていることを確認します。いずれのオプションも表示されない場合は、[View] > [Tool Windows] > [Android Monitor/Run]を選択していずれかを表示します。
- AndroidデバイスをUSBケーブルで接続します。デバイスからのログがコンソールで使用可能になります。ここには、Androidシステムそのものを含む、すべてのアプリからの出力が表示されます。本番ビルドをテストしている場合は、重大なエラー/クラッシュしか記録されない可能性があります。
- Android Studioバージョン3.2以上がインストールされている場合は、デバッグ/検証/トラブルシューティング機能を備えた他のツールが多数あります。
- XCodeをマシンにインストールします。
- iPhone/iPadをライトニングケーブルで接続します。
- [Window] > [Devices and Simulators]に移動して、[Devices]タブのリストからお使いのデバイスを選択します。
- デバイスのコンソールを表示するには、右側パネルの左下にある上向き三角形をクリックします。デバイス上のすべてのアプリからのログがコンソールに表示されます。アプリが本番ビルドの場合は、重大なエラー/クラッシュしか記録されない可能性があります。
コンソールを「tealium」でフィルター処理すると、これらのログがより明確に表示される可能性があります。
Tealiumデバッグログ
- Android Studioを開き、デバイスを接続します。
.setForceOverrideLogLevel()
メソッドを呼び出して、Tealiumデバッグレベルを最も詳細なレベル(”dev”)に設定します。たとえば、`.setForceOverrideLogLevel("dev");
のように設定します。- プロジェクトを実行し、Logcatコンソールで出力を表示します。公開設定、構成設定、およびペイロードがコンソールに表示されます。
Logcatを「Sent queued dispatch」でフィルター処理すると、これらのログがより明確に表示される可能性があります。
- Xcodeを開き、デバイスを接続します。
.setLogLevel()
メソッドを呼び出して、Tealiumデバッグレベルを最も詳細なレベル(”dev”)に設定します。- iOS:
[tealConfig setLogLevel: TEALLogLevelDev];
- Swift:
setLogLevel(logLevel: TealiumLogLevel)
- iOS:
- プロジェクトを実行し、
lldb
コンソールで出力を表示します。公開設定、構成設定、およびペイロードがコンソールに表示されます。
IDEコンソールを「datasources payload」でフィルター処理すると、これらのログがより明確に表示される可能性があります。
mobile.htmlのデバッグ
このセクションでは、公開されたファイルmobile.html
を使用してTealium iQ Tag Managementのモバイル実装をトラブルシューティングする方法を示します。
Tealium iQでモバイルプロファイルをアクティベートすると、mobile.html
という名前のファイルがCDNの次のパスに公開されます。
http://tags.tiqcdn.com/utag/{アカウント}/{プロファイル}/{環境}/mobile.html
このファイルは、モバイル公開設定の受信とTag Managementモジュールの円滑化のためにネイティブモバイルライブラリによって使用されます。このファイルは、モバイル実装の基本的なトラブルシューティングを実行する上で役立ちます。
mobile.htmlの検査
mobile.html
ページでのutag.js
の動作は、標準のデスクトップウェブサイトページの動作と似ています。utag.js
ファイルが読み込まれ、後続のベンダータグが実行されます。
mobile.html
ページを検査するには:
- 新しいブラウザウィンドウでiQプロファイルの
mobile.html
URLを読み込みます。 - ブラウザのデベロッパーツールまたはウェブコンソールを開いて、ページのソースを検査します。
ここからは、Tealiumのutag.js
がインストールされたウェブサイトで使用されているのと同じトラブルシューティング手法の多くを実行できます。
公開タイムスタンプの検証
最初に確認すべきことは、最近公開された変更がmobile.html
に読み込まれていることです。これを行うには、HTMLソースからのタイムスタンプをiQバージョン画面からのタイムスタンプと照合します。
公開タイムスタンプを検証するには:
mobile.html
のページソースの最上部で、最初の行の公開タイムスタンプを見つけます。mobile.html
のタイムスタンプのパターンは「ut.4.0.YYYYMMDDHHMM
」です。(時刻は常にGMTで表されます)- iQプロファイルで、バージョン画面に移動して、同じ環境の最後に公開されたバージョンを見つけます。この公開タイムスタンプは
mobile.html
に表示されているタイムスタンプと一致します。
モバイル公開設定JavaScriptオブジェクトの検証
mobile.html
ページでは、モバイル公開設定の値を格納するためにmps
という名前のJavaScriptオブジェクトが使用されます。設定を検証するには、このオブジェクトを検査します。
mps
オブジェクトを検査するには:
- ウェブコンソールに「mps」と入力して、Enterキーを押します。
- 「4」と「5」のマークが付いたプロパティは、モバイルライブラリのバージョン4.xと5.xにそれぞれ対応します。
トラッキングコールのシミュレーション
このページでのutag.js
の動作は、標準のデスクトップウェブサイトページの動作と似ています。ネットワークアクティビティを監視して、どのutag.\*.js
ファイルが読み込まれているかを確認し、ブラウザコンソールからトラッキングコールをトリガーして、タグが期待どおりに機能していることを確認します。
mobile.html
でトラッキングコールをシミュレートするには:
- ブラウザコンソールから「
utag.view({screen_title : "Test Page"})
」と入力して、Enterキーを押します。 - ネットワークアクティビティ画面に移動して、発信ベンダートラッキングアクティビティを検査します。
リモートデバッグ
上級ユーザーは、ChromeまたはSafariのリモートウェブインスペクタを使用して非表示のWebViewをデバッグできます
Tealium WebViewのリモートデバッグを許可するようにアプリが設定されていることを確認します(ビルド時にアプリの開発者が設定する必要があります)。
Google Chromeでウェブインスペクタを起動します。
デバイスがUSBケーブルでマシンに接続されていることを確認します。
ウェブページのリストで、tags.tiqcdn.com
でホストされているページを見つけます。これはTealiumのWebView(mobile.html
)で、上記と同じ方法で検査されます。アプリがビューまたはリンクリクエストをトリガーするたびに、JavaScriptタグテンプレートで設定したブレークポイントにヒットし、データレイヤーの値がデスクトップウェブサイトであるかのように検査されます。
AppleのSafariデベロッパーガイドに従って、Safari for Mac OSXとiPhone/iPadのデバイス設定でウェブインスペクタを有効にします。
「開発」メニューにデバイスが表示されたら、デバイスで開いているウェブページのリストから「tags.tiqcdn.com/utag/ACCOUNT/PROFILE/ENVIRONMENT/mobile.html」を開いて、上記の方法5の手順に従います。
この方法は、iOSシミュレータを使用してアプリをデバッグする場合にも使用できます
このページはお役にたちましたでしょうか?
最終更新日 :: 2022年August月29日