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

Gli ECID separati (Experience Cloud Identity) vengono generati quando invii dati dalla parte nativa dell’app e da un WebView all’interno dell’app. Questi ECID separati generano hit disconnessi e dati gonfiati su visite e visitatori. Ulteriori informazioni sull'ECID sono disponibili nella panoramica ECID.

Per risolvere gli hit disconnessi e i dati gonfiati, devi passare l’ECID dell’utente dalla parte nativa dell’app a un WebView che potresti voler 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 ad Adobe per un nuovo ID. L’implementazione utilizza quindi questo ECID per richiedere l’URL.

Implementazione

Per implementare la visualizzazione Web:

iOS

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:

code language-swift
// 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 Identity for Edge Network.

Android

Passa a Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > views > WebViewModel e individua la funzione fun loadUrl() in class WebViewModel: ViewModel(). Aggiungi la seguente chiamata per gestire la visualizzazione web:

code language-kotlin
// Handle web view
Identity.getUrlVariables {
    urlVariables = it
    val baseUrl = getHtmlFileUrl("tou.html")

    val finalUrl = if (urlVariables.isNotEmpty()) {
        "$baseUrl?$urlVariables"
    } else {
        baseUrl
    }

    Handler(Looper.getMainLooper()).post {
        webView.loadUrl(finalUrl)
    }
    MobileSDK.shared.logInfo("TermsOfServiceSheet - loadUrl: Successfully loaded WebView with URL: $finalUrl")
}

L'API 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 Identity for Edge Network.

Convalida nell’app

Per eseguire il codice:

  1. Consulta la sezione istruzioni di installazione per collegare il simulatore o il dispositivo ad Assurance.
  2. Vai a Impostazioni nell'app
  3. Tocca il pulsante View… per visualizzare Terms of Use.
iOS
{width="300"} {width="300"}
Android
{width="300"} {width="300"}

Convalidare con Assurance

  1. Nell'interfaccia utente di Assurance, cerca l'evento Variabili URL di risposta identità di Edge dal fornitore com.adobe.griffon.mobile.

  2. Selezionare l'evento e rivedere il campo urlvariable nell'oggetto ACPExtensionEventData, confermando la presenza dei seguenti parametri nell'URL: adobe_mc, mcmid e mcorgid.

    convalida visualizzazione Web {modal="regular"}

    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. Ad esempio, non è possibile utilizzare Adobe Experience Platform Debugger nel browser per continuare il debug della sessione di visualizzazione Web.

NOTE
L'unione dei visitatori tramite questi parametri URL è supportata in Platform Web SDK (versioni 2.11.0 o successive) e quando si utilizza VisitorAPI.js.
SUCCESS
Ora hai configurato l’app per visualizzare il contenuto in base a un URL in una visualizzazione web utilizzando lo stesso ECID già rilasciato dal SDK mobile di Adobe Experience Platform.
Grazie per aver dedicato tempo all'apprendimento di Adobe Experience Platform Mobile SDK. Se hai domande, vuoi condividere commenti generali o suggerimenti su contenuti futuri, condividili in questo post di discussione della community Experience League

Successivo: Identità

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b