WebViews verarbeiten
Erfahren Sie, wie Sie die Datenerfassung mit WebViews in einer mobilen App durchführen.
Voraussetzungen
- App erfolgreich erstellt und ausgeführt, wobei SDKs installiert und konfiguriert sind.
Lernziele
In dieser Lektion werden Sie:
- Erfahren Sie, warum Sie WebViews in Ihrer App besonders berücksichtigen müssen.
- Machen Sie sich mit dem Code vertraut, der zur Vermeidung von Tracking-Problemen erforderlich ist.
Potenzielle Tracking-Probleme
Wenn Sie Daten aus dem nativen Teil der App und aus einer WebView innerhalb der App senden, generiert jede einzelne eine eigene Experience Cloud-ID (ECID), was zu getrennten Treffern und zu überhöhten Besuchs-/Besucherdaten führt. Weitere Informationen über die ECID finden Sie im 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 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 diese ECID dann, um die URL anzufordern.
Implementierung
Navigieren Sie zu Luma > Luma > Views > Info > TermsOfServiceSheet und suchen Sie nach func loadUrl()
-Funktion in final class SwiftUIWebViewModel: ObservableObject
-Klasse. Fügen Sie den folgenden Aufruf zur Verarbeitung der Webansicht hinzu:
// 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
Die 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, die gleichen Konzepte gelten jedoch für Remote-Seiten.
Weitere Informationen zum Identity.getUrlVariables
API im Referenzhandbuch zur Identity für die Edge Network Extension-API.
Überprüfen
So führen Sie den Code aus:
-
Überprüfen Sie die Einrichtungsanweisungen -Abschnitt, um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden.
-
Navigieren Sie zu Einstellungen in der App
-
Tippen Sie auf View… -Schaltfläche zum Anzeigen Terms of Use.
-
Suchen Sie in der Assurance-Benutzeroberfläche nach der URL-Variablen für Edge-Identitätsantwort -Ereignis aus com.adobe.griffon.mobile -Anbieter.
-
Wählen Sie das Ereignis aus und überprüfen Sie die urlvariable im Feld ACPExtensionEventData -Objekt, das bestätigt, dass die folgenden Parameter in der URL vorhanden sind:
adobe_mc
,mcmid
, undmcorgid
.Beispiel
urvariables
-Feld sehen Sie unten:-
Original (mit Escapezeichen)
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
-
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
.Weiter: Identität