Устаревание намерений install_referrer


76

Я получил письмо от Google:

Недавно мы объявили, что не будем использовать механизм трансляции намерений install_referrer. Поскольку одно или несколько ваших приложений используют это намерение для отслеживания рефералов, мы хотели убедиться, что вы сделаете переход до 1 марта 2020 года. После этой даты новые версии приложения Play Store больше не будут передавать намерение install_referrer после установки приложения.

Я не использую install_referrerнапрямую, но просматривая объединенный манифест, я обнаружил, что некоторые службы Firebase, названные с именем пакета, com.google.firebase.measurementиспользуют его.

Мои зависимости Firebase обновлены до последней версии.

Должен ли я заботиться об этом?


7
У меня такое же письмо, я не использую FireBase. Я не использую install_referrer. Я использую ADMOB (кто может использовать install_referrer?). Так что нам нужно изменить, если мы не используем install_referrerсами?
user12514252

2
Я получил это сообщение сегодня, но я не понимаю, что я могу сделать !! Я использую unity3d, и я использовал (Admob & Firebase)
Махмуд abualamrien

5
Я получил это электронное письмо и посмотрел на мой объединенный манифест, и похоже, что причина этого - Firebase. В общем, ждать, пока Firebase исправит свой код и выпустит обновление?
Джей Сидри

3
@ A92 проверьте мой ответ от поддержки
Павел Полей

3
Странно то, что я использую Firebase в двух своих приложениях, но в почте было указано только одно из приложений, хотя это было приложение с наименьшей интеграцией с Firebase.
Анигиф

Ответы:


37

Из поддержки Firebase:

Это отличный улов. Спасибо, что сообщили нам об этом. На данный момент нет необходимости выполнять какие-либо действия с вашей стороны, я создал внутренний запрос, чтобы мы могли предоставить альтернативу для намеренной трансляции install_referrer до ее отмены. На данный момент нам еще предстоит выяснить какие-либо детали или сроки, когда это будет реализовано. Вы можете время от времени проверять наши заметки о выпуске на предмет любых обновлений о функциях Firebase и его услугах.

Странно, что продукты Google не синхронизируются.

Однако, если вы не используете Firebase, а ваше приложение содержит сторонние библиотеки, используйте их, install_referrerпожалуйста, свяжитесь непосредственно с ними.

Чтобы узнать, в какую библиотеку install_referrerвключена, откройте объединенный манифест и выполните поиск install_referrer, проверьте имя пакета службы, в которую install_referrerвключена.


1
Надеюсь, пройдет не так много времени, прежде чем они выпустят решение, я думаю, что все события, связанные с установкой приложения (это может быть, например, first_openсобытие), не будут отправлены после 1 марта 2020 года. И после выпуска решения все приложения, использующие Firebase SDK должен выпускать новые приложения, иначе Firebase не получит ни одного из затронутых событий.
Анигиф

1
@Pavel Poley, подскажите, пожалуйста, как я могу проверить наличие install_referrer, если я не использую Firebase
Mouaad Abdelghafour AITALI

1
@MouaadAbdelghafourAITALI откройте объединенный манифест и попробуйте найти install_referrer, щелкните правой кнопкой мыши, перейдите к объявлению, вы увидите название пакета сервиса
Павел Полей

3
Глядя на объединенный манифест, показывает install_referrer из Firebase. Должен быть принятый ответ! Спас мой день! Спасибо
Ромен Барбье

3
есть ли какие-то новости от firebase, я обновил их до версии 17.2.2, но все еще нахожу com.android.vending.INSTALL_REFERRER
Neo

12

com.google.firebase:firebase-core:17.2.1и com.google.firebase:firebase-analytics:17.2.1добавить INSTALL_REFERRERв AndroidManifest. Вероятно, нужно подождать, пока команда Firebase обновит эти пакеты, чтобы использовать новый API.


1
В моем случае я не использую библиотеки Firebase и по- INSTALL_REFERRER прежнему
появляюсь

2
@MouaadAbdelghafourAITALI В вашем случае должна быть другая библиотека, использующая устаревший API.
AndrewS

2
спасибо, так что основная проблема исходит от библиотеки Firebase
Муаад Абдельгафур AITALI

