desaprobación intencional de install_referrer

76

He recibido un correo electrónico de google:

Recientemente anunciamos que vamos a dejar de utilizar el mecanismo de transmisión de intención install_referrer. Debido a que una o más de sus aplicaciones utilizan esta intención para rastrear referencias, queríamos asegurarnos de que realice el cambio antes del 1 de marzo de 2020. Después de esta fecha, las nuevas versiones de la aplicación Play Store ya no transmitirán la intención install_referrer después de la instalación de la aplicación.

No estoy usando install_referrerdirectamente, pero mientras navegaba por el manifiesto combinado, descubrí que algunos servicios de Firebase nombrados con el nombre del paquete lo com.google.firebase.measurementusan.

Mis dependencias de Firebase actualizadas a la última versión.

¿Debería importarme?

Pavel Poley
fuente
77
Tengo la misma letra, no uso firebase. No estoy usando install_referrer. Yo uso ADMOB (¿quién puede usar install_referrer?). Entonces, ¿qué necesitamos cambiar si no lo estamos utilizando install_referrernosotros mismos?
user12514252
2
¡Recibí este mensaje hoy, pero no entiendo qué puedo hacer! Estoy usando unity3d y he usado (Admob y Firebase)
Mahmoud abualamrien
55
Recibí este correo electrónico y miré mi manifiesto combinado y parece que Firebase es la causa de que esto se active. Entonces, ¿básicamente esperar hasta que Firebase corrija su código y emita una actualización?
Jay Sidri
3
@ A92 comprueba mi respuesta desde el soporte de firebase
Pavel Poley
3
Lo extraño es que uso Firebase en dos de mis aplicaciones, pero en el correo solo mencionó una de las aplicaciones, a pesar de que era la aplicación con la menor integración de Firebase.
Anigif

Respuestas:

37

Desde el soporte de Firebase:

Esta es una gran captura. Gracias por informarnos de esto. No es necesario [tomar] medidas desde su final a partir de ahora, he creado una solicitud interna para que podamos proporcionar una alternativa para la difusión de intención install_referrer antes de su desaprobación. A partir de ahora, aún no hemos encontrado ningún detalle o cronograma sobre cuándo se implementará. Puede consultar nuestras notas de versión de vez en cuando para obtener actualizaciones sobre las funciones de Firebase y sus servicios.

Es extraño que los productos de Google no estén sincronizados.

Sin embargo, si no está utilizando Firebase y su aplicación contiene bibliotecas de terceros que utilizan install_referreramablemente, consulte directamente con ellas.

Para encontrar en qué biblioteca está install_referrerincluida, abra el manifiesto combinado y busque install_referrer, verifique el nombre del paquete del servicio en el que está install_referrerincluido.

Pavel Poley
fuente
1
Espero que no pase mucho tiempo antes de que lancen una solución, supongo que todos los eventos relacionados con la instalación de una aplicación (podría ser, por ejemplo, el first_openevento) no se enviarán después del 1 de marzo de 2020. Y después de que lancen la solución, todas las aplicaciones usarán Firebase SDK debería lanzar nuevas aplicaciones; de lo contrario, Firebase no recibirá ninguno de los eventos afectados.
Anigif
1
@Pavel Poley, ¿podría decirme cómo puedo verificar install_referrer si no uso Firebase?
Mouaad Abdelghafour AITALI
1
@MouaadAbdelghafourAITALI abra el manifiesto fusionado e intente encontrarlo install_referrer, haga clic derecho para ir a la declaración, puede ver el nombre del paquete del servicio
Pavel Poley
3
Al observar el manifiesto combinado, se muestra install_referrer de Firebase. ¡Debería ser la respuesta aceptada! Me salvó el día! Gracias
Romain Barbier
3
¿hay alguna noticia de firebase? La actualicé a la versión 17.2.2 pero aún encuentro com.android.vending.INSTALL_REFERRER
Neo
12

com.google.firebase:firebase-core:17.2.1y com.google.firebase:firebase-analytics:17.2.1agregar INSTALL_REFERRERa AndroidManifest. Probablemente necesite esperar hasta que el equipo de Firebase actualice estos paquetes para usar la nueva API.

AndrewS
fuente
1
En mi caso, no uso ninguna biblioteca de Firebase y INSTALL_REFERRER sigo apareciendo
Mouaad Abdelghafour AITALI
2
@MouaadAbdelghafourAITALI Debería haber alguna otra biblioteca que utilice una API obsoleta en su caso.
AndrewS
2
gracias, entonces el problema principal proviene de Firebase Library
Mouaad Abdelghafour AITALI
2
Compruebe la pestaña de manifiesto combinado en la aplicación AndroidManifest.xmly busque <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter>. Luego, si selecciona esa línea, le dirá de qué biblioteca proviene. En nuestro caso lo fue play-services-ads.
Tim Kist
Lo actualicé a la versión 17.2.2 pero aún encuentro com.android.vending.INSTALL_REFERRER @AndrewS
Neo
9

Varios SDK pueden registrar un receptor para el referente de instalación.

