Integración iOS

¿Por qué utilizar el SDK de EMMA en tu APP?

Descarga e Integración básica

Integración Acquisition

Integración Behavior

Integración Notificaciones Push

Integración Messaging

Añadir alerta de valoración de la App

Deshabilitar seguimiento publicitario

Depurando el código

Subir tu App a Appstore

Equivalencias Build - Versión SDK

 

¿Por qué utilizar el SDK de EMMA en tu App?

El SDK de EMMA proporciona una funcionalidad única para el seguimiento completo de los usuarios de tu App. Hemos desarrollado un SDK muy resistente, seguro y ligero con más de 2.000 Millones de instalaciones hasta la fecha. Y por supuesto, fácil de integrar.

EMMA puede medir el origen de instalaciones (incluyendo Facebook, Twitter y Google), sesiones, eventos que realizan los usuarios, localización, ... con un potente módulo de segmentación para poder evaluar el ROI y la retención de tus usuarios y fidelizarlos gracias a nuestras herramientas de comunicación Push e In-App Messaging.

EMMA iOS SDK es compatible con todos los dispositivos (iPhone, iPod, iPad) con versión iOS 8 o superior.

 

Descarga e integración básica 

 

Descarga EMMA iOS SDK

Ver el Changelog

Descarga a través de CocoaPods.

La última versión de EMMA está disponible a través de CocoaPods

  1. Instala CocoaPods usando
    gem install cocoapods 
  2. Si es la primera vez que usas CocoaPods, puedes opcionalmente ejecutar
    pod setup
    para bajarte el repositorio con todos los “specs" y consultarlos en local, esto directamente creara una copia del repositorio de GitHub.
  3. Crea un archivo en tu proyecto Xcode llamado
    Podfile
    A continuación añade la linea:
    pod 'eMMa' 
  4. Finalmente, ejecuta en el directorio del proyecto Xcode lo siguiente
    pod install

    Una vez hecho, CocoaPods descargará e instalará la librería de EMMA creando un nuevo archivo .xcworkspace. Por último, abrir este archivo en Xcode.

Descarga manual

Tienes más información sobre cómo realizar la descarga manual de la última versión de EMMA en esta guía.

 

Inicialización del SDK & Evento Install (Requerimiento mínimo)

NOTA: Este es el requerimiento mínimo para comenzar a medir instalaciones de tu App.

  • Importar el SDK de EMMA en tu Application Delegate.
  • Añadir el código de inicialización de sessión (startSession)

Puedes obtener tu SessionKey añadiendo tu app a My Account siguiendo estas instrucciones.

Opcional

En algunos casos es necesario cambiar la url de la API de EMMA (p.e proxies), en este caso se requiere usar el método setWebServiceURL después de realizar el startSession

A continuación tenemos un ejemplo de inicialización básica de EMMA.

 

Actualización a la versión 4.5

Si necesitas más información sobre cómo actualizar el SDK a la versión 4.5 consulta este artículo.

 

Integración Acquisition

En la sección de Acquisition podrás tener los datos de todas las campañas gestionadas con EMMA. A continuación se detalla la documentación específica para que puedas gestionar las campañas que desarrolles con Twitter y, además, la documentación detallada de cómo integrar la funcionalidad de Powlink.

Integración del Powlink

Para soportar Powlink en iOS, primero, es necesario configurar en el Dashboard de EMMA el subdominio en powlink.io que usará tu aplicación, y cubrir los datos del Apple Store Bundle ID y el Apple Team ID. Esto se configura en el apartado de My Account, en la sección de Media Source Settings de tu aplicación.

Captura_de_pantalla_2018-11-09_a_las_15.07.29.png

Lo siguiente es crear un Provisioning Profile para tu aplicación, en tu Apple's Developer Center, para tu aplicación debes activar Associated Domains, descargar el Provisioning Profile e instalarlo en Xcode.

Conociendo el subdominio que corresponde a tus Powlinks, en el proyecto de tu aplicación en Xcode, seleccionando el target de tu aplicación, en el apartado de Capabilities debes activar la opción de Associated Domains.

