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:

  1. Rivedi istruzioni di configurazione per collegare il simulatore o il dispositivo ad Assurance.

  2. Vai a Impostazioni nell’app

  3. Tocca il View… per visualizzare Terms of Use.

    {width="300"} {width="300"}

  4. Nell’interfaccia utente Assurance, cerca Variabili URL di risposta dell’identità Edge evento da com.adobe.griffon.mobile fornitore.

  5. Seleziona l’evento e controlla urlvariable campo in ACPExtensionEventData , a conferma della presenza dei seguenti parametri nell'URL: adobe_mc, mcmid, e mcorgid.

    convalida webview

    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.

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à emesso dall’SDK di Adobe Experience Platform Mobile.
Grazie per aver dedicato il tuo tempo all’apprendimento dell’SDK di Adobe Experience Platform Mobile. Se hai domande, vuoi condividere feedback generali o suggerimenti su contenuti futuri, condividili su questo Experience League post di discussione community

Successivo: Identità

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