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 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 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 die Funktion func loadUrl()
in der Klasse final class SwiftUIWebViewModel: ObservableObject
. 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
-API richtet die Variablen für die URL ein, um alle relevanten Informationen wie ECID und mehr zu enthalten. Im Beispiel verwenden Sie eine lokale Datei, die gleichen Konzepte gelten jedoch für Remote-Seiten.
Weitere Informationen zur Identity.getUrlVariables
-API finden Sie im Referenzhandbuch zur API für die Identität für Edge Network-Erweiterung .
Überprüfen
So führen Sie den Code aus:
-
Lesen Sie den Abschnitt Setup instructions , um Ihren Simulator oder Ihr Gerät mit Assurance zu verbinden.
-
Navigieren Sie zu den Einstellungen in der App.
-
Tippen Sie auf die Schaltfläche View… , um die Terms of Use anzuzeigen.
{width="300"} {width="300"}
-
Suchen Sie in der Assurance-Benutzeroberfläche vom Anbieter com.adobe.griffon.mobile nach dem Ereignis Edge Identity Response URL Variables .
-
Wählen Sie das Ereignis aus und überprüfen Sie das Feld urlvariable im Objekt ACPExtensionEventData , um sicherzustellen, dass die folgenden Parameter in der URL vorhanden sind:
adobe_mc
,mcmid
undmcorgid
.Unten finden Sie ein Beispiel für ein
urvariables
-Feld:-
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
unterstützt.Weiter: Identität