EMMA_8.png

Al activar esta opción, Xcode te pedirá que elijas un Apple Team ID, tras elegirlo podrás añadir los dominios que manejará tu aplicación, debes añadir el subdominio de powlink.io que has configurado en el dashboard de EMMA , precedido de "applinks:"

applinks:mysubdomain.powlink.io

applinks:shortsubdomain.pwlnk.io

Captura_de_pantalla_2018-11-09_a_las_14.58.25.png

Ahora sólo queda manejar el Powlink dentro de tu aplicación, para ello debes implementar el método application:continueUserActivity:restorationHandler: en tu AppDelegate. Procesando los paths de los Powlinks recibidos podrás lanzar distintas partes de tu aplicación.

Si estas usando un tracker con un dominio que no es el de EMMA (.powlink.io o pwlnk.io), es necesario añadir el dominio al iniciar la librería.

 

 

Medición de Twitter App Promotion

Si quieres saber cómo realizar la integración para la medición de Twitter App Promotion consulta la siguiente guía.

 

Integración Behavior

Con EMMA puedes realizar una integración completa del SDK que te permita conocer la localización de tus usuarios, cómo se registran en tu App, cuántas transacciones realizan y hasta sus características propias. Es decir, toda la información de tus usuarios que obtendrás en la sección de Behavior.

En los siguientes artículos se especifica la integración de la medición de cada uno de estos aspectos:

 

Medición Eventos

La plataforma de EMMA hace la diferenciación entre dos tipos de eventos. Los que la plataforma incluye por defecto y los eventos Custom que quieras integrar según la estructura de tu aplicación.

Eventos por defecto

En los eventos por defecto EMMA permite medir Leads (o registros), usuarios registrados fuera de la app, registros antiguos y cualquier etiqueta que desees vincular a un usuario de cara a poder crear segmentos personalizados y los Login (usuarios que han iniciado sesión a través de un correo ya existente o bien a través de alguna plataforma social).

Sigue los siguientes pasos para su integración:

Sign Up/Registros/Leads

RegisterUser mide un registro completo de un dispositivo en la base de datos de EMMA para un user_id (NSString) y un email (NSString)

Login

LoginUser recoge los datos del usuario en la base de datos de EMMA para un user_id (NSString) y un email (NSString). Cuando se loguea puedes usar [EMMA loginDefault] para recoger otro Sign In del usuario con los mismos datos.

Eventos custom

Con EMMA puedes medir cada acción del usuario como un evento personalizable.

Usa trackEvent para contar el número de veces que ciertos eventos suceden durante una sesión en tu app.

Esto puede ser útil para medir cuántas veces los usuarios convierten en diferentes acciones, por ejemplo. Existe una limitación de medición de 30 eventos por app.

Puedes obtener los tokens de eventos creándolos en la plataforma de EMMA. Si un token no existente es enviado a EMMA se devolverá un error.

Para la request de eventos se puede añadir un delegado para mostrar el estado de la petición y si esta devuelve datos (p.e una rule) o no. Para añadir el delegado:

Medición transacciones

EMMA permite medir cualquier transacción o compra que se realice en tu app. Este es el ejemplo paramedir una transacción:

Iniciar transacción

Inicia una transacción. Puedes añadir los siguientes parámetros:

orderId ID de la transacción que se obtiene al realizar la compra (requerido)
customerId ID del usuario en la app. Si no lo envías EMMA usará el ID del login si existe (requerido).
totalPrice  Precio total de la transacción (requerido)
coupon  Cupón usado en la transacción (opcional)
extras Cada parámetro extra podrá ser usado posteriormente para filtrar en EMMA (opcional).
currencyCode Código de moneda válido (EUR,USD,..). Si el código de moneda no es válido será usado EUR (opcional).

Puedes usar métodos abreviados si no necesitas todos los parámetros. Puedes encontrarlos en EMMA.h.

Añadir Productos a la transacción

