Reprovação da intenção install_referrer

76

Recebi e-mail do google:

Recentemente, anunciamos que descontinuaremos o mecanismo de transmissão de intenção install_referrer. Como um ou mais dos seus aplicativos usam essa intenção para rastrear referências, queremos garantir que você faça a troca antes de 1º de março de 2020. Após essa data, novas versões do aplicativo Play Store não transmitirão mais a intenção install_referrer após a instalação do aplicativo.

Não estou usando install_referrerdiretamente, mas durante a navegação no manifesto mesclado, descobri que algum serviço do firebase chamado com o nome do pacote o com.google.firebase.measurementutiliza.

Minhas dependências do firebase atualizadas para a versão mais recente.

Devo me preocupar com isso?

Pavel Poley
fonte
7
Eu tenho a mesma letra, não uso o firebase. Eu não estou usando install_referrer. Eu uso o ADMOB (quem pode usar install_referrer?). Então, o que precisamos mudar se não estivermos usando install_referrersozinhos?
user12514252
2
Recebi esta mensagem hoje, mas não entendo o que posso fazer !! Estou usando o unity3d e usei (Admob & Firebase) #
Mahmoud abualamrien
5
Recebi este e-mail e olhei para o meu manifesto mesclado e parece que o Firebase é a causa para isso ser acionado. Então, basicamente, espere até o Firebase corrigir o código e emitir uma atualização?
Jay Sidri
3
@ A92 verificar a minha resposta de apoio firebase
Pavel Poley
3
O estranho é que eu uso o Firebase em dois dos meus aplicativos, mas no e-mail ele indicava apenas um dos aplicativos, apesar de ser o aplicativo com menos integração com o Firebase.
Anigif 11/12/19

Respostas:

37

Do suporte do Firebase:

Este é um ótimo problema. Obrigado por trazer esse assunto a nossa atenção. Não é necessário [tomar] ação a partir do seu final, a partir de agora, eu criei uma solicitação interna para que pudéssemos fornecer uma alternativa para a transmissão de intenção install_referrer antes da sua suspensão. A partir de agora, ainda estamos para descobrir detalhes ou cronogramas sobre quando será implementado. Você pode verificar nossas notas de versão de tempos em tempos para obter atualizações sobre os recursos do Firebase e seus serviços.

Estranho que os produtos do Google não sejam sincronizados.

No entanto, se você não estiver usando o Firebase e seu aplicativo contiver bibliotecas de terceiros que usam a install_referrerverificação direta diretamente com eles.

Para descobrir em qual biblioteca install_referrerincluída, abra o manifesto mesclado e procure install_referrer, verifique o nome do pacote do serviço no qual está install_referrerincluído.

Pavel Poley
fonte
11
Espero que não demore muito para que eles lançem uma solução, acho que todos os eventos relacionados à instalação de um aplicativo (pode ser o first_openevento) não serão enviados após 1º de março de 2020. E depois que eles lançarem a solução, todos os aplicativos usando O Firebase SDK deve lançar novos aplicativos - caso contrário, o Firebase não receberá nenhum dos eventos afetados.
Anigif 11/11/19
11
@Pavel Poley, por favor, diga-me como posso verificar o install_referrer se não usar o Firebase
Mouaad Abdelghafour AITALI
11
@MouaadAbdelghafourAITALI aberta fundiu manifesto e tentar encontrar install_referrer, clique em Ir direito de declaração, você pode ver o nome do pacote do serviço
Pavel Poley
3
Examinar o Manifest mesclado mostra install_referrer do Firebase. Deve ser a resposta aceita! Salvou o meu dia! Obrigado
Romain Barbier
3
existe alguma novidade do firebase, atualizei-a para a versão 17.2.2, mas ainda encontro com.android.vending.INSTALL_REFERRER
Neo
12

com.google.firebase:firebase-core:17.2.1e com.google.firebase:firebase-analytics:17.2.1adicione INSTALL_REFERRERa AndroidManifest. Provavelmente, é preciso esperar até que a equipe do Firebase atualize esses pacotes para usar a nova API.

AndrewS
fonte
11
No meu caso, não uso nenhuma biblioteca do Firebase e INSTALL_REFERRER continuo aparecendo
Mouaad Abdelghafour AITALI
2
@MouaadAbdelghafourAITALI Nesse momento, deve haver outra biblioteca usando a API obsoleta.
Andrews
2
obrigado, então a questão principal vem da Biblioteca Firebase
Mouaad Abdelghafour AITALI
2
Verifique a guia do manifesto mesclado no seu aplicativo AndroidManifest.xmle procure <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter>. Então, se você selecionar essa linha, ela informará a origem da biblioteca. No nosso caso, foi play-services-ads.
Tim Kist
Atualizei-o para a versão 17.2.2, mas ainda encontro com.android.vending.INSTALL_REFERRER @AndrewS
Neo
9

