En resumen: Atribuye las instalaciones de aplicaciones a los fabricantes de los dispositivos para las aplicaciones agregadas a los dispositivos antes de salir de fábrica. Nota: Consulta todos los demás métodos de atribución de precarga.
Introducción
¿Qué es una campaña de preinstalación?
Las campañas de preinstalación permiten a los propietarios de aplicaciones llegar a una audiencia muy amplia sin necesidad de ejecutar campañas en línea.
En las campañas de preinstalación, los propietarios de aplicaciones pueden solicitar a los fabricantes de dispositivos que preinstalen sus aplicaciones en los dispositivos antes de salir de fábrica.
Las campañas de preinstalación también pueden ser una colaboración con fuentes de medios de terceros, que trabajan con diversos fabricantes en nombre de los propietarios de aplicaciones.
¡Importante!
AppsFlyer cuenta una instalación una vez que una aplicación se inicia por primera vez. Por lo tanto, el número de preinstalaciones mostradas es el número de usuarios que inician tu aplicación, y no el número de dispositivos en los que está preinstalada.
Ventajas de registrar las instalaciones de las campañas de preinstalación
La atribución de campañas de preinstalación permite medir el:
- número de usuarios que inician tu aplicación preinstalada
- número de usuarios de aplicaciones que aporta cada fabricante
- LTV de cada usuario y determinar qué fabricante aporta usuarios de alto valor
¿Cómo puedo medir las campañas de preinstalación?
Hay cuatro formas de medir las campañas de preinstalación. Para más información, consulta la sección Configuración de este artículo.
Visualización de los datos de preinstalación
Las preinstalaciones aparecen en el panel de control de AppsFlyer bajo la fuente de medios atribuida, como cualquier otro evento de instalación. Sin embargo, el nombre de su campaña es siempre Preinstalación.
Nota
Puedes especificar diferentes nombres de campaña para las preinstalaciones con el método API del SDK.
Nota
A partir del 24 de mayo de 2022:
- Match_type para las campañas de preinstalación de fábrica se muestra como
preload_conf
en los reportes de raw data. - AppsFlyer muestra en los paneles de control la red de publicidad que impulsó la precarga y las redes de publicidad que contribuyeron al primer inicio de la aplicación. Más información sobre las campañas de precarga.
Configuración
Selecciona uno de los siguientes métodos para medir las campañas de preinstalación.
Nombre del método | ¿Requiere múltiples APK? | ¿Garantiza la atribución de preinstalación? | ¿Requiere acción de la fuente de medios o el fabricante? |
---|---|---|---|
Propiedades del sistema | No | Sí | Sí |
API de SDK | Sí | No | No |
Nombre en el archivo de manifiesto | Sí | No | No |
Ruta | No | No | Sí |
Método de propiedades del sistema (recomendado)
Usa la versión del SDK V4.0+
.
Se recomienda este método porque es el más sólido de todos; sin embargo, ten en cuenta que para todas las instalaciones posteriores de aplicaciones, siempre se atribuye a la fuente de medios de preinstalación. Esto es independiente de si la instalación es nueva o una reinstalación.
El método de propiedades del sistema requiere acciones tanto por parte del desarrollador como del fabricante.
Desarrollador
Debe proporcionar el APK al fabricante o a la fuente de medios. Se proporciona el APK por defecto. Este método no requiere un APK separado.
Crea un archivo llamado pre_install.appsflyer
. En el archivo, agrega un par clave-valor:
com.appsflyer.sampleapp=huawei
Para especificar parámetros adicionales de preinstalación:
En el archivo pre_install.appsflyer, transmite los parámetros adicionales en formato JSON. Por ejemplo:
com.appsflyer.sampleapp={"pid":"huawei", "c":"special_campaign","af_adset":"some_adset"}
¡Importante!
Es importante tener en cuenta el siguiente comportamiento al utilizar esta opción:
- En el raw data, ajusta el Canal en "Pre-install".
- Si el parámetro
pid
no está presente en el JSON, la fuente de medios aparece como "None" en el raw data. - En la configuración JSON, si el parámetro
c
no está presente, el nombre de la campaña se establece como "Pre-install". - Si el JSON está mal formado, la cadena transmitida se trata como el nombre de la fuente de medios
Una vez que tengas el archivo pre_install.appsflyer, entrégalo a la fuente de medios o al fabricante junto con el APK.
Fabricante
El fabricante coloca el archivo pre_install.appsflyer en una ruta de archivo de su elección. Los permisos del archivo pre_install.appsflyer deben establecerse en 744.
A continuación, el fabricante edita el archivo de propiedades del sistema para que apunte al archivo pre_install.appsflyer. Para ello, el fabricante debe agregar un par clave-valor a las propiedades del sistema.
Nota
Para este paso se necesitan permisos root. También se necesitan permisos root para probar la configuración de preinstalación. Consulta la sección Pruebas para obtener más información.
Agregar un par clave-valor a las propiedades del sistema Android:
adb shell su
setprop ro.appsflyer.preinstall.path /data/pre_install.appsflyer
Un método alternativo es recuperar el archivo system-properties del sistema de archivos android, editarlo y hacer push de vuelta:
adb root
adb remount
adb pull /system/build.prop
echo ro.appsflyer.preinstall.path=/data/pre_install.appsflyer >> build.prop
adb push build.prop /system/build.prop
adb shell chmod 644 /system/build.prop
adb reboot
Ventajas
No hay necesidad de mantener diferentes APK para cada fuente de medios o fabricante. No es necesario hacer cambios y agregar rutas a la aplicación en Google Play. Los fabricantes pueden utilizar rutas personalizadas y no hay dependencias entre varias aplicaciones preinstaladas que se ejecuten en distintos dispositivos.
Este método garantiza la atribución a campañas de preinstalación y fuentes de medios. Incluso si un usuario actualiza la aplicación antes de iniciarla o la instala después de hacer clic en un anuncio, la preinstalación se sigue atribuyendo a la fuente de medios de preinstalación o al fabricante.
Desventajas
Parte de la responsabilidad se transfiere a la fuente de medios o al fabricante. Los desarrolladores tienen que asegurarse de que el fabricante o la fuente de medios adopta las medidas necesarias. Además, este método puede ser un poco más difícil de probar para el desarrollador de la aplicación.
Método de API de SDK
El método de la API de SDK proporciona una forma nativa de especificar el nombre del fabricante o de la fuente de medios a la que se atribuye la preinstalación.
Para utilizar este método, agrega la siguiente llamada al método en la clase AFApplication antes de inicializar el SDK:
setPreinstallAttribution(String mediaSource, String campaign, String siteId)
Al trabajar con una fuente de medios
AppsFlyerLib.getInstance().setPreinstallAttribution("MEDIA_SOURCE_NAME", "CAMPAIGN_NAME", "123");
AppsFlyerLib.getInstance().init(AF_DEV_KEY , conversionListener , getApplicationContext());
Al trabajar con un fabricante
AppsFlyerLib.getInstance().setPreinstallAttribution(android.os.Build.MANUFACTURER, "CAMPAIGN_NAME", "123");
AppsFlyerLib.getInstance().init(AF_DEV_KEY , conversionListener , getApplicationContext());
Nota
- El parámetro de fuente de medios es obligatorio.
- La propiedad
android.os.Build.MANUFACTURER
contiene el nombre del fabricante configurado por el sistema operativo. El uso de esta propiedad no garantiza que se obtenga el nombre del fabricante en el mismo formato en todos los dispositivos de ese fabricante. Asegúrate de que esta propiedad contiene el nombre del fabricante tal y como se espera. - Los parámetros
campaign
ysiteId
son opcionales, pero son necesarios para el métodosetPreinstallAttribution
. Si no deseas especificarcampaign
ysiteId
, indica null en ambos.
Ventajas
El método de la API del SDK te permite recuperar el nombre del fabricante mediante programación. Independientemente del fabricante, el método del SDK recupera el nombre directamente del dispositivo. Esto significa que puedes mantener un APK para todos los fabricantes con los que colabores.
El método setPreinstallAttribution
permite especificar el nombre de la campaña. Puedes separar cada fabricante o fuente de medios en diferentes campañas, en lugar de tenerlos todos bajo la campaña "Pre-install".
Desventajas
Si trabajas directamente con fabricantes, tienes que mantener dos versiones de tu APK, una para los fabricantes y otra para Google Play. En cualquier caso, se necesita más de un APK.
Si trabajas con varias fuentes de medios que se comunican con el fabricante en tu nombre, debes mantener un APK independiente para cada fuente de medios.
En algunos casos, es posible que la instalación no se atribuya a la fuente de medios de preinstalación:
- Si un usuario con un dispositivo nuevo actualiza la aplicación preinstalada directamente desde Google Play sin iniciarla antes, la instalación se considera orgánica.
- Si un usuario con un dispositivo nuevo actualiza la aplicación desde Google Play tras hacer clic en un anuncio, la instalación se atribuye a la fuente de medios que sirve el anuncio.
Consejo
Puedes implementar la lógica en la aplicación para asegurarte de que la instalación se cuenta como preinstalación, incluso si se producen los escenarios anteriores. Tanto el APK de Play Store como el APK destinado a la preinstalación deberían contener esa lógica.
Ejemplo:
- Ya sabes que las aplicaciones vienen preinstaladas en los dispositivos de un determinado fabricante y modelo. Estos dispositivos también funcionan con un operador determinado.
- Cuando se inicie la aplicación, puedes comprobar si se dan estas condiciones. Si se cumplen estas condiciones, la instalación se registra como preinstalación. Dado que la lógica también existe en el APK de Play Store, la instalación se registra como Preinstalación aunque el usuario actualice la aplicación antes de iniciarla.
Método de nombre en el archivo de manifiesto
El nombre en el método de manifiesto requiere que agregues una etiqueta de metadatos al archivo de manifiesto de la aplicación. Debes repetir este paso para cada fuente de medios o fabricante con el que colabores.
Agrega una etiqueta de metadatos antes de la etiqueta de cierre de la aplicación:
...
<meta-data android:name="AF_PRE_INSTALL_NAME" android:value="market_name"/>
</application>
</manifest>
Cuando la aplicación se inicia por primera vez, el SDK de AppsFlyer detecta esta etiqueta de metadatos en el archivo de manifiesto y atribuye la instalación en consecuencia.
Ventajas
El método del nombre en el manifiesto se considera un método sencillo para atribuir campañas de preinstalación. Sólo hay que agregar una etiqueta al manifiesto. Además, la fuente de medios o el fabricante no tienen que hacer nada por su parte para permitir la medición de campañas.
Desventajas
Dado que la etiqueta de metadatos especifica la fuente de medios o el nombre del fabricante, es necesario mantener diferentes conjuntos de APK, uno para cada fuente de medios o fabricante.
En algunos casos, es posible que la instalación no se atribuya a la fuente de medios de preinstalación:
- Si un usuario con un dispositivo nuevo actualiza la aplicación preinstalada directamente desde Google Play sin iniciarla antes, la instalación se considera orgánica.
- Un usuario con un dispositivo nuevo instala la aplicación desde Google Play tras hacer clic en un anuncio, la instalación se atribuye a la fuente de medios que sirve el anuncio.
Método de ruta
Nota
Compatible con SDK versión 4.5.0 o posterior.
Este método requiere que tanto el desarrollador como el fabricante realicen algunas acciones por su parte.
Desarrollador
El método de ruta te permite especificar una ruta a un archivo que contiene el nombre de la fuente de medios o del fabricante. Debes seguir tres pasos:
- Crear un archivo que contenga un par clave-valor. El archivo debe llamarse pre_install.appsflyer. En el archivo, especifica el par clave-valor con el formato <NOMBRE_DE_PAQUETE>=<FUENTE_DE_MEDIOS>. Por ejemplo,
com.appsflyer.sampleapp=my_media_source
.
Transmitir parámetros adicionales de preinstalación
Puedes especificar parámetros adicionales de preinstalación en el archivo utilizando JSON. Por ejemplo, puedes agregar el siguiente par clave-valor en el archivo pre_install.appsflyer:
com.appsflyer.sampleapp={"pid":"huawei", "c":"special_campaign","af_adset":"some_adset"}
¡Importante!
Es importante tener en cuenta los siguientes comportamientos al utilizar esta opción:
- Establece "Pre-install" como af_channel.
- Si el pid no está presente en el JSON, la fuente de medios aparece como "None".
- En la configuración JSON, si c no está presente, el nombre de la campaña se establece en "Pre-install".
- Si el JSON está mal formado, la cadena transmitida se trata como el nombre de la fuente de medios
Una vez que tengas el archivo pre_install.appsflyer, entrégalo a la fuente de medios o al fabricante junto con el APK.
- Habla con la fuente de medios o el fabricante y acuerda con ellos la ruta donde colocar el archivo. La ruta recomendada es "/data/local/tmp/pre_install.appsflyer".
- Una vez acordada la ruta, especifícala en el archivo de manifiesto. Coloca el siguiente fragmento antes de la etiqueta de cierre de la aplicación:
<meta-data android:name="AF_PRE_INSTALL_PATH" android:value="/data/local/temp/pre_install.appsflyer" />
Fabricante
El fabricante debe colocar el archivo en la ruta acordada. Los permisos del archivo pre_install.appsflyer deben establecerse en 744.
Una vez que la aplicación se inicia, el SDK mira dentro del archivo de manifiesto, ve la ruta especificada y busca el archivo allí. Cuando la encuentra, atribuye la instalación según la fuente de medios que se especifique en ella.
Ventajas
AppsFlyer busca el archivo pre_install.appsflyer en dos rutas por defecto:
/data/local/tmp/pre_install.appsflyer
OR
/etc/pre_install.appsflyer
Algunos fabricantes prefieren colocar el archivo en una ruta no predeterminada. En tal caso, puedes especificar esta ruta no predeterminada en el archivo de manifiesto.
¡Importante!
La ruta no predeterminada requiere SDK versión 4.8 o posterior
Aunque se permiten rutas no predeterminadas, recomendamos implementar el método Propiedades del sistema en su lugar.
Desventajas
Es necesario mantener por separado pre_install.appsflyer para diferentes fuentes de medios o fabricantes.
Es posible que el fabricante quiera poner el archivo pre_install.appsflyer en una ruta no predeterminada. En este caso, deberás mantener APKS independientes para cada ruta no predeterminada.
Si se utiliza una ruta no predeterminada, es posible que la instalación no se atribuya a la fuente de medios de preinstalación:
- Si un usuario con un dispositivo nuevo actualiza la aplicación preinstalada directamente desde Google Play sin iniciarla antes, la instalación se considera orgánica.
- Un usuario con un dispositivo nuevo instala la aplicación desde Google Play tras hacer clic en un anuncio, la instalación se atribuye a la fuente de medios que sirve el anuncio.
Probar la configuración de preinstalación
Esta sección muestra cómo probar y verificar la configuración de preinstalación.
¡Importante!
Antes de empezar las pruebas, asegúrate de poner en la lista de permitidos los dispositivos que vas a utilizar para las pruebas.
Además, asegúrate de establecer el registro de depuración en true en la clase AFApplication.
AppsFlyerLib.getInstance().setDebugLog(true);
Verificación de la configuración en la aplicación
Consejo
Para evitar problemas de caché y obtener mejores resultados, se recomienda limpiar el proyecto antes de compilarlo. En Android Studio, haz clic en Build (Compilar) en el menú contextual y selecciona Clean Project (Limpiar proyecto).
Crea tu aplicación en Android Studio e instálala en el dispositivo de prueba. Una vez iniciada la aplicación, abre el Logcat en Android Studio y filtra por "AppsFlyer". Deberías ver la instalación atribuida con todos los detalles. Véanse las capturas de pantalla siguientes a modo de ilustración:
Verificación de la configuración en el panel de control de AppsFlyer
Si la configuración se realiza correctamente, aparece en el panel de control una instalación no orgánica atribuida a un fabricante o a una fuente de medios. El evento de instalación también aparece en la campaña "Pre-install".
Accede a tu cuenta de AppsFlyer y abre el panel de control de la aplicación que estás probando. Sigue los pasos que se indican a continuación:
- En la página de resumen, filtra por fuentes de medios y elige la fuente de medios:
- En el Desglose por campaña puedes ver que la instalación atribuida a "my media source" procede de una campaña de preinstalación:
También puedes verificar que la instalación se atribuye correctamente consultando el Reporte agregado de desempeño. En él, puedes ver la fuente de medios y la campaña. Véase la siguiente captura de pantalla donde "My Media Source" es la fuente de medios y la campaña es Pre-install:
- Repite el proceso para todos los fabricantes o fuentes de medios con los que colabores para las campañas de preinstalación.
Casos especiales
Múltiples aplicaciones preinstaladas en el mismo dispositivo
Si tienes campañas para varias aplicaciones instaladas en el mismo dispositivo, puedes medir la atribución utilizando cada uno de los cuatro métodos:
- Método de nombre en el manifiesto: para cada aplicación, especifica la fuente de medios o el fabricante en el archivo Manifest.xml de cada aplicación.
- Método de API de SDK: para cada aplicación, especifica la fuente de medios o el fabricante en el método de API de SDK para la preinstalación.
- Para los métodos de propiedades del sistema o de ruta, puedes especificar las aplicaciones y su correspondiente fuente de medios en el archivo pre_install.appsflyer. Cada información de la aplicación debe agregarse en una nueva línea del archivo. Por ejemplo:
com.appsflyer.tester=market_name com.newapp.newapp=market_name com.game.king=market_name
Envío de postbacks de instalación
Si la fuente de medios o el fabricante con el que colaboras es un partner de AppsFlyer, puedes habilitar los postbacks para las instalaciones.
Para ello, asegúrate de que el nombre de la fuente de medios es equivalente al pid de la fuente de medios tal y como está configurado por AppsFlyer.
Por ejemplo, si estás colaborando con nombre_mercado, su pid es nombre_mercado_int. Puedes ver el pid examinando el enlace de atribución de un partner integrado.
Agencias
Actualmente, las agencias no pueden atribuirse preinstalaciones.
Si el af_prt (parámetro para el nombre de la agencia) forma parte de los datos de preinstalación y el usuario inicia la aplicación preinstalada:
- El usuario se atribuye a la fuente de medios utilizada por la agencia (pid=).
- El cliente puede acceder a todos los datos a nivel de usuario.
- El usuario NO se atribuye a la agencia.
- La agencia no puede acceder a los datos a nivel de usuario.