Añade productos a la transacción iniciada. startOrder siempre debe ser usado con anterioridad.Puedes pasar los siguientes parámetros:

PRODUCT_ID

: NSString con el ID del producto.

NAME

: NSString con el nombre de producto.

QTY

: Etiqueta con la cantidad de producto.

PRICE

: Etiqueta con el precio del producto.

EXTRAS

: NSDictionary con hasta 20 parámetros extra como la moneda, la categoría...

Medición de la transacción

Mide la transacción finalizada. Este método debe ser usado siempre después de startOrder y de que todos los productos hayan sido añadidos.

El orden de medición debe ser siempre startOrder>addProduct(*distinct products)>trackOrder

Cancelación de la transacción

Cancela la transacción por el ID de la misma. Si tu app permite la cancelación de las transacciones este método actualizará los datos de transacciones en EMMA.

 

Medición Tags

Este método actualiza o añade parámetros extra de cara a obtener mejor segmentación en el filtrado "Users with tag". Puede ser usado en el registro, en el login o en cualquier otra sección de la app donde se recoja información del usuario.

Si quieres usar la EMMA RULE On his Birthday envía la fecha de cumpleaños con el método para el TAG en el siguiente formato:

Nombre: BIRTHDAY

Valor: YYYY-MM-DD

Info

Recuerda revisar los logs del SDK para consultar el listado de TAGS que no pueden ser usados por estar reservados para el sistema de EMMA.

 

Medición localización

Si tu app tiene los permisos requeridos, puedes medir la localización de cada dispositivo usando el siguiente código:

 

Información del usuario [Get User Info]

Get User ID

Este método devuelve el EMMA ID como un NSString. Este ID es único para cada usuario y puede ser usado para filtrar cuando se envían comunicaciones.

Get User Info

Info

Los datos que devuelve la llamada se obtienen de la propia información que recopila el SDK. En un primer arranque puede tardar unos segundos en recopilar la información, si la llamada se realiza justo después después del startSession podría devolver nil.

Este método devuelve toda la información del usuario en un formato JSON. El JSON incluye los siguientes parámetro, todos en formato de NSDictionary con todos los valores NSString:

id  El mismo ID único que en el método (getUserID)
udid ID único por instalación de la app (IDFA/AAID habitualmente)
emma_build  Identifica la versión del SDK de EMMA que se está usando
email Email del usuario en caso de que el registro o el login estén integrados
customerid  ID asignado al usuario tras el registro o login
device  Modelo del dispositivo del usuario
app_version  Versión de la app
os_version  Versión del sistema operativo
os_build  Build del SO
token  Identificador del push (token)
latitude Latitud del usuario en el caso de que se permita y mida la geolocalización
longitude Longitud del usuario en el caso de que se permita y mida la geolocalización
emma_carrier  Operador de telefonía
emma_connection  Tipo de conexión (wifi o 3g)
emma_city Ciudad del usuario en el caso de que se permita y mida la geolocalización
emma_country País del usuario en el caso de que se permita y mida la geolocalización
emma_state País del usuario en el caso de que se permita y mida la geolocalización
emma_accept_language   Lenguaje establecido en la app
emma_timezone_name  TimeZone del dispositivo
{tagX....tagY} Tags de usuario que se traquean en la llama trackExtraUserInfo

Para poder usar este método es necesario tener contratada la feature Raw Export.

 

Información de la atribución de instalación

A través del método explicado más abajo, podremos obtener los datos de la atribución de la instalación de cada usuario, pudiendo obtener la siguiente información:

  • Status {String}: Nos devuelve el estado de la atribución. Éste puede tener varios tipos:
    • pending: La instalación todavía está pendiente de atribución esto se debe a la ventana de atribución, máximo 2 días).
    • campaign: Significa que la instalación ha sido atribuida a una campaña, source y provider concreto.
    • organic: La instalación ha sido orgánica. Si la atribución es orgánica, significa que la instalación no estará vinculada a una campaña y por lo tanto la campaña será nula.
  • Id de la campaña {Number}
  • Nombre de la campaña {String}
  • Id de la fuente {Number}
  • Nombre de la fuente {String}
  • Id del proveedor {Number}
  • Nombre del proveedor {String}

