WebView内の行動をトラッキングする
アプリケーションによっては、一部画面をWebViewで構成するケースがあります。
このようなケースにおいてもユーザーの行動をトラッキングするために SDK では WebView トラッキングの機能を提供しています。
WebViewトラッキングを行うためには、Webページ内に計測タグを設置してトラッキングを行います。
Webページ内に計測タグを設置してトラッキング
Webページ内に計測タグを設置してトラッキングを行う場合は、以下のステップで実装を行います。
- Webページ内に計測タグを設置する
- WebとAppのユーザーの紐付け処理を実装する
- 動作検証を行う
STEP1: ページ内に計測タグを設置する
計測タグの設置方法については、セットアップしよう(ウェブ) をご覧ください。
なお、既にKARTEをご契約中でWebページに計測タグが設置されている場合は、このステップは不要です。
STEP2: WebとAppのユーザーの紐付け処理を実装する
計測タグを設置するとユーザー行動の計測が行われるようになりますが、ネイティブSDKでトラッキングした情報(ネイティブアプリ内のユーザー行動)と、計測タグでトラッキングした情報(WebView内のユーザー行動)は、それぞれ別のユーザー行動として取り扱われます。
そのためネイティブアプリ内のユーザー行動と、WebView内のユーザー行動を統合するために、ユーザーの紐付け処理を実装する必要があります。
紐付け処理によってできること
- 紐付け前後のネイティブアプリ内のユーザー行動と、WebView内のユーザー行動が紐付く(紐付け後WebView内・ネイティブアプリ内のユーザー行動は同一セッションとして扱われます)
- 計測タグが発行する全イベントの
_source
フィールドの値がnative_app_webview
となる- 計測タグが発行する全イベントの
metadata
フィールド内にapp_info
フィールドが付与される
マルチドメインオプションとの併用について
WebとAppのユーザー紐付け処理はマルチドメインオプションによるクロスドメインでのユーザ統合機能の対象外となります
紐付け処理の実装方法
計測タグが埋め込まれたページのURLに紐付け用のクエリパラメータを付与した上で、ページをロードすることで紐付けが行われます。
SDK が用意しているヘルパーメソッドに URL を渡すことで、紐付け処理に必要となるクエリパラメータが付加された状態の URL を得ることができます。
// URLに連携用のクエリパラメータを付与する
var url = await UserSync.appendingQueryParameter("https://example.com");
// TODO: 連携用パラメータが付与されたURLを利用して、ページのロード処理を行う
クエリパラメータの有効期限について
クエリパラメータには1分の有効期限を設けており、有効期限が切れている場合は紐付けが行われません。
そのためページをロードする際は、URLに都度クエリパラメータを付与するようにしてください。
STEP3: 動作検証を行う
管理画面のユーザー詳細画面で、Webページ上での行動がネイティブアプリ上での行動として扱われているか確認してください。
計測タグ経由でトラッキングされた閲覧イベントに APP アイコンが付いていれば、ネイティブアプリ上での行動として扱われております。


WebView内で発生したイベントをトリガーに接客を配信する際の注意点
WebView内で発生したイベント(
_source
がnative_app_webview
のイベント)をトリガーに配信される接客サービスはSDKではなくアプリが管理するWebViewにアクションが表示されます。WebViewがWKWebViewの場合、そのままではアクション内のURLスキームが自動で処理されません。URLスキームを処理するためにはWKWebViewのnavigationDelegateの実装が必要となります。
トラブルシューティング
WebViewの紐付け処理やWebView内に表示した接客で問題が起きた場合は以下ページをご確認ください。
WebView内の接客やWebView連携で問題が発生した時のチェックリスト
Updated about 1 year ago