Integración de Oracle Responsys con AppsFlyer

De un vistazo: Oracle Responsys, una plataforma de entrega y análisis de correo electrónico, integra AppsFlyer OneLink dentro de los correos electrónicos. Los destinatarios de correo electrónico que hacen clic en el enlace deben tener enlaces profundos a tu aplicación.

oracle-responsys-af-logo.png

Los ESP (proveedores de servicios de correo electrónico) pueden ser excelentes fuentes para el tráfico segmentado de usuarios.

Uno de los desafíos con los ESP es realizar una atribución y unos enlaces profundos correctos. Los ESP envuelven la URL del enlace profundo con el dominio de registro de clics de su propio ESP. Este procedimiento a menudo rompe la funcionalidad de los enlaces universales de iOS y los enlaces de aplicaciones de Android. 

Sin embargo, los enlaces profundos y el registro de clics siguen siendo posibles con los ESP que admiten enlaces universales y enlaces de aplicaciones además de su dominio de grabación de clics. Además, puedes configurar tu propio dominio de clic para que actúe como dominio de registro de clics.

Requisitos previos

iOSAndroid
  • Versión 4.9.0 del SDK de iOS para AppsFlyer (o superior)

Configuración del dominio de clic de Oracle Responsys

Sigue esta sección para configurar tu dominio de clic (dominio de registro del clic) en Oracle Responsys.

Paso 1: Configura un dominio de clic en Oracle Responsys

Para configurar un dominio de clic, sigue la guía oficial de Oracle Responsys sobre cómo crear dominios de clic. Oracle Responsys utiliza tablas de enlaces para ayudar a registrar clics para una campaña específica.

Ten en cuenta que, en las tablas de enlaces, puedes definir la URL de enlace IOS para que sea la misma que la URL de enlace:

Oracle-responsys-link-tracking-table.png

Una vez que estableces los dominios de clic en las Tablas de enlaces, Responsys utiliza estos dominios para envolver los OneLinks que incluyas en las campañas de correo electrónico. De esta manera, Responsys puede registrar clics en su sistema mientras conserva los OneLinks y la funcionalidad de enlaces profundos.

Paso 2: Proporciona a Responsys un archivo AASA (iOS) y un archivo Asset Links (Android)

AASA para iOS

Para que Responsys sea compatible con los enlaces universales de iOS, necesita un archivo AASA. Consulta las siguientes instrucciones.

Cuando configuras OneLink con enlaces universales, ya tienes un AASA asociado con OneLink. Para obtener el AASA:

  1. Ve a la configuración de OneLink y busca un OneLink que esté configurado con enlaces universales.
  2. Agrega /.well-known/apple-app-site-association al final de la URL de OneLink.
  3. Pega el OneLink en la barra de direcciones del navegador y presiona enter. Por ejemplo: <OneLinkSubdomain>.onelink.me/.well-known/apple-app-site-association. Cuando lo haces, el archivo AASA se descarga en tu computadora. Puedes abrirlo usando cualquier editor de texto simple.
  4. Envía este archivo AASA a Responsys. Para obtener más información y conocer más sobre el contenido de este archivo, consulta la página 11 de la guía de Oracle.

Asset Links para Android

Cuando configuras OneLink con enlaces de aplicaciones, ya tienes un archivo Asset Links asociado con OneLink. Para obtener el archivo Asset Links:

  1. Ve a la configuración de OneLink y busca un OneLink que esté configurado con enlaces de aplicaciones.
  2. Agrega /.well-known/assetlinks.json al final de la URL de OneLink.
  3. Pega el OneLink en la barra de direcciones del navegador y presiona enter. Por ejemplo:<OneLinkSubdomain>.onelink.me/.well-known/assetlinks.json. Cuando lo haces, el archivo Asset Links se descarga en tu computadora. Puedes abrirlo usando cualquier editor de texto simple.
  4. Envía este archivo Asset Links a Responsys. Para obtener más información y aprender más sobre el contenido de este archivo, consulta esta guía.

Configuración de tu aplicación

Paso 1 para Android: Configuración de tu aplicación para que sea compatible con App Links

Agregar el dominio de clic a la actividad en el manifiesto de Android

En el manifiesto de Android, agrega el host del dominio de clic y cualquier prefijo en la etiqueta de actividad de la actividad a la que quieres hacer un enlace profundo.

<activity android:name=".DeepLinkActivity">
    <intent-filter  android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
           <category android:name="android.intent.category.DEFAULT" />
           <category android:name="android.intent.category.BROWSABLE" />
           <data android:scheme="https"
               android:host="click.example.com"
               android:pathPrefix="/campaign" />
     </intent-filter>
</activity>

Configuración de la aplicación para resolver dominios de clic

El SDK necesita resolver el OneLink detrás del dominio de clic para obtener los detalles de la campaña. Los detalles se devuelven en el método onAppOpenAttribution.

Para resolver dominios de clic:

  1. Asegúrate de que la versión de tu SDK sea al menos 4.9.0.
  2. Enumera los dominios de clic en la API del SDK setResolveDeepLinkURLs. Esta API debe llamarse antes de la inicialización del SDK. Para obtener más información, consulta la documentación del SDK aquí.
    AppsFlyerLib.getInstance().setResolveDeepLinkURLs("click.example.com");
    • Importante: Si estás utilizando Movable Ink (MI) junto con Oracle, necesitas obtener el MI CNAME y los dominios internos de tu admanistrador de cuenta MI y agregarlos a SetResolveDeepLinkURLs, además del enlace de clic para Oracle. Por ejemplo:
      AppsFlyerLib.getInstance().setResolveDeepLinkURLs("oracle-click.example.com", "mi.example.com", "example.micpn.com");

Paso 1 para iOS: Configurar tu aplicación para que sea compatible con enlaces universales

En esta sección se explica cómo configurar tu aplicación para que sea compatible con enlaces universales.

Asociar dominios de clic en Xcode

  1. En Xcode, haz clic en tu proyecto.
  2. Haz clic en Capabilities (Capacidades).configure-xcode-deeplinking-domain.png
  3. Activa la opción Associated Domains (Dominios asociados).
  4. Haz clic en el signo + y agrega tu dominio de clic. Por ejemplo, applinks:click.example.com.

Paso 2: Configurar la aplicación para resolver dominios de clic

El SDK necesita resolver el OneLink detrás del dominio de clic para obtener los detalles de la campaña. Los detalles se devuelven en el método onAppOpenAttribution.

Para resolver dominios de clic:

  1. Asegúrate de que la versión de tu SDK sea al menos 4.9.0.
  2. Enumera los dominios de clic en la propiedad del SDK resolveDeepLinkURLs. Esta propiedad debe establecerse antes de la inicialización del SDK. Para obtener más información, consulta la documentación del SDK aquí.
    Objective-C Swift
    [AppsFlyerTracker sharedTracker].resolveDeepLinkURLs = @[@"example.com",@"click.example.com"];
    • Importante: Si estás utilizando Movable Ink (MI) junto con Oracle, necesitas obtener el MI CNAME y los dominios internos de tu administrador de cuenta MI y agregarlos a setResolveDeepLinkURLs, además del enlace de clic para Oracle. Ejemplos de dominios:
      • Dominio de Oracle: oracle-click.example.com
      • Dominio MI CNAME: mi.example.com
      • Dominio interno de MI: ejemplo.micpn.com
  3. Agrega el siguiente código para que el SDK pueda resolver el dominio de registro de clics:
    Objective-C Swift

    Agrega este código en AppDelegate.m

    - (NSDictionary *)allHTTPHeaderFieldsForResolveDeepLinkURL:(NSURL *)URL {
        if ([URL.host  isEqual: @"click.example.com"]) {
            return [NSDictionary dictionary];
        }
        else {
            return nil;
        }
    }

Envío de tu primer correo electrónico

  1. Crea una URL de OneLink en la página de Gestión de enlaces (o manualmente).
  2. Al crear la URL de OneLink, asegúrate de codificar por URL todos los valores de los parámetros.
  3. Los siguientes parámetros son muy recomendables para usar:
    • pid (media source): utiliza una fuente de medios que signifique este uso, por ejemplo Email.
    • c (campaña): el nombre de la campaña que se quiere medir.
    • af_dp: el esquema de URI de enlace profundo al que deseas enlazar profundamente a tus usuarios.
    • af_web_dp: dónde redirigir a los usuarios haciendo clic en el enlace en un dispositivo de escritorio.
    • af_ios_url: dónde redirigir a los usuarios que no tienen la aplicación haciendo clic en el enlace en un dispositivo iOS.
    • af_android_url: dónde redirigir a los usuarios que no tienen la aplicación haciendo clic en el enlace en un dispositivo Android.
  4. Introduce la URL de OneLink en el correo electrónico que hayas creado en Responsys. Ejemplo:
    <a href="greatapp.onelink.me/abcd/1234567">Download my great app!</a>
    En esta etapa, Responsys envuelve el enlace anterior con el dominio de clic que configuraste en los pasos anteriores. Cualquier clic en el dominio de clic redirige al enlace de atribución de OneLink. Si la aplicación está instalada en el dispositivo del usuario, el dominio de clic se enlaza profundamente a la aplicación.

 Ejemplo

Los parámetros de URL no están codificados por URL en este ejemplo, para que sean legibles.

https://greatapp.onelink.me/abcd?pid=Email&c=Spring_Newsletter&is_retargeting=true&
af_dp=testapp://path/to/content&af_web_dp=https://www.example.com/path/to/content&
af_ios_url=https://www.example.com/path/to/content&af_android_url=https://www.example.com/path/to/content

Prueba tus enlaces

Después de seguir todos los pasos requeridos mencionados anteriormente, crear la URL de OneLink adecuada y colocarla en un correo electrónico, envíate un correo electrónico de prueba.

¿Qué debes esperar?

Si tienes la aplicación instalada, la aplicación debe ser invocada. Si se implementan las API de enlaces profundos relevantes del SDK de AppsFlyer, debes tener un enlace profundo al contenido relevante.
Además, debe aparecer un clic tanto en el panel de control de AppsFlyer, atribuido a la fuente de medios y campaña proporcionadas, como también en los datos de Responsys.