Vários SDKs podem registrar um receptor para o referenciador de instalação.

Para desenvolvedores que não têm certeza sobre qual SDK adicionou um receptor ao seu manifesto, é útil examinar o arquivo de culpa de mesclagem do manifesto. Normalmente, build/há um arquivointermediates/manifest_merge_blame_file/release/manifest-merger-blame-release-report.txt

Nesse arquivo, você precisará encontrar receptores que tenham

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

no filtro de intenção, e a linha anterior indicará qual a fonte dessa linha no seu manifesto.

Por exemplo, as linhas relevantes para um dos meus aplicativos são assim:

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>

Isso mostra que o AppBrain SDK (do qual sou um dos desenvolvedores) adiciona um receptor para o referenciador de instalação. A seguinte imagem do nosso blog explicando o que exatamente muda ( https://medium.com/appbrain/the-google-play-referrer-api-and-the-appbrain-sdk-38cfbaa350dc ) está esclarecendo o que o Google está mudando: Alteração na API de referência do Google Play

Mathijs Vogelzang
fonte
Impressionante! Eu não estava ciente desse arquivo, ele me ajudou a descobrir o que exatamente está usando install_referrer. Só para esclarecer, eu o encontrei na build/pasta app-modules e não na build/pasta raiz .
Anigif 13/12/19
Estou usando o Unity3D e não tenho certeza de como posso usar essas informações. Você conhece uma solução para o Unity3D também?
Sailendu 14/12/19
5

Depois de verificar o arquivo de manifesto no meu apk compilado, encontrei a transmissão de instalação de referência usada pelo módulo firebase-measure-connector no Firebase Core Analytics, por isso os excluo:

 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'
}

E, em seguida, verifique novamente meu arquivo de manifesto mereged analisando o APk e a transmissão do instalador do restaurante desapareceu.

Por outro lado, se você usar análise de faixa, o Google solicitará a mudança para a API do Referrer de instalação https://developer.android.com/google/play/installreferrer/library.html antes de março de 2020

Sofien Rahmouni
fonte
Eu uso o firebase analytics como resolvê-lo?
A92
5

Eu verifiquei o agente de suporte do Firebase quanto a esse problema. As bibliotecas do Firebase estão usando install_referrer, e eu recebi a resposta abaixo do agente de suporte do Firebase:

Este é um ótimo problema. Obrigado por trazer esse assunto a nossa atenção. Atualmente, estou conversando com nossos especialistas em Analytics e voltarei em 48 horas ou assim que tiver mais informações. Por enquanto, não há necessidade de qualquer ação do seu final, aguarde a próxima atualização da equipe do Firebase.

Acredito que precisamos aguardar o próximo lançamento do Firebase. E a equipe do Firebase atualiza esses pacotes para usar a nova API.

Se você utilizou esta API em seu código, precisará alterá-la imediatamente, pois não depende da base de firmas ou de qualquer outro provedor de bibliotecas de terceiros.

Faxriddin Abdullayev
fonte
Eu atualizei para a versão 17.2.2, mas ainda encontro com.android.vending.INSTALL_REFERRER, como você resolve o problema?
Neo
Sim, mesma situação, Faxriddin Abdullayev recebeu uma resposta do agente de suporte? obrigado!
Wils
2

Há um artigo no blog do desenvolvedor do Android sobre isso

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

Também neste artigo, eles mencionam a implementação antiga do mecanismo de transmissão de intenção install_referrer e fornecem informações completas. Para que possamos encontrar isso em nosso código existente.

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

sohel.eco
fonte
7
O OP mencionou que ele não está se integrando diretamente a essa API ... é muito provável que a maioria dos desenvolvedores aqui não use isso diretamente, devido ao seu caso de uso relativamente obscuro
Jay Sidri
0

INSTALL_REFERRERvem não apenas com Firebasemas também com ADMOB. Posso confirmar que Admob v3.18.3tem essa permissão, mas não está mais chegando Admob v4.2.1. Não testei outras versões, mas ouvi dizer que algumas versões anteriores, como 4.2.0& 4.1.0também não carregam essa permissão.

Mas a questão aqui é se precisamos remover a permissão ou se precisamos garantir que, se nosso aplicativo estiver usando, Play Install Referrer Libraryele INSTALL_REFERRERdeverá ser incluído. Porque a ação necessária não é removê-lo, mas migrar para ele.

insira a descrição da imagem aqui

gameDev_Unity
fonte