Hantera WebViews
Lär dig hur du hanterar datainsamling med WebViews i en mobilapp.
Förutsättningar
- 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 - översikt.
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 letar upp func loadUrl()
funktionen i final class SwiftUIWebViewModel: ObservableObject
klassen. 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)")
}
The AEPEdgeIdentity.Identity.getUrlVariables
API ställer in variablerna så att URL:en 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 i Referenshandbok för API:t för Edge Network Extension.
Validera
Så här kör du koden:
-
Granska installationsanvisningar för att ansluta simulatorn eller enheten till Assurance.
-
Gå till Inställningar i appen
-
Tryck på View… för att visa Terms of Use.
{width="300"} {width="300"}
-
I Assurance-gränssnittet letar du efter URL-variabler för Edge Identity Response -händelsen från com.adobe.griffon.mobile leverantör.
-
Markera händelsen och granska urlvariable fältet i ACPExtensionEventData objekt, som bekräftar att följande parametrar finns i URL
adobe_mc
,mcmid
ochmcorgid
.Ett exempel
urvariables
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
.Nästa: Identitet