Para poder obtener información sobre la atribución de la instalación, se puede seguir el siguiente ejemplo:

 

Integración Notificaciones Push

NOTA: Para diferenciar una notificación de nuestro sistema de push respecto otros sistemas, el payload enviado por EMMA contiene un flag denominado "eMMa". 

EMMA te permite añadir un potente sistema de Notificaciones Push fácil de integrar. La plataforma también permite enviar info a través de las notificaciones y generar cualquier acción dentro de tu app gracias a ellas.

Para que las notificaciones Push funcionen correctamente en tu aplicación deberás integrar los siguientes puntos:

 

Push Auth Key

El APNs Auth Key de Apple es un tipo de certificado (.p8) que remplazada a sus antecesores, el certificado APNs de producción y el certificado APNs de desarrollo. Desde EMMA recomendamos el uso de este certificado por los siguiente motivos:

  • Unifica el certificado de desarrollo y producción en un solo certificado.
  • Es un certificado que no se tiene que renovar cada año.
  • Un solo certificado sirve para todas las apps de la cuenta de Apple.

Para el uso de este certificado es necesario:

  • El certificado .p8 descargado del panel de Apple Developers.
  • El bundle ID de la aplicación que tiene que recibir los Push.
  • El team ID de la cuenta de Apple.

Para obtener el certificado hay que visitar la cuenta de Apple Developers

Captura_de_pantalla_2018-11-12_a_las_0_02_25.png

Le damos click en la sección de Certificados, IDs y Perfiles.

Captura_de_pantalla_2018-11-12_a_las_0_02_52.png

Una vez en Apple le damos click en la sección Keys y añadimos una key.

Captura_de_pantalla_2018-11-12_a_las_0_13_18.png

Añadimos el nombre, seleccionamos el check de APNs y le damos a continuar.

Captura_de_pantalla_2018-11-12_a_las_0_05_43.png

Confirmamos y descargamos el archivo .p8 que genera.

Captura_de_pantalla_2018-11-12_a_las_0_13_56.png

Añadimos el archivo(.p8), el team ID y el bundle ID en EMMA -> My Account

Captura_de_pantalla_2018-11-12_a_las_10_23_57.png

A la hora de añadir el certificado es necesario introducir el team ID para hacer la validación con Apple del mismo. Abajo en el apartado de "Media source settings" añadiremos el bundle ID y el team ID para utilizarse en el envío de las notificaciones.

Para obtener el bundle ID y team ID se puede hacer de la siguiente forma. El ID es equivalente al bundle ID y el prefix es equivalente al team ID.

Captura_de_pantalla_2018-11-12_a_las_10_30_59.png

 

Usando EMMA Notificaciones Push

Una vez generados los certificados de tu app, ya puedes empezar a integrar las Notificaciones Push. A continuación tenemos un ejemplo de un AppDelegate completo con la integración del push:

Cambios en iOS 10

Para registrar el token es necesario activar las Notificaciones Push en Capabilities.

EMMA_14.png

Push Tag

Por otra parte, ahora puedes medir todos los mensajes enviados por los Push y mostrar en una alerta custom más de una vez. Para hacer esto tienes que añadir este método en tu delegate especificado en eMMaPush Message.

Push Message

Rich Push, sonidos personalizados en las notificaciones push

Para usar sonidos personalizados en las notificaciones que envíes con EMMA, tienes que añadir los archivos de sonido .caf que quieras a tu aplicación, en la raíz del paquete de tu aplicación o en Library/Sounds/. Recuerda que debes emplear para los sonidos los mismos nombres de archivo en iOS y Android.

Rich Push URL uso DeepLinking

Puedes redireccionar las aperturas de las notificaciones push a una sección en tu app. Para ello debes usar una estructura como esta:

scheme://host/page1/page2/page3

De cara a habilitar tu app para recibir scheme deep link debes:

1) Ir a Xcode > App Target > Info > URL Types e introducir tu custom scheme.

EMMA_15.png

 2) Añadir este método a tu AppDelegate:

Añade el método handleLink para gestiones internas de EMMA. Por ejemplo para ejecutar campañas de Re-Engagement.

 

iOS Rich Push Notification

En iOS 10 se han introducido las Rich Push Notifications, las cuales permiten añadir imagen, video, audio o gifs como adjuntos en las notificaciones push.

Las Rich Push Notifications se habilitan mediante una Notification Service Extension, un binario aparte dentro del paquete de tu aplicación. Antes de mostrar una nueva notificación push, el sistema llamará a tu Notication Service Extension permitiéndote modificar el contenido y los adjuntos que serán mostrados.

Creando la Notification Service Extension

Para crear la Notification Service Extension en tu proyecto, en Xcode eliges File -> New -> Target y eliges la plantilla de la Notification Service Extension.

EMMA_16.png

EMMA_17.png

Puedes nombrar la extensión a tu gusto, la llamaremos RichPushExtension para este tutorial. Asegúrate de incluir la extensión en tu aplicación.

EMMA_18.png

Al pulsar en Finish se te preguntará para activar la extensión, haz click en Activate para finalizar.

EMMA_19.png

Al acabar estos pasos, tres nuevos archivos han sido añadidos al directorio con el nombre de la extensión que hemos creado (RichPushExtension en nuestro caso): NotificationService.h, NotificationService.m and Info.plist.

EMMA_20.png

Por último asegúrate de que estan habilitadas las notificaciones push para la extensión que hemos creado. Selecciona tu nueva extension (RichPushExtension), elige Capabilities y activa Push Notifications.

EMMA_21.png

Cambios en el código

Abre el archivo NotificationService. Elimina todo el código de la plantilla y pega el código que indicamos a continuación:

 

Integración Messaging

Messaging incluye 7 formatos comunicativos diferentes que puedes integrar para impactar a tus usuarios:

En muchos de estos formatos comunicativos puedes delimitar las url's de redirección que quieres introducir. Con la funcionalidad de EMMA Whitelist puedes delimitar qué contenido quieres que se muestre en las webviews programadas.

Gestión de campañas In-App

A continuación tenemos un ejemplo completo de la integración de campañas In-App de EMMA.

*En los siguientes pasos se especificará cuales son los atributos que deben usarse para cada tipo de campaña

Campaña con etiqueta

Si lo deseas puedes pasar un custom String que etiquete la Campaña en caso de que utilices más de una Campaña del mismo tipo en tu app y necesites distinguirlas.

Añadir interfaz

Si lo deseas puedes pasar añadir una (o varias) interfaz para recibir los diferentes eventos referentes a las Campañas de tu app.

Usando EMMA Banner

Los Banners de EMMA te permiten mostrar un banner en tu app con información promocional customizada. El banner será mostrado en función de la configuración que establezcas en el dashboard de EMMA. Es una comunicación que permite mostrarle al usuario una webview externa con contenido HTML o redireccionar a otra pestaña de la aplicación (vía deeplink).

EMMA_22.png

Para mostrar los Banners en tu app necesitas al menos integrar el primer método descrito a continuación:

IMPORTANTE: Se recomienda hacer la llamada dentro:

viewDidLayoutSubviews

Revisar Banner

 

Usando EMMA Startview

La Startview de EMMA te permite mostrar información en HTML al inicio de tu como una webview.

EMMA_23.png

Para permitir el uso de Startviews debes integrar:

 

Usando EMMA Adball

EMMA AdBall te permite mostrar un pequeño gráfico circular en su aplicación que el usuario puede desplazar libremente por la pantalla de inicio de la app y también cerrarla. Si se presiona sobre este aparece un pop-up con contenido HTML.

EMMA_24.png

Si deseas habilitar el AdBall necesitas al menos implementar el primer método. Se puede configurar siguiendo estas indicaciones.

Revisar AdBall

Comprobar si se está mostrando el AdBall