Para los desarrolladores que no están seguros acerca de qué SDK agregó un receptor a su manifiesto, es útil mirar el archivo de culpa de fusión de manifiesto. Por lo general, build/hay un archivointermediates/manifest_merge_blame_file/release/manifest-merger-blame-release-report.txt

En ese archivo necesitarás encontrar receptores que tengan

<action android:name="com.android.vending.INSTALL_REFERRER" />

en su filtro de intención, y la línea anterior indicará cuál es la fuente de esa línea en su manifiesto.

Por ejemplo, las líneas relevantes para una de mis aplicaciones se ven así:

44        <receiver
44-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:29:9-35:20
45            android:name="com.appbrain.ReferrerReceiver"
45-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:30:13-57
46            android:exported="true" >
46-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:31:13-36
47            <intent-filter>
47-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:32:13-34:29
48                <action android:name="com.android.vending.INSTALL_REFERRER" />
48-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:33:17-79
48-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:33:25-76
49            </intent-filter>
50        </receiver>

Esto muestra que el SDK de AppBrain (del cual soy uno de los desarrolladores) agrega un receptor para el referente de instalación. La siguiente imagen de nuestra publicación de blog que explica qué cambia exactamente ( https://medium.com/appbrain/the-google-play-referrer-api-and-the-appbrain-sdk-38cfbaa350dc ) aclara qué está cambiando Google: Cambio en la API de referencia de Google Play

Mathijs Vogelzang
fuente
¡Increíble! No estaba al tanto de este archivo, me ayudó a descubrir qué está usando exactamente install_referrer. Solo para aclarar, lo encontré en la build/carpeta de módulos de la aplicación y no en la build/carpeta raíz .
Anigif
Estoy usando Unity3D y no estoy seguro de cómo puedo usar esta información, ¿conoces también una solución para Unity3D?
Sailendu
5

Después de verificar el archivo de manifiesto en mi apk incorporado, encontré la transmisión de referencia de instalación utilizada por el módulo de conector de medición de Firebase en Firebase Core Analytics, así que los excluyo:

 implementation ('com.google.firebase:firebase-ads:17.2.0')
{
    exclude group: 'com.google.firebase', module: 'firebase-core'
    exclude group: 'com.google.firebase', module: 'firebase-analytics'
    exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
}

Y luego vuelva a verificar mi archivo de manifiesto analizado analizando APk y la transmisión Instalar refeer desaparece.

Por otro lado, si usa el análisis de seguimiento, Google solicita cambiar a la API de instalación de referencias https://developer.android.com/google/play/installreferrer/library.html antes de marzo de 2020

Sofien Rahmouni
fuente
¿Puedo usar Firebase Analytics para resolverlo?
A92
5

Verifiqué el agente de soporte de Firebase para este problema. Las bibliotecas de Firebase están usando install_referrer, y obtuve la siguiente respuesta del agente de soporte de Firebase:

Esta es una gran captura. Gracias por informarnos de esto. Actualmente estoy en conversaciones con nuestros expertos en análisis y volveré dentro de las 48 horas, o tan pronto como tenga más información. Por ahora, no necesita ninguna acción de su parte, espere la próxima actualización del equipo de Firebase.

Creo que debemos esperar el próximo lanzamiento de Firebase. Y el equipo de Firebase actualiza estos paquetes para usar la nueva API.

Si ha utilizado esta API en su código usted mismo, debe cambiarla de inmediato ya que no depende de Firebase ni de ningún otro proveedor de bibliotecas de terceros.

Faxriddin Abdullayev
fuente
Lo actualicé a la versión 17.2.2 pero aún encuentro com.android.vending.INSTALL_REFERRER, ¿cómo resuelve el problema?
Neo
Sí, la misma situación, ¿Faxriddin Abdullayev ha tenido noticias del agente de soporte? ¡gracias!
Wils
2

Hay un artículo en el blog de desarrolladores de Android sobre esto

https://android-developers.googleblog.com/2019/11/still-using-installbroadcast-switch-to.html

También en este artículo mencionan la antigua implementación del mecanismo de transmisión de intención install_referrer y proporcionan información completa. Entonces podemos encontrar esto en nuestro código existente.

https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#google-play-campaigns

sohel.eco
fuente
77
OP mencionó que no se está integrando directamente en esta API ... es muy probable que la mayoría de los desarrolladores aquí no usen esto directamente dado su caso de uso relativamente oscuro
Jay Sidri
0

INSTALL_REFERRERviene no solo con Firebasesino también con ADMOB. Puedo confirmar que Admob v3.18.3tiene este permiso pero ya no entra Admob v4.2.1. No he probado otras versiones, pero he oído que algunas versiones anteriores como 4.2.0&4.1.0 tampoco tienen este permiso.

Pero la pregunta aquí es si necesitamos eliminar el permiso o si debemos asegurarnos de que si nuestra aplicación está usando, Play Install Referrer Libraryentonces INSTALL_REFERRERdebe incluirse. Porque la acción requerida no es eliminarlo, sino migrar a él.

ingrese la descripción de la imagen aquí

gameDev_Unity
fuente