Gestisci visualizzazioni Web
Scopri come gestire la raccolta dati con WebViews in un’app mobile.
Prerequisiti
- L'app con gli SDK installati e configurati è stata creata ed eseguita correttamente.
Obiettivi di apprendimento
In questa lezione verranno fornite le seguenti informazioni:
- Scopri perché è necessario prestare particolare attenzione alle visualizzazioni Web nell’app.
- Comprendi il codice necessario per evitare problemi di tracciamento.
Potenziali problemi di tracciamento
Se invii dati dalla parte nativa dell’app e da un WebView all’interno dell’app, ciascuno di essi genera il proprio ID Experience Cloud (ECID), che si traduce in hit disconnessi e dati gonfiati relativi a visite/visitatori. Ulteriori informazioni sull’ECID sono disponibili nella sezione Panoramica di ECID.
Per risolvere questa situazione indesiderata, è importante passare l’ECID dell’utente dalla parte nativa dell’app a una WebView che potrebbe essere utile utilizzare nell’app.
L'estensione AEP Edge Identity utilizzata all'interno di WebView raccoglie l'ECID corrente e lo aggiunge all'URL invece di inviare una richiesta all'Adobe per un nuovo ID. L’implementazione utilizza quindi questo ECID per richiedere l’URL.
Implementazione
Accedi a Luma > Luma > Views > Info > TermsOfServiceSheet, e individuare func loadUrl()
funzione in final class SwiftUIWebViewModel: ObservableObject
classe. Aggiungi la seguente chiamata per gestire la visualizzazione web:
// 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)")
}
Il AEPEdgeIdentity.Identity.getUrlVariables
API imposta le variabili per l’URL in modo che contengano tutte le informazioni rilevanti, come ECID e altro ancora. Nell’esempio si utilizza un file locale, ma gli stessi concetti si applicano alle pagine remote.
Puoi saperne di più sulle Identity.getUrlVariables
API in Guida di riferimento API dell’estensione Identity for Edge Network.
Convalida
Per eseguire il codice:
-
Rivedi istruzioni di configurazione per collegare il simulatore o il dispositivo ad Assurance.
-
Vai a Impostazioni nell’app
-
Tocca il View… per visualizzare Terms of Use.
{width="300"} {width="300"}
-
Nell’interfaccia utente Assurance, cerca Variabili URL di risposta dell’identità Edge evento da com.adobe.griffon.mobile fornitore.
-
Seleziona l’evento e controlla urlvariable campo in ACPExtensionEventData , a conferma della presenza dei seguenti parametri nell'URL:
adobe_mc
,mcmid
, emcorgid
.Un esempio
urvariables
di seguito:-
Originale (con caratteri di escape)
code language-html adobe_mc=TS%3D1636526122%7CMCMID%3D79076670946787530005526183384271520749%7CMCORGID%3D7ABB3E6A5A7491460A495D61%40AdobeOrg
-
Bellissimo
code language-html adobe_mc=TS=1636526122|MCMID=79076670946787530005526183384271520749|MCORGID=7ABB3E6A5A7491460A495D61@AdobeOrg
-
Sfortunatamente, il debug della sessione web è limitato. Non è possibile, ad esempio, utilizzare l'Adobe Experience Platform Debugger nel browser per continuare il debug della sessione di visualizzazione Web.
VisitorAPI.js
.Successivo: Identità