Utilizar para comprobar si el AdBall se está mostrando en la pantalla del dispositivo. Devuelve BOOL true si se está mostrando en la pantalla.

 

Usando EMMA Dynamic Tab

El EMMA tabBar View (DynamicTab) te permite mostrar información en HTML en una nueva sección de su aplicación (sólo en el caso de que ya utilice un TabBar en su app). El nuevo TabBar Item puede ser creado localmente o en la plataforma de EMMA.

EMMA_25.png

Si se realiza de ambas formas, prevalecerá el TabBar Item dinámico creado directamente en EMMA .

Para habilitar esta posibilidad en su app necesitará implementar al menos el primer método. Se puede configurar siguiendo estas indicaciones:

Importante

El índex del ítem del TabBar y el ítem propiamente dicho puede ser especificado en la plataforma de EMMA. Cómo se indicaba anteriormente, la configuración en EMMA prevalecerá siempre sobre la configuración local.

 

Usando EMMA Strip

El EMMA Strip te permite mostrar un banner de texto sobre donde se sitúa habitualmente el Status Bar con un mensaje para sus usuarios. Este puede ser desplegado en cualquier pantalla de la app.

EMMA_26.png

Revisar Strip

 

Usando EMMA Coupons

EMMA Coupons te permite obtener, verificar, canjear cupones que se hayan definido y configurado en la plataforma de EMMA.

EMMA_27.png

Ejemplo completo de integración de Coupons

Se devolverá un listado de los cupones existentes listándose primero los cupones automáticos ordenados de más reciente a  más antiguos y después se listarán los cupones clásicos ordenados también de más reciente a más antiguo.

En el block response, obtendremos un diccionario con la información relativa a cada coupon disponible para el usuario. Para cada coupon se dispone de la siguiente información: id (identificador interno de EMMA), código, número máximo de canjeos, número de veces canjeado, título, descripción, imagen …

Detalles de un Coupon

Con esta llamada, obtendremos la información relativa a un coupon concreto.

El parámetro couponId debe ser el identificador interno de EMMA de un coupon, identificador que se puede obtener de una llamada a Coupons hecha con anterioridad.

En el block response, obtendremos un diccionario con la información relativa al coupon consultado: id (identificador interno de EMMA), código, número máximo de canjeos, número de veces canjeado, título, descripción, imagen …

Revisar la validez de un Coupon

Con esta llamada podemos comprobar si el usuario puede canjear el coupon indicado.

El parámetro couponId debe ser el identificador interno de EMMA de un coupon, identificador que se puede obtener de una llamada a checkForCoupons hecha con anterioridad.

En el block response, nos indicará el número de veces que el usuario todavía puede canjear el coupon.

Canjear un coupon

Con esta llamada, el usuario canjea el coupon indicado.

El parámetro couponId debe ser el identificador interno de EMMA de un coupon, identificador que se puede obtener de una llamada a Coupons hecha con anterioridad.

Para enviar la impresión y el click en el cupón hay que añadir los siguientes métodos en la app, donde se realizan ambas acciones:

Cancelar un coupon

Con esta llamada se puede cancelar el canjeo de un coupon realizado con anterioridad.

El parámetro couponId debe ser el identificador interno de EMMA de un coupon identificador que se puede obtener en la llamada de tipo Coupons.

Opcionalmente se puede indicar un parámetro count si se quiere cancelar más de un canjeo realizado con anterioridad, si no se indica, se cancelará una vez el coupon.

Nota

El error 511 informa de que el redeem no se ha podido completar por alguna razón. Algunas posibles causas podrían ser la interrupción de la conexión con la BBDD o múltiples redenciones afectadas por un capping.  Recomendamos, en estos casos, tratar este error y avisar al usuario final.

 

Usando EMMA NativeAd

EMMA NativeAd te permite obtener la información de un NativeAd correspondiente a una plantilla que se haya definido y configurado en la plataforma de EMMA.

Formatos-integracion-iOS.png

Ejemplo completo de la integración NativeAd

