Hantera WebViews
Lär dig hur du hanterar datainsamling med WebViews i en mobilapp.
Förhandskrav
- App med SDK:er har installerats och konfigurerats.
Utbildningsmål
I den här lektionen kommer du att:
- Förstå varför du måste ta särskild hänsyn till WebViews i din app.
- Förstå koden som krävs för att förhindra spårningsproblem.
Potentiella spårningsproblem
Om du skickar data från appens inbyggda del och från en WebView i appen, genererar varje sitt eget Experience Cloud-ID (ECID), vilket resulterar i frånkopplade träffar och uppblåsta besöksdata. Mer information om ECID finns i ECID-översikten.
För att lösa den oönskade situationen är det viktigt att skicka användarens ECID från den inbyggda delen av appen till en WebView som du kanske vill använda i appen.
Det AEP Edge Identity-tillägg som används i WebView samlar in det aktuella ECID:t och lägger till det i URL:en i stället för att skicka en begäran till Adobe om ett nytt ID. Implementeringen använder sedan detta ECID för att begära URL:en.
Implementering
Navigera till Luma > Luma > Views > Info > TermsOfServiceSheet och leta upp funktionen func loadUrl()
i klassen final class SwiftUIWebViewModel: ObservableObject
. Lägg till följande anrop för att hantera webbvyn:
// 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)")
}
API:t AEPEdgeIdentity.Identity.getUrlVariables
ställer in variablerna för URL:en så att de innehåller all relevant information, som ECID, med mera. I exemplet använder du en lokal fil, men samma koncept gäller för fjärrsidor.
Du kan läsa mer om Identity.getUrlVariables
-API:t i API-referenshandboken för Edge Network-tillägg.
Validera
Så här kör du koden:
-
Granska avsnittet Installationsanvisningar för att ansluta simulatorn eller enheten till Assurance.
-
Gå till Settings i appen
-
Tryck på knappen View… för att visa Terms of Use.
{width="300"} {width="300"}
-
I kontrollgränssnittet letar du efter händelsen Edge Identity Response URL Variables från leverantören com.adobe.griffon.mobile.
-
Markera händelsen och granska fältet urlvariable i objektet ACPExtensionEventData, vilket bekräftar att följande parametrar finns i URL
adobe_mc
,mcmid
ochmcorgid
.Ett exempel på
urvariables
-fält visas nedan:-
Original (med escape-tecken)
code language-html adobe_mc=TS%3D1636526122%7CMCMID%3D79076670946787530005526183384271520749%7CMCORGID%3D7ABB3E6A5A7491460A495D61%40AdobeOrg
-
Fantastisk
code language-html adobe_mc=TS=1636526122|MCMID=79076670946787530005526183384271520749|MCORGID=7ABB3E6A5A7491460A495D61@AdobeOrg
-
Tyvärr är felsökningen av webbsessionen begränsad. Du kan till exempel inte använda Adobe Experience Platform Debugger i webbläsaren för att fortsätta felsöka webbvisningssessionen.
VisitorAPI.js
används.Nästa: Identitet