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 panoramica 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
Passare a Luma > Luma > Views > Info > TermsOfServiceSheet e individuare la funzione func loadUrl()
nella classe final class SwiftUIWebViewModel: ObservableObject
. 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)")
}
L'API AEPEdgeIdentity.Identity.getUrlVariables
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.
Ulteriori informazioni sull'API Identity.getUrlVariables
sono disponibili nella Guida di riferimento dell'API dell'estensione di Edge Network.
Convalidare
Per eseguire il codice:
-
Consulta la sezione istruzioni di installazione per collegare il simulatore o il dispositivo ad Assurance.
-
Vai a Impostazioni nell'app
-
Tocca il pulsante View… per visualizzare Terms of Use.
{width="300"} {width="300"}
-
Nell'interfaccia utente Assurance, cerca l'evento Variabili URL di risposta identità di Edge dal fornitore com.adobe.griffon.mobile.
-
Selezionare l'evento e rivedere il campo urlvariable nell'oggetto ACPExtensionEventData, confermando la presenza dei seguenti parametri nell'URL:
adobe_mc
,mcmid
emcorgid
.Di seguito è riportato un esempio di campo
urvariables
:-
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à