Verarbeiten von WebViews
Erfahren Sie, wie Sie die Datenerfassung mit WebViews in einer Mobile App handhaben.
Voraussetzungen
- App mit installierten und konfigurierten SDKs erfolgreich erstellt und ausgeführt.
Lernziele
In dieser Lektion erfahren Sie Folgendes:
- Erfahren Sie, warum Sie WebViews in Ihrer App besonders berücksichtigen müssen.
- Den Code verstehen, der zum Verhindern von Tracking-Problemen erforderlich ist.
Mögliche Tracking-Probleme
Wenn Sie Daten aus dem nativen Teil der App und von einer WebView innerhalb der App senden, generiert jede ihre eigene Experience Cloud-ID (ECID), was zu getrennten Treffern und überhöhten Besuchs-/Besucherdaten führt. Weitere Informationen zur ECID finden Sie in der ECID-Übersicht.
Um diese unerwünschte Situation zu beheben, ist es wichtig, die ECID des Benutzers aus dem nativen Teil Ihrer App an eine WebView zu übergeben, die Sie möglicherweise in Ihrer App verwenden möchten.
Die in der WebView verwendete AEP Edge Identity-Erweiterung erfasst die aktuelle ECID und fügt sie zur URL hinzu, anstatt eine Anfrage für eine neue ID an Adobe zu senden. Die Implementierung verwendet dann diese ECID, um die URL anzufordern.
Implementierung
Navigieren Sie zu Luma > Luma > Views > Info > TermsOfServiceSheet und suchen Sie die func loadUrl()
in der final class SwiftUIWebViewModel: ObservableObject
. Fügen Sie den folgenden Aufruf hinzu, um die Web-Ansicht zu verarbeiten:
// Handle web view
AEPEdgeIdentity.Identity.getUrlVariables {(urlVariables, error) in
if let error = error {
print("Error with Webview", error)
return;
}
if let urlVariables: String = urlVariables {
urlString.append("?" + urlVariables)
guard let url = URL(string: urlString) else {
return
}
DispatchQueue.main.async {
self.webView.load(URLRequest(url: url))
}
}
Logger.aepMobileSDK.info("Successfully retrieved urlVariables for WebView, final URL: \(urlString)")
}
Die AEPEdgeIdentity.Identity.getUrlVariables
-API richtet die Variablen für die URL so ein, dass sie alle relevanten Informationen wie ECID und mehr enthalten. Im Beispiel verwenden Sie eine lokale Datei, aber für Remote-Seiten gelten dieselben Konzepte.
Weitere Informationen zur Identity.getUrlVariables
-API finden Sie im API-Referenzhandbuch für Erweiterungen von Identity for Edge Network.
Überprüfen
So führen Sie den Code aus:
-
Lesen Sie den Abschnitt Setup-Anweisungen, um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden.
-
Navigieren Sie zu Einstellungen in der App.
-
Tippen Sie auf die Schaltfläche View… , um die Terms of Use anzuzeigen.
-
Suchen Sie in der Assurance-Benutzeroberfläche nach dem Ereignis Edge Identity Response URL Variables vom Anbieter com.adobe.griffon.mobile.
-
Wählen Sie das Ereignis aus und überprüfen Sie das urlVariable im ACPExtensionEventData-Objekt, um zu bestätigen, dass die folgenden Parameter in der URL vorhanden sind:
adobe_mc
,mcmid
undmcorgid
.Nachfolgend finden Sie ein Beispiel für ein
urvariables
:-
Original (mit Escape-Zeichen)
code language-html adobe_mc=TS%3D1636526122%7CMCMID%3D79076670946787530005526183384271520749%7CMCORGID%3D7ABB3E6A5A7491460A495D61%40AdobeOrg
-
geschmückt
code language-html adobe_mc=TS=1636526122|MCMID=79076670946787530005526183384271520749|MCORGID=7ABB3E6A5A7491460A495D61@AdobeOrg
-
Leider ist das Debugging der Websitzung eingeschränkt. Beispielsweise können Sie den Adobe Experience Platform Debugger in Ihrem Browser nicht verwenden, um mit dem Debugging der Webansichtssitzung fortzufahren.
VisitorAPI.js
unterstützt.Weiter: Identität