WebViews verwerken
Leer hoe u gegevensverzameling kunt verwerken met WebViews in een mobiele app.
Vereisten
- App met SDK's geïnstalleerd en geconfigureerd met succes gemaakt en uitgevoerd.
Leerdoelstellingen
In deze les zult u:
- Begrijp waarom u speciale aandacht voor WebViews in uw app moet houden.
- Begrijp de code die wordt vereist om volgende kwesties te verhinderen.
Mogelijke problemen met bijhouden
Als u gegevens verzendt vanuit het native gedeelte van de app en vanuit een WebView in de app, genereert elk zijn eigen Experience Cloud-id (ECID), wat leidt tot verbroken resultaten en opgeblazen bezoek-/bezoekersgegevens. Meer informatie over ECID kan in het overzicht ECIDworden gevonden.
Om die ongewenste situatie op te lossen, is het belangrijk om de ECID van de gebruiker van het inheemse gedeelte van uw app tot een WebView over te gaan u in uw app zou kunnen willen gebruiken.
De AEP Edge Identity-extensie die in de WebView wordt gebruikt, verzamelt de huidige ECID en voegt deze toe aan de URL in plaats van een aanvraag naar de Adobe voor een nieuwe id te verzenden. De implementatie gebruikt deze ECID vervolgens om de URL aan te vragen.
Implementatie
Navigeer naar Luma > Luma > Views > Info > TermsOfServiceSheet en zoek de functie func loadUrl()
in de klasse final class SwiftUIWebViewModel: ObservableObject
. Voeg de volgende vraag toe om de Webmening te behandelen:
// 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)")
}
De AEPEdgeIdentity.Identity.getUrlVariables
API plaatst - omhoog de variabelen voor URL om alle relevante informatie, zoals ECID, en meer te bevatten. In het voorbeeld gebruikt u een lokaal bestand, maar op externe pagina's zijn dezelfde concepten van toepassing.
U kunt meer over Identity.getUrlVariables
API in de Identiteit voor de verwijzingsgids van de uitbreiding van de Edge Network APIleren.
Valideren
De code uitvoeren:
-
Herzie de sectie van opstellingsinstructiesom uw simulator of apparaat aan Verzekering te verbinden.
-
Ga naar de Settings in de app
-
Tik op de knop View… om de Terms of Use weer te geven.
{width="300"} {width="300"}
-
Zoek in de gebruikersinterface voor verzekeringen naar de gebeurtenis Edge Identity Response URL Variables van de com.adobe.griffon.mobile -leverancier.
-
Selecteer de gebeurtenis en bekijk het veld urlvariable in het ACPExtensionEventData -object, waarbij de volgende parameters worden bevestigd:
adobe_mc
,mcmid
enmcorgid
.Hieronder ziet u een voorbeeldveld
urvariables
:-
Origineel (met escape-tekens)
code language-html adobe_mc=TS%3D1636526122%7CMCMID%3D79076670946787530005526183384271520749%7CMCORGID%3D7ABB3E6A5A7491460A495D61%40AdobeOrg
-
Mooi
code language-html adobe_mc=TS=1636526122|MCMID=79076670946787530005526183384271520749|MCORGID=7ABB3E6A5A7491460A495D61@AdobeOrg
-
Jammer genoeg, is het zuiveren van de Webzitting beperkt. U kunt bijvoorbeeld het Adobe Experience Platform Debugger in uw browser niet gebruiken om de webweergavesessie te blijven opsporen.
VisitorAPI.js
.Volgende: Identiteit