Obtendremos toda la información del NativeAd disponible para el usuario referente al templateId, según las condiciones que se hayan configurado en la plataforma de EMMA.

Se llama a onReceived:EMMANativeAd* nativeAd en el caso de que exista un NativeAd correspondiente a la plantilla con identificador “templateId”.

EMMANativeAd contiene todos los campos configurados en EMMA para esta plantilla de NativeAd, para obtenerlos se usará el siguiente método:

Una vez obtenidos todos los campos requeridos, ya se puede crear la vista para pintar este NativeAd en pantalla en función del diseño que se le quiera aplicar. Una vez pintado el NativeAd en pantalla es necesario llamar a este método para poder obtener las impresiones en el reporting:

Abrir un NativeAd

Con esta llamada, se mostrará el contenido del link configurado en el NativeAd desde la plataforma de EMMA. El método openNativeAd internamente envía el event click a EMMA.

Alternativamente, si no se usa este método se puede enviar el click llamando al método:

Para NativeAd múltiple se utilizará una subclase de EMMAInAppRequest, EMMANativeAdRequests. Hasta ahora el parámetro template ID iba en la clase EMMAInAppRequest, ahora quedará deprecated en esta y pasará a ser parámetro de la subclase EMMANativeAdRequest. Se podrá usar de ambas formas, pero la forma correcta será en la subclase.

NativeAd múltiple (devuelve todos los Native Ad disponibles de un Template) [Desde la version 4.2.5 de iOS SDK en adelante]

NativeAd único (devuelve el Native Ad más reciente disponible de un Template)

Ahora en iOS también se puede usar el método "inAppMessage" con delegado:

EMMA.inAppMessage(InAppType.NativeAd, andRequest: requestParams, andDelegate: self)

La diferencia es el parámetro batch que se  tendrá que poner a true en caso de que se quiera una recepción múltiple de NativeAd. Por defecto este valor será false.

Una vez obtenidos los NativeAd, la clase EMMANativeAd tendrá un nuevo campo tag de tipo string que podrá ser nil o contener el string con tag.

 if let tag = nativeAd.tag {...}

 

EMMA Whitelist

Versión mínima del SDK: 3.1.7 o superior

Con esta funcionalidad podemos limitar las urls que abrirá el SDK de EMMA , de modo que en las comunicaciones In-App, sólo se mostrarán en un Webview aquel contenido que empiece por alguna de las urls que hayamos indicado en la whitelist.

Si no indicamos ninguna url en la whitelist, cualquier url está permitida.

Esta funcionalidad afectaría a los Push (Rich URL), Banners, StartViews, AdBalls y DynamicTabs.

Las comunicaciones (Banners, StartViews, AdBalls y DynamicTabs)  pueden cargar contenido externo a la app mediante un Webview y para los Banners, AdBalls y DynamicTabs podrían cargar imágenes externas que también serían controladas por la whitelist.

Para un Push con Rich URL, si ésta no cumple, no se abriría la Webview correspondiente, pero el push sí que llega a la aplicación, hay que tener en cuenta que si en vez de una url se emplea un deeplink, el scheme del deeplink debe ser añadido a la whitelist para poder abrirlo.

Cómo se usa

Debemos llamar a este método después del starteMMaSession y antes de llamar a cualquier método relativo a las comunicaciones In-App.

Ejemplos

Si mi whitelist es “http://mydomain.com”.

Ejemplo 1:

Subimos al dashboard de EMMA un Banner con Target URL https://mydomain.com

El Banner no se mostrará, deberíamos añadir a la whitelist https://mydomain.com

Ejemplo 2:

Configuramos en el dashboard de EMMA una StartView con StartView URL http://www.mydomain.com

La StartView no se mostrará, deberíamos añadir a la whitelist http://www.mydomain.com

Ejemplo 3:

Configuramos en el dashboard de EMMA un Banner con Target URL http://mydomain.com/my/url y SmartPhone Banner URL http://subdomain.mydomain.com/my/image

El Banner no se mostrará, la url de la imagen no cumple con la whitelist, deberíamos añadir a la whitelist http://subdomain.mydomain.com

