WebViewsの処理
モバイルアプリでWebViewsを使用してデータ収集を処理する方法を説明します。
前提条件
- SDKがインストールされ、設定されたアプリが正常に構築され、実行されました。
学習目標
このレッスンでは、次の操作を行います。
- アプリでWebViewsを特に考慮する必要がある理由を理解します。
- トラッキングの問題を防ぐために必要なコードを理解します。
潜在的なトラッキングの問題
アプリのネイティブ部分とアプリ内のWebViewからデータを送信すると、別々(Experience Cloud ID)のECIDが生成されます。 こうした個別のECIDは、接続されていないヒットや、訪問データや訪問者データの高騰につながります。 ECIDの詳細については、ECIDの概要を参照してください。
切断されたヒットと膨らんだデータを解決するには、アプリのネイティブ部分からアプリで使用する可能性のあるWebViewにユーザーのECIDを渡す必要があります。
WebView内で使用されるAEP Edge ID拡張機能は、現在のECIDを収集し、新しいIDのリクエストをAdobeに送信する代わりにURLに追加します。 次に、実装はこのECIDを使用してURLをリクエストします。
実装
Web ビューを実装するには:
Luma > Luma > Views > Info > TermsOfServiceSheetに移動し、final class SwiftUIWebViewModel: ObservableObject クラスのfunc loadUrl()関数を見つけます。 Web ビューを処理する次の呼び出しを追加します。
| code language-swift |
|---|
|
AEPEdgeIdentity.Identity.getUrlVariables APIは、URLの変数を設定し、ECIDなど、関連するすべての情報を含めるようにします。 この例では、ローカルファイルを使用していますが、同じ概念がリモートページにも適用されます。
Identity.getUrlVariables APIについて詳しくは、Edge Network拡張機能APIのID リファレンスガイド を参照してください。
Android
class WebViewModel: ViewModel()でfun loadUrl()関数を見つけます。 Web ビューを処理する次の呼び出しを追加します。
| code language-kotlin |
|---|
|
Identity.getUrlVariables APIは、URLの変数を設定し、ECIDなど、関連するすべての情報を含めるようにします。 この例では、ローカルファイルを使用していますが、同じ概念がリモートページにも適用されます。
Identity.getUrlVariables APIについて詳しくは、Edge Network拡張機能APIのID リファレンスガイド を参照してください。
アプリでの検証
コードを実行するには:
- シミュレーターまたはデバイスをAssuranceに接続するには、設定の手順 セクションを確認してください。
- アプリの 設定 に移動します
- 「View…」ボタンをタップして、Terms of Useを表示します。
Assurance での検証
-
Assurance UIで、com.adobe.griffon.mobile ベンダーからEdge ID Response URL Variables イベントを探します。
-
イベントを選択し、ACPExtensionEventData オブジェクトのurlvariable フィールドを確認し、次のパラメーターがURLに存在することを確認します:
adobe_mc、mcmid、およびmcorgid。 {modal="regular"}
urvariablesフィールドの例を次に示します。-
オリジナル(エスケープされた文字を含む)
code language-html adobe_mc=TS%3D1636526122%7CMCMID%3D79076670946787530005526183384271520749%7CMCORGID%3D7ABB3E6A5A7491460A495D61%40AdobeOrg -
Beautified
code language-html adobe_mc=TS=1636526122|MCMID=79076670946787530005526183384271520749|MCORGID=7ABB3E6A5A7491460A495D61@AdobeOrg
-
残念ながら、web セッションのデバッグには制限があります。 例えば、ブラウザーでAdobe Experience Platform Debuggerを使用して引き続きwebview セッションのデバッグを行うことはできません。
VisitorAPI.jsを使用する場合にサポートされます。次:ID