2
Проверьте вкладку объединенного манифеста в вашем приложении AndroidManifest.xmlи найдите <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter>. Затем, если вы выберете эту строку, она скажет вам, из какой библиотеки она поступила. В нашем случае это было play-services-ads.
Тим Кист

Я обновил его до версии 17.2.2, но все еще нахожу com.android.vending.INSTALL_REFERRER @AndrewS
Neo

9

Различные SDK могут зарегистрировать получателя для реферера установки.

Для разработчиков, которые не уверены, какой SDK добавил получателя в ваш манифест, полезно взглянуть на файл слияния манифеста. Как правило, вbuild/ есть файлintermediates/manifest_merge_blame_file/release/manifest-merger-blame-release-report.txt

В этом файле вам нужно найти приемники, которые имеют

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

в его фильтре намерений, и строка перед ним будет указывать источник этой строки в вашем манифесте.

Например, соответствующие строки для одного из моих приложений выглядят так:

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>

Это показывает, что AppBrain SDK (одним из разработчиков которого я являюсь) добавляет приемник для реферера установки. На следующем изображении из нашего блога, объясняющего, что именно меняется ( https://medium.com/appbrain/the-google-play-referrer-api-and-the-appbrain-sdk-38cfbaa350dc ), поясняется, что меняется в Google: Изменение в API Google Play реферера


Потрясающие! Я не знал об этом файле, он помог мне понять, что именно используется install_referrer. Просто чтобы уточнить, я нашел его в build/папке app-modules, а не в корневой build/папке.
Анигиф

Я использую Unity3D, и я не уверен, как я могу использовать эту информацию, вы также знаете решение для Unity3D?
Сайленду

5

После проверки файла манифеста на моем собранном apk я обнаружил широковещательную рассылку установки, используемую модулем соединителя измерения firebase в Firebase Core Analytics, поэтому я исключил их:

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

А затем еще раз проверьте мой простой файл манифеста, проанализировав APk, и широковещательная рассылка Install refeer исчезнет.

С другой стороны, если вы используете аналитику треков, Google попросит перейти на API Install Referrer https://developer.android.com/google/play/installreferrer/library.html до марта 2020 г.


Я использую аналитику firebase, как ее решить?
A92

5

Я проверил агент поддержки Firebase для этой проблемы. Библиотеки Firebase используют install_referrer, и я получил ответ от агента поддержки Firebase:

Это отличный улов. Спасибо, что сообщили нам об этом. В настоящее время я обсуждаю с нашими экспертами по Google Analytics и вернусь в течение 48 часов или сразу после получения дополнительной информации. Пока не нужно никаких действий с вашей стороны, дождитесь следующего обновления от команды Firebase.

Я считаю, что нам нужно дождаться следующего релиза Firebase. И команда Firebase обновляет эти пакеты, чтобы использовать новый API.

Если вы использовали этот API в своем коде самостоятельно, то вам необходимо немедленно изменить его, поскольку вы не зависите от Firebase или любого другого стороннего поставщика библиотеки.


Я обновил его до версии 17.2.2, но все еще нашел com.android.vending.INSTALL_REFERRER, как вы решаете проблему?
Нео

Да, такая же ситуация, Факсриддин Абдуллаев уже слышал от агента поддержки? благодарю вас!
Wils

2

Об этом есть одна статья в блоге разработчиков Android.

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

Также в этой статье они упоминают старую реализацию механизма намеренной трансляции install_referrer и предоставляют полную информацию. Таким образом, мы можем найти это в нашем существующем коде.

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


7
ОП упомянул, что он не интегрируется напрямую в этот API ... очень вероятно, что большинство разработчиков здесь не используют это напрямую, учитывая его относительно неясный вариант использования
Джей Сидри

0

INSTALL_REFERRERпоставляется не только с, Firebaseно и с ADMOB. Я могу подтвердить, что Admob v3.18.3имеет это разрешение, но оно больше не входит Admob v4.2.1. Я не проверял другие версии, но я слышал, что некоторые предыдущие версии, как 4.2.0и 4.1.0также не имеют этого разрешения.

Но вопрос здесь заключается в том, нужно ли нам удалить разрешение или мы должны убедиться, что если наше приложение использует, Play Install Referrer Libraryто оно INSTALL_REFERRERдолжно быть включено. Потому что требуется не удалить его, а перенести на него.

введите описание изображения здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.