Web ビューの処理
モバイルアプリで WebView を使用してデータ収集を処理する方法を説明します。
前提条件
- SDK がインストールおよび設定された状態で、アプリケーションが正常に構築および実行されました。
学習目標
このレッスンでは、次の操作を行います。
- アプリの web ビューに関して特別に考慮する必要がある理由を理解します。
- トラッキングの問題を防ぐために必要なコードを理解します。
潜在的なトラッキングの問題
個別(Experience Cloud ID)の ECID は、アプリのネイティブ部分と、アプリ内の WebView からデータを送信する際に生成されます。 これらの別々の ECID により、ヒットが切断され、訪問および訪問者データが水増しされます。 ECID について詳しくは、ECID の概要を参照してください。
切断されたヒットと水増しされたデータを解決するには、アプリのネイティブ部分から、アプリで使用する可能性のある WebView にユーザーの ECID を渡す必要があります。
WebView 内で使用されるAEP Edge ID 拡張機能は、現在の ECID を収集し、新しい ID のリクエストをAdobeに送信する代わりに URL に追加します。 次に、実装はこの ECID を使用して URL をリクエストします。
実装
Web 表示を実装するには:
Luma/Luma/Views/Info/TermsOfServiceSheet に移動し、func loadUrl()
クラス内の final class SwiftUIWebViewModel: ObservableObject
関数を探します。 Web ビューを処理する次の呼び出しを追加します。
code language-swift |
---|
|
AEPEdgeIdentity.Identity.getUrlVariables
API は、ECID などのすべての関連情報を含むように URL の変数を設定します。 この例では、ローカルファイルを使用していますが、同じ概念がリモートページにも適用されます。
Identity.getUrlVariables
API について詳しくは、Edge Network拡張機能 API リファレンスガイドを参照してください。
Android
fun loadUrl()
で class WebViewModel: ViewModel()
関数を探します。 Web ビューを処理する次の呼び出しを追加します。
code language-kotlin |
---|
|
Identity.getUrlVariables
API は、ECID などのすべての関連情報を含むように URL の変数を設定します。 この例では、ローカルファイルを使用していますが、同じ概念がリモートページにも適用されます。
Identity.getUrlVariables
API について詳しくは、Edge Network拡張機能 API リファレンスガイドを参照してください。
アプリでの検証
コードを実行するには:
- 設定手順の節を参照して、シミュレーターまたはデバイスをAssuranceに接続します。
- アプリの 設定 に移動します
- 「View…」ボタンをタップして Terms of Use を表示します。




Assurance での検証
-
Assurance UI で、{com.adobe.griffon.mobile ベンダーの {0 Edge ID 応答 URL 変数 イベントを探します。
-
イベントを選択し、ACPExtensionEventData オブジェクトの urlvariable フィールドを確認し、URL に
adobe_mc
、mcmid
およびmcorgid
のパラメーターが存在することを確認します。urvariables
フィールドの例を以下に示します。-
オリジナル (エスケープ文字付き)
code language-html adobe_mc=TS%3D1636526122%7CMCMID%3D79076670946787530005526183384271520749%7CMCORGID%3D7ABB3E6A5A7491460A495D61%40AdobeOrg
-
美しい
code language-html adobe_mc=TS=1636526122|MCMID=79076670946787530005526183384271520749|MCORGID=7ABB3E6A5A7491460A495D61@AdobeOrg
-
残念ながら、web セッションのデバッグには制限があります。 例えば、ブラウザーでAdobe Experience Platform Debuggerを使用して webview セッションのデバッグを続行することはできません。
VisitorAPI.js
の使用時にサポートされます。次のトピック:ID