Ejemplo 4:

Subimos al dashboard de EMMA un Banner con Target URL http://mydomain.com/my/url/

El Banner se mostrará porque la url introducida en el campo Target URL empieza por el mismo protocolo y dominio que la url de la whitelist

Ejemplo 5:

Configuramos en el dashboard de EMMA una StartView con StartView URL http://mydomain.com/mypage.html&param=value

La StartView se mostrará porque la url introducida en el campo StartView URL empieza por el mismo protocolo y dominio que la url de la whitelist

 

Añadir alerta de valoración de la App

EMMA te hace más sencillo añadir una alerta para conseguir mayores valoraciones positivas en tu app.

Crear una Alerta de Valoración

Puedes usar métodos abreviados si no necesitas todos los parámetros. Puedes encontrar estos métodos en el EMMA.h.

 

Deshabilitar seguimiento publicitario

EMMA permite inhabilitar el trackeo o seguimiento para aquellos usuarios que manifiesten este deseo.

Este método es la mejor forma de adaptarse a la nueva RGPD (Reglamento General de la Protección de Datos).

La comunicación del usuario para expresar esta opción de no seguimiento debe ser tratada por la app haciendo una llamada al siguiente método:

En el caso de que se quiera volver a activar las comunicaciones del usuario, se puede utilizar este otro método:

 

Depurando el código

Este paso es opcional. Si necesitas ver el log de EMMA, puedes habilitarlo en la configuración de la sesión:

 

Subir tu App a AppStore

En 2014 Apple cambió su políticas de medición. La nueva política afecta directamente a la recogida del identificador para anunciantes (IDFA). Apple ha establecido que la recogida del IDFA está permitido en los siguientes supuestos: límite de frecuencia, eventos de conversión, estimar el número de usuarios únicos, seguridad y fraude y depuración del código.

EMMA  recoge este identificador para conocer los eventos de conversión y para la estimación de los usuarios únicos así que, en este caso, la obtención del IDFA está alineada con la política de Apple.

Para seguir todas las reglas de Apple es necesario que selecciones las siguientes opciones en iTunes Connect cuando estés subiendo tu app:

image.png

Teniendo seleccionadas estas casillas, EMMA podrá trabajar a pleno rendimiento y podrás usar la funcionalidad POWLINK sin romper ninguna política de Apple.

Si quieres inhabilitar el tracking del IDFA debes marcar las mismas casillas y llamar al siguiente método:

IMPORTANTE
El tracking del IDFA está siempre habilitado por defecto en EMMA . Si no quieres recoger el IDFA usa el siguiente método para inhabilitarlo:

[EMMA setUseIDFA:BOOL];

De todas formas tienes que marcar las casillas específicas del IDFA en iTunes Connect.

BOOL le dice a EMMA  cuando usar el tracking IDFA. Si es NO, el VendorID será usado. Puede estar habilitado/inhabilitado para futuras actualizaciones de la app.

 

Equivalencias Build - Versión SDK

EMMA Build SDK Version
47 3.1.1
48 3.1.1.
49 3.1.3
51 3.1.5
52 3.1.5
53 3.1.5
54 3.1.5.4
55 3.1.5.5
56 3.1.6
57 3.1.6.1
58 3.1.7
59 3.1.7.1
60 3.1.8
61 3.1.9
63 3.1.10
64 4.0
65 4.0.1
66 4.0.2
70 4.0.6
71 4.0.6.1
72 4.0.7
73 4.1
74 4.1.1
75 4.1.2
76 4.1.3
77 4.2
78 4.2.1
79 4.2.2
80 4.2.3
81 4.2.4
82 4.2.5
83 4.2.6
84 4.2.7
85 4.2.8
86 4.2.9
87 4.2.10
88 4.2.11
89 4.2.12
90 4.2.13
91 4.3.0
92 4.3.1
93 4.4.0
94 4.4.1
¿Tiene más preguntas? Enviar una solicitud

0 Comentarios

Inicie sesión para dejar un comentario.