Administrar vistas web

Obtenga información sobre cómo gestionar la recopilación de datos con WebViews en una aplicación móvil.

Requisitos previos

  • La aplicación se ha creado y ejecutado correctamente con los SDK instalados y configurados.

Objetivos de aprendizaje

En esta lección, deberá hacer lo siguiente:

  • Comprenda por qué debe tener especial consideración para WebViews en la aplicación.
  • Comprenda el código necesario para evitar problemas de seguimiento.

Posibles problemas de seguimiento

Si envía datos desde la parte nativa de la aplicación y desde un WebView dentro de la aplicación, cada uno genera su propio ID de Experience Cloud (ECID), lo que provoca que se desconecten las visitas y se inflen los datos de visitas o visitantes. Puede encontrar más información sobre el ECID en la Información general de ECID.

Para solucionar esta situación no deseada, es importante pasar el ECID del usuario desde la parte nativa de la aplicación a un WebView que pueda querer utilizar en la aplicación.

La extensión de identidad de Edge de AEP utilizada dentro de WebView recopila el ECID actual y lo añade a la dirección URL en lugar de enviar una solicitud al Adobe para obtener un nuevo ID. A continuación, la implementación utiliza este ECID para solicitar la dirección URL.

Implementación

Vaya a Luma > Luma > Views > Info > TermsOfServiceSheet y busque el func loadUrl() función en la final class SwiftUIWebViewModel: ObservableObject clase. Agregue la siguiente llamada para administrar el visor 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)")
}

El AEPEdgeIdentity.Identity.getUrlVariables La API configura las variables para que la dirección URL contenga toda la información relevante, como ECID, etc. En el ejemplo se utiliza un archivo local, pero los mismos conceptos se aplican a las páginas remotas.

Puede obtener más información sobre Identity.getUrlVariables API en Guía de referencia de API de extensión de identidad para red perimetral.

Validación

Para ejecutar el código:

  1. Revise la instrucciones de configuración para conectar el simulador o dispositivo a Assurance.

  2. Vaya a la Configuración en la aplicación

  3. Pulse el botón View… para mostrar el Terms of Use.

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

  4. En la interfaz de usuario de Assurance, busque Variables de URL de respuesta de identidad de Edge evento de la com.adobe.griffon.mobile proveedor.

  5. Seleccione el evento y revise la urlvariable en el campo ACPExtensionEventData , confirmando que los siguientes parámetros están presentes en la dirección URL: adobe_mc, mcmid, y mcorgid.

    validación de webview

    Una muestra urvariables Campo visible a continuación:

    • Original (con caracteres de escape)

      code language-html
      adobe_mc=TS%3D1636526122%7CMCMID%3D79076670946787530005526183384271520749%7CMCORGID%3D7ABB3E6A5A7491460A495D61%40AdobeOrg
      
    • Embellecido

      code language-html
      adobe_mc=TS=1636526122|MCMID=79076670946787530005526183384271520749|MCORGID=7ABB3E6A5A7491460A495D61@AdobeOrg
      

Lamentablemente, la depuración de la sesión web es limitada. Por ejemplo, no puede utilizar el Adobe Experience Platform Debugger del explorador para continuar depurando la sesión de vista web.

NOTE
La vinculación de visitantes mediante estos parámetros de URL se admite en el SDK web de Platform (versiones 2.11.0 o posterior) y al utilizar VisitorAPI.js.
SUCCESS
Ahora ha configurado la aplicación para que muestre contenido basado en una URL en una vista web utilizando el mismo ECID que el ECID ya emitido por el SDK de Adobe Experience Platform Mobile.
Gracias por dedicar su tiempo a conocer el SDK móvil de Adobe Experience Platform. Si tiene preguntas, desea compartir comentarios generales o tiene sugerencias sobre contenido futuro, compártalas en este Entrada de discusión de la comunidad Experience League

Siguiente: Identidad

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