Integración de AppsFlyer con Xamarin

17. marzo 2017 12:20 by Javier Cantos in Desarrollo de aplicaciones para móviles, Mobile, Xamarin  //  Tags:   //   Comentarios (0)

Si de algo carecen las plataformas de ventas de las aplicaciones móviles, es de falta de información y obtención de datos de las instalaciones y uso de nuestra app móvil. Para ello existen muchos frameworks de ayuda para complementar y hacer mediciones sobre el uso de las apps (eMMa incluso española), pero os recomiendo uno que me ha cautivado y se trata de AppsFlyer.

Cuenta con un plan gratuito de treinta días y unos precios por instalación y dispositivo bastante razonables (https://www.appsflyer.com/pricing), una de las cosas que mas me ha llamado la atención es su integración con Xamarin, dispone de plugins tanto para Android como iOS, y de eso se trata nuestro post, de como integrar nuestra aplicación Xamarin con la plataforma AppsFlyer.

Para ello lo primero que tenemos que hacer es darnos de alta y crearnos una cuenta, posteriormente validaremos nuestro correo y accederemos a la plataforma, el interfaz es bastante intuitivo, así que nos ayuda perfectamente en la creación de nuestra primera app, la información que necesitamos tener a mano es la url de cada una de las tiendas en las que tenemos publicada nuestra aplicación (Apple Store o Play Store, bueno Windows también lo soporta :-().

Una vez dada de alta las diferentes versiones de las aplicaciones para las plataformas en las que vayamos a trabajar pasamos a ponernos los guantes y a la faena, aquí tenéis las diferentes opciones de integración que nos permite AppsFlyer: https://support.appsflyer.com/hc/en-us/categories/201114756-SDK-Integrations.

Integración con Xamarin Android

Lo primero que hacemos es agregar al proyecto Droid de nuestra solución el siguiente paquete: https://www.nuget.org/packages/AppsFlyerXamarinBindingAndroid/, luego tendremos que agregar el using:

using Com.Appsflyer;

A la clase MainActivity del proyecto Android, además de añadir la siguiente línea justo después del OnCreate

AppsFlyerLib.Instance.StartTracking (this.Application, "YOUR_DEV_KEY");

El valor del parámetro "YOUR_DEV_KEY" se obtiene desde la opción "Configuration" >> "App Settings" en la plataforma de AppsFlyer.

Integración con Xamarin iOS

Al igual que en el caso anterior, lo primero que hacemos es agregar al proyecto iOS de nuestra solución el siguiente paquete: https://www.nuget.org/packages/AppsFlyerXamarinBinding, luego tendremos que agregar el using:

using AppsFlyerXamarinBinding;

A la clase AppDelegate del proyecto iOS, además de añadir las siguientes líneas al método FinishedLaunching:

            tracker.AppleAppID = "1234567890";
            tracker.AppsFlyerDevKey = "YOUR_DEV_KEY";
#if DEBUG
            tracker.IsDebug = true;
#endif
            tracker.TrackAppLaunch();

El valor de AppleAppID lo podéis obtener de la URL de publicación de la App en el AppleStore pero tenéis que quitarle el prefijo "id", solo hay que introducir el valor numérico.

Conclusiones

Eso es todo, si queréis hacer tracking más espécifico para siguimiento de determinados eventos o acceso a una vista concreta de vuestra aplicación también podéis hacerlo y en la documentación oficial del producto tenéis más información y detalle, nosotros nos hemos limitado a hacer un tracking sobre las instalaciones y uso de nuestra app. Una de las utilidades que permite esta integración es que AppsFlyer es compatible con Facebook Apps (partner) y permite invertir en un modelo de CPI performance, lo veremos en otro Post más adelante. 

Otra de los aspectos a tener en cuenta es que no disponen de un plugin o componente concreto para Xamarin Forms, pero es tan simple su integración que no ha sido necesario aunque quizás si empezamos a hacer tracking específico de determinados eventos de nuestra app igual si lo hechamos en falta, pero quien dijo miedo!, ya tenemos una excusa para pensar en hacernos nuestro plugin para Xamarin Forms.

Por poner un pero, una cosita que he echado de menos es la posibilidad de indicar en la integración con Android de fijar el parámetro "IsDebug", cuestión que en iOS si es posible, una manera de evitar conteos para instalaciones y pruebas locales.

Profesional independiente en el sector Tecnologías de la Información y la Comunicación, especializado en entornos web Microsoft e integración de sistemas con dispositivos móviles

Más sobre mi

Archivo del blog

Paymill Wrapper. NET es una API para una fácil integración de facturación recurrente y pagos online a través del producto  Paymill.com, puedes ver más información sobre el proyecto en Codeplex y GitHub