アプリが管理するWebView内に表示した接客やWebView連携で問題が発生する場合は、以下の手順で確認を行ってください。
WebView連携自体の問題
WebView内の行動が計測ができていない
計測自体確認できない場合は以下の順に問題がないかチェックしてください。
- 計測を確認している環境や設置されているタグは正しいか
- 計測を確認している環境やタグが正しいか
URLやページが本番環境/検証環境などで同一の場合、Webページ内のタグ初期化時に使用しているapi_keyの環境にイベントが送信されるため、それぞれの環境ではイベントが確認できないことがあります。
設置しているタグのapi_keyと確認対象の環境が正しいかどうか改めてご確認ください。
※ 計測タグのwebview_only
オプションが有効な場合、「WebとAppのユーザーの紐付け処理」の実装がされていないとイベントは発生しません。
- マルチドメインオプションを使っていないか
WebView連携(WebとAppのユーザー紐付け処理)はマルチドメインオプションによるクロスドメインでのユーザ統合機能の対象外となります。
連携用のクエリパラメータで連携している場合
連携パラメータの有効期限は1分間です。
有効期限が切れている場合は紐付けが行われません。
そのためページをロードする際は、URLに都度クエリパラメータを付与するようにしてください。
有効期限が切れていないかどうかはDevToolsなどでJS SDKのログ(window._karte_logs
)をご確認ください。
また、クエリパラメータでの連携は現在非推奨で、将来的に廃止される予定です。ユーザースクリプトを利用して連携している場合
App-Bound Domainsを使用している(iOSのみ)場合、そのままではユーザースクリプトの追加が出来ません。
WKWebViewConfigurationのドキュメント を参考にlimitsNavigationsToAppBoundDomains
をtrue
に設定したWKWebConfigurationでアプリで管理するWebViewを初期化してください。問題が解決しない場合
問題が解決しない場合、詳しく調査をさせていただくため KARTE for App不具合の調査に必要な情報 をご用意の上チャットサポートまでお問い合わせください。
Safari/Chromeアプリでアクセスした際の _source
が native_app_webview
になる
本来Safari(iOS)やChrome(Android)からのサイトアクセスでは _source
は web
となりますが、WebView連携中のアプリ内における以下操作により native_app_webview
で計測されることがあります。
- iOS
- 連携パラメータつきのリンクをアプリから「Safariで開く」などで開く
- iOS11未満:SFSafariViewController で連携パラメータが保存された cookie を Safari と共有する
- Android
- 連携パラメータつきのリンクをアプリから「Chromeで開く」などで開く
- CustomChromeTabs で連携パラメータが保存された cookie を Chrome と共有する
これらが原因で _source
が _native_app_webview
として計測されている場合は次の対応のいずれかを行ってください。
- アプリで連携パラメータつきのリンクを外部ブラウザなどで開いたり、外部に共有する実装があれば修正する
- クエリパラメータでの連携ではなくユーザースクリプトによる連携を利用する
ユーザースクリプトによる連携の詳細については WebView内の行動をトラッキングする - ユーザースクリプトを利用した紐付けの実装方法 をご参照ください。
WebView内のアプリ内メッセージ表示の問題
表示した接客が崩れる
まずはKARTEに対応しているブラウザ/アプリ内WebViewかどうか以下をご確認ください。
対応ブラウザ/アプリ内WebViewな場合、モバイルSafari/Chrome上で表示が崩れるかをご確認ください。
表示が崩れる場合、サイト側のCSSと競合し可能性がございます。CSSをご確認の上競合しないよう設定してください。
モバイルSafari/Chromeでは表示が崩れない場合、アプリ内WebView固有の設定が原因の場合がございますので、接客が適切に表示されるようアプリ側の実装を修正してください。
参考: Android WebView環境のみ、接客が指定した表示位置より下にずれる / 背景しか表示されない
WebView上に表示した接客で「ネイティブアプリにおける接客表示制限」が動作しない
「ネイティブアプリにおける接客表示制限」はWebView内で発生したviewイベントでは動作しません。
詳細は ネイティブアプリにおける接客表示制御とは をご参照ください。
WebView内のアプリ内メッセージのリンク遷移の問題
接客に指定したURLスキームで同WebView内の別Webページに遷移できない
WebView上でポップアップ等の接客サービスを出し別リンクを開かせるときに、WebView内で遷移させたい(ブラウザアプリ等で開かれないようにしたい)というケースがあります。
これを実現するためには、接客設定画面のリンク設定でカスタムURLスキームを設定するだけでは正しく遷移しません。
別途プラットフォーム毎にWebView内リンクをタップした際の実装が必要となります。
iOSアプリ内のWKWebView上で接客を表示した際に、接客内の特定のリンクが動作しない
非推奨となったUIWebViewと異なり、WKWebViewでは以下のような一部のaタグリンクがデフォルトでは処理しない挙動となっております。
- URLスキーム(自アプリへのdeeplink処理を含む)
target="_blank"
を含むaタグ- etc.
このケースに該当する場合、WKWebViewのnavigationDelegateの実装が必要となります。