Instalación del SDK de Adobe Experience Platform Mobile

En esta lección, debe implementar el SDK móvil con las extensiones y la configuración correspondientes al entorno de desarrollo de la propiedad de etiquetas.

NOTA

Adobe Experience Platform Launch se está integrando en Adobe Experience Platform como un conjunto de tecnologías de recopilación de datos. Se han implementado varios cambios terminológicos en la interfaz que debe tener en cuenta al usar este contenido:

  • El platform launch (lado del cliente) ahora es tags
  • El lado del servidor de platform launch es ahora event forwarding
  • Las configuraciones de Edge ahora son datastreams

Objetivos de aprendizaje

Al final de esta lección, debe poder:

  • Obtener las instrucciones de instalación de la propiedad de la etiqueta móvil
  • Comprender la diferencia entre los entornos de desarrollo, de ensayo y de producción.
  • Crear y editar el Podfile.
  • Importar el SDK móvil en el archivo AppDelegate.
  • Verificar que el SDK se haya implementado correctamente.

Obtener las instrucciones de instalación

Las Instrucciones de instalación para las propiedades de etiquetas móviles son una colección de fragmentos de código que se ejecutan en el terminal o que se agregan a ubicaciones específicas de la aplicación móvil.

Haga clic en la pestaña Environments en la navegación superior para ir a la página de entornos. Tenga en cuenta que los entornos de desarrollo, de estado y de producción ya se han creado. Estos se corresponden con las etapas habituales del proceso de programación y lanzamiento del código. Los desarrolladores escriben un código primero en un entorno de desarrollo (Development). Cuando han completado su trabajo, lo envían a un entorno de ensayo (Staging) para que el control de calidad y otros equipos lo revisen. Una vez estén conformes los equipos de control de calidad y otros equipos, el código se publica en el entorno de producción (Production), que es el entorno del público que los visitantes ven cuando descargan la aplicación.

Las etiquetas permiten entornos de desarrollo adicionales, lo que resulta útil en organizaciones grandes en las que varios desarrolladores trabajan en distintos proyectos al mismo tiempo.

Desarrollo, ensayo y producción son los únicos entornos que necesitamos para completar el tutorial.

Haga clic en Entornos en la barra de navegación superior

En la fila Desarrollo (Development), haga clic en el icono Instalar para abrir el modal del código de incrustación.

Haga clic en el icono para abrir el modal del código de incrustación

Veamos las instrucciones paso a paso.

Crear el Podfile e instalar los pods

Si ya ha utilizado propiedades de etiquetas en sitios web, una de las primeras cosas de las que se dará cuenta es que hay mucha más información en este modal que en las propiedades web.

El SDK de Adobe Mobile para iOS utiliza CocoaPods para administrar las dependencias entre sus distintos componentes. Si todavía no tiene CocoaPods instalados en su entorno de desarrollo, siga las instrucciones de instalación de su sitio web. Además, si aún no ha descargado la aplicación Bus Booking, guárdela en su equipo local y extraiga el archivo zip en su escritorio.

Para crear el Podfile

  1. Abra la aplicación Terminal en su Mac®.

  2. Vaya a la carpeta del proyecto donde guardó la aplicación Bus Booking Objective-C (p. ej. cd Desktop/busbooking-mobileapps-master/Objective-C/).

    Vaya al directorio del proyecto

  3. En la interfaz de recopilación de datos, cambie el sistema operativo a iOS

  4. Copie la primera instrucción de iOS pod init, haciendo clic en el icono Copiar.

    Copiar TINIC de pod en el portapapeles en la interfaz de recopilación de datos

  5. En la aplicación de terminal, ejecute el comando pod init y espere a que se complete.

    Ejecutar TINIC de pod

  6. En la aplicación de terminal, abra el Podfile con el comando open podfile.

    Ejecutar Podfile abierto

  7. Su equipo puede abrir un cuadro de diálogo preguntando con qué aplicación desea abrir el Podfile. Elija cualquier editor de texto, como TextEdit.

  8. En la interfaz de recopilación de datos, copie la lista de dependencias haciendo clic en el icono Copy. Observe que hay una línea correspondiente a cada una de las extensiones agregadas en la lección anterior. Cada extensión tiene su propio conjunto de código que se basa en la extensión principal Mobile y solo se puede añadir o eliminar con una actualización de la aplicación:

    Copiar dependencias al portapapeles en la interfaz de recopilación de datos

  9. En el editor de texto, pegue las dependencias del portapapeles justo después de la línea # Pods for BusBookingObjectiveC.

  10. Guarde las actualizaciones en el Podfile en el editor de texto.

    Añadir dependencias y guardar

  11. Ahora puede cerrar el editor de texto.

  12. En la interfaz de Recopilación de datos, copie la siguiente instrucción de iOS pod repo update haciendo clic en el icono Copiar

    Copiar actualización de repositorios de pod

  13. En la aplicación de terminal, ejecute el comando pod repo update y espere a que se complete (puede tardar unos minutos).

    Ejecución de la actualización del repositorio de pod

  14. En la interfaz de Recopilación de datos, copie la siguiente instrucción de iOS pod install haciendo clic en el icono Copiar

    Copiar la instalación del pod en el portapapeles en la interfaz de recopilación de datos

  15. En la aplicación de terminal, ejecute el comando pod install y espere a que se complete.

    Ejecución de la instalación del pod

  16. Ahora puede cerrar la ventana de terminal.

  17. Abra una ventana de Finder, vaya a la carpeta en la que guardó la aplicación Bus Booking y confirme que se han creado el archivo BusBookingObjectiveC.xcworkspace, el Podfile, el archivo Podfile.lock y la carpeta Pods.

    Confirmar pods en Finder

Actualizar AppDelegate

Ahora es el momento de actualizar la aplicación para importar el SDK:

  1. Abra el archivo BusBookingObjectiveC.xcworkspace en XCode.

  2. Abra el archivo AppDelegate.m.

    Abra el archivo AppDelegate

  3. En la interfaz de recopilación de datos, desplácese hasta la sección Añadir código de inicialización y elija Objetivo C como idioma de iOS que está utilizando.

  4. Copie las instrucciones de importación haciendo clic en el primer icono Copiar de la sección Añadir código de inicialización:

    Copiar las instrucciones de importación en el portapapeles

  5. En XCode, pegue estas instrucciones de importación en el archivo AppDelegate.m después de la importación para AppDelegate.h.

    Pegar las instrucciones de importación en el archivo AppDelegate

  6. En la interfaz de recopilación de datos, copie las dos líneas relacionadas con la extensión principal haciendo clic en el segundo icono Copy de la sección Add Initialization Code. La primera línea activa las instrucciones de registro de la consola (las opciones disponibles son “DEBUG”, “VERBOSE”, “WARNING” y “ERROR”). La segunda línea apunta al identificador único del entorno de etiquetas. Esto es importante, ya que tendrá que actualizar este valor cuando todo esté listo para implementar la aplicación en el entorno de producción.

    Copiar las instrucciones principales en el portapapeles

  7. En XCode, pegue estas instrucciones principales en el archivo AppDelegate en la parte superior del método application(_:didFinishLaunchingWithOptions:):

    Pegar las instrucciones principales en el archivo AppDelegate

  8. En la interfaz de recopilación de datos, copie las instrucciones de extensión haciendo clic en el tercer icono Copy de la sección Add Initialization Code:

    Copiar las instrucciones de extensión en el portapapeles

  9. En XCode, pegue estas instrucciones de extensión en el archivo AppDelegate justo antes de la línea return true del método application(_:didFinishLaunchingWithOptions:):

    Pegar las instrucciones de extensión en el archivo AppDelegate

NOTA

Las instrucciones de instalación de Mobile que se proporcionan en la interfaz de recopilación de datos incluyen las instrucciones de importación y registro para las extensiones de ID, ciclo vital y señal, así como la inicialización de las métricas de ciclo vital. Estas extensiones se consideran parte de la extensión principal de Mobile. Si no desea utilizar estas extensiones en la aplicación, no es necesario importar, registrar ni implementar otro código asociado con estas extensiones.

Además, hay opciones de implementación adicionales que deben tenerse en cuenta al usar estas extensiones (por ejemplo, puede poner en pausa o reiniciar la colección de ciclo vital cuando el usuario esté en segundo plano o en primer plano de la aplicación). Puede obtener más información sobre esto en la documentación de la extensión principal de Mobile.

Verificar la implementación

  1. Guardar el proyecto XCode

  2. Ejecute la aplicación e iníciela en el simulador. Si no tiene ningún dispositivo simulador configurado, hágalo con uno ahora, asegurándose de configurar un dispositivo que ejecute iOS 10+. Nos gusta utilizar un simulador de iPhone 8 porque es fácil hacer clic en el botón Home con un ratón.

    Ejecute la aplicación e iníciela en el emulador

  3. Espere a que se inicie el simulador y abra completamente la aplicación en la pantalla de reserva (puede tardar unos minutos).

    Espere a que la aplicación se abra completamente

  4. Confirme que se realizan llamadas a los servidores de Adobe en la consola XCode.

    Buscar llamadas en la consola

A continuación, se muestran algunos ejemplos de llamadas específicas que puede buscar:

  1. Llamadas para recuperar la configuración de etiquetas (filtre la consola a adobedtm.com). Tenga en cuenta las configuraciones de extensión que se han visto en la lección anterior. Aunque añadir la extensión requiere una actualización de la aplicación, esta configuración se puede administrar externamente con etiquetas y cambiar en cualquier momento:

    2019-03-13 16:53:26.633816-0400 BusBookingObjectiveC[56630:3854917] [AMSDK DEBUG <RulesDownloader>]: Successfully downloaded Rules from 'https://assets.adobedtm.com/launch-EN360aefc739b04410816f751a95861744-development-rules.zip'
    
    {"target.propertyToken":"","target.timeout":5,"global.privacy":"optedin","analytics.backdatePreviousSessionInfo":true,"analytics.offlineEnabled":true,"build.environment":"dev","rules.url":"https://assets.adobedtm.com/launch-EN360aefc739b04410816f751a95861744-development-rules.zip","experienceCloud.org":"7ABB3E6A5A7491460A495D61@AdobeOrg","target.clientCode":"techmarketingdemos","target.autoFetch":true,"target.fetchBackground":false,"lifecycle.sessionTimeout":300,"target.environmentId":"busbookingapp","analytics.server":"tmd.sc.omtrdc.net","analytics.rsids":"tmd-mobile-dev1","analytics.batchLimit":0,"property.id":"PRb4881271498b4f2cbaf67d38a8f3891a","global.ssl":true,"analytics.aamForwardingEnabled":true}
    
  2. Solicitud al servicio de ID (filtre la consola a demdex.net). En este ejemplo, el ID (d_mid) ya se ha establecido y se vuelve a registrar.

    2019-03-13 16:53:26.655908-0400 BusBookingObjectiveC[56630:3854937] [AMSDK DEBUG <com.adobe.module.identity>]:
    
    Sending request (https://dpm.demdex.net/id?d_rtbd=json&d_ver=2&d_orgid=7ABB3E6A5A7491460A495D61@AdobeOrg&d_mid=67027929491180584128922600814231770586)
    
  3. Respuesta del servicio de ID (filtre la consola a ID Service). Observe cómo el valor mid coincide con el valor d_mid de la solicitud anterior:

    2019-03-13 16:53:27.397048-0400 BusBookingObjectiveC[56630:3854937] [AMSDK DEBUG <com.adobe.module.identity>]:
    
    ID Service - Got ID Response (mid: 67027929491180584128922600814231770586, blob: j8Odv6LonN4r3an7LhD3WZrU1bUpAkFkkiY1ncBR96t2PTI, hint: 9, ttl: "604800000 ms")
    
  4. Solicitud de Analytics (filtre la consola a Analytics request).

    2019-03-13 16:53:27.689061-0400 BusBookingObjectiveC[56630:3855024] [AMSDK DEBUG <AnalyticsHitDatabase>]: Analytics request was sent with body
    
    (ndh=1&c.&a.&AppID=BusBookingObjectiveC%201%20%281.0%29&CarrierName=%28null%29&DailyEngUserEvent=DailyEngUserEvent&DayOfWeek=4&DeviceName=x86_64&HourOfDay=16&InstallDate=3%2F13%2F2019&InstallEvent=InstallEvent&LaunchEvent=LaunchEvent&Launches=1&MonthlyEngUserEvent=MonthlyEngUserEvent&OSVersion=iOS%2012.1&Resolution=750x1334&RunMode=Application&TimeSinceLaunch=1&internalaction=Lifecycle&locale=en-US&.a&.c&ce=UTF-8&cp=foreground&mid=67027929491180584128922600814231770586&pageName=BusBookingObjectiveC%201%20%281.0%29&pe=lnk_o&pev2=ADBINTERNAL%3ALifecycle&t=00%2F00%2F0000%2000%3A00%3A00%200%20240&ts=1552510406)
    

¡Felicidades, ha agregado el SDK a una aplicación móvil!

Siguiente: “Añadir el servicio de ID de Adobe Experience Platform” >

En esta página