瞭解如何在移動應用中使用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後,選擇事件並查看 urlvariables
的 ACPExtensionEventData
對象,確認URL中存在以下參數: adobe_mc
。 mcmid
, mcorgid
。
示例 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社區討論帖子