處理Web視圖

瞭解如何在移動應用中使用WebViews處理資料收集。

先決條件

  • 已成功構建並運行安裝並配置了SDK的應用。

學習目標

在本課中,您將:

  • 瞭解您為什麼必須對WebViews進行特殊考慮。
  • 瞭解防止跟蹤問題所需的代碼。

潛在跟蹤問題

如果從應用程式的本機部分和WebView發送資料,則每個應用程式都會生成自己的Experience CloudID(ECID)。 這導致不連接的點擊和訪問/訪問者資料的膨脹。 有關ECID的詳細資訊,請參閱 ECID概述

要解決這種不良情況,必須將用戶的ECID從本機部分傳遞到WebView。

WebView中的Experience CloudID服務JavaScript擴展從URL中提取ECID,而不是向Adobe發送新ID的請求。 ID服務使用此ECID跟蹤訪問者。

實作

在Luma示例應用中, TermsOfService.swift 檔案(在 Intro-Login_SignUp ),並找到以下代碼:

// Show tou.html
let url = Bundle.main.url(forResource: "tou", withExtension: "html")
let myRequest = URLRequest(url: url!)
self.webView.load(myRequest)

這是載入WebView的簡單方法。 在本例中,它是本地檔案,但相同的概念適用於遠程頁面。

重構Webview代碼,如下所示:

let url = Bundle.main.url(forResource: "tou", withExtension: "html")
if var urlString = url?.absoluteString {
    // Adobe Experience Platform - Handle Web View
    AEPEdgeIdentity.Identity.getUrlVariables {(urlVariables, error) in
        if let error = error {
            self.simpleAlert("\(error.localizedDescription)")
            return;
        }

        if let urlVariables: String = urlVariables {
            urlString.append("?" + urlVariables)
        }

        DispatchQueue.main.async {
            self.webView.load(URLRequest(url: URL(string: urlString)!))
        }
        print("Successfully retrieved urlVariables for WebView, final URL: \(urlString)")
    }
} else {
    self.simpleAlert("Failed to create URL for webView")
}

您可以瞭解有關 Identity.getUrlVariables API 邊緣網路擴展API參考指南

驗證

在審閱 設定說明 將模擬器或設備連接到Assurance,載入WebView並查找 Edge Identity Response URL Variables 事件 com.adobe.griffon.mobile 供應商。

要載入WebView,請轉到Luma應用的主螢幕,選擇「帳戶」表徵圖,然後在頁腳中選擇「使用條款」。

載入WebView後,選擇事件並查看 urlvariablesACPExtensionEventData 對象,確認URL中存在以下參數: adobe_mcmcmid, mcorgid

Webview驗證

示例 urvariables 欄位如下所示:

// Original (with escaped characters)
adobe_mc=TS%3D1636526122%7CMCMID%3D79076670946787530005526183384271520749%7CMCORGID%3D7ABB3E6A5A7491460A495D61%40AdobeOrg

// Beautified
adobe_mc=TS=1636526122|MCMID=79076670946787530005526183384271520749|MCORGID=7ABB3E6A5A7491460A495D61@AdobeOrg
注意

Platform Web SDK(2.11.0或更高版本)當前支援通過這些URL參數進行訪問者縫合, VisitorAPI.js

下一個: 身份

注意

感謝您花時間學習Adobe Experience Platform移動軟體開發工具包。 如果您有問題、想要共用一般反饋或對未來內容有建議,請就此共用 Experience League社區討論帖子

本頁內容