Позбавлення наміру 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?
користувач12514252

2
Я отримав це повідомлення сьогодні, але я не розумію, що я можу зробити !! Я використовую юни3d, і я використав (Admob & Firebase)
Mahmoud abualamrien

5
Я отримав це повідомлення електронної пошти і переглянув мій маніфест, і, схоже, Firebase є причиною цього. Тож в основному чекайте, поки Firebase виправить свій код і видасть оновлення?
Джей Сидрі

3
@ A92 перевірити мою відповідь з підтримки firebase
Павло Полі

3
Дивна річ, що я використовую Firebase у двох своїх додатках, але в пошті він вказав лише одне з додатків, незважаючи на те, що це додаток з найменшою інтеграцією Firebase.
Анігіф

Відповіді:


37

З підтримки Firebase:

Це чудовий улов. Дякуємо, що донесли це до нас. Відтепер не потрібно [вживати] дій з вашого кінця, я створив внутрішній запит, щоб ми могли надати альтернативу трансляції наміру install_referrer до його припинення. На даний момент ми ще не з'ясуємо будь-яких деталей або термінів, коли вони будуть впроваджені. Ви можете час від часу перевіряти наші примітки до випуску на наявність будь-яких оновлень про функції Firebase та її послуги.

Дивно, що продукти Google не синхронізовані.

Однак якщо ви не використовуєте Firebase, і ваш додаток містить бібліотеки сторонніх організацій, які install_referrerлюб'язно перевіряйте безпосередньо їх.

Щоб знайти, в яку бібліотеку install_referrerвходить, відкрийте об'єднаний маніфест і шукайте install_referrer, перевірте назву пакета служби, в яку install_referrerвключена.


1
Сподіваюсь, що не буде занадто довго, перш ніж випустити рішення, я думаю, що всі події, пов’язані з встановленням програми (це може бути, наприклад, first_openподія), не будуть надіслані після 1 березня 2020 року. І після того, як вони випустять рішення, усі програми, що використовують Пакет SDK Firebase повинен випустити нові програми - інакше Firebase не отримає жодних постраждалих подій.
Анігіф

1
@Pavel Poley, будь ласка, скажіть, як я можу перевірити на install_referrer, якщо я не використовую
Firebase

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
У моєму випадку я не використовую жодної бібліотекиINSTALL_REFERRER
Firebase

2
@MouaadAbdelghafourAITALI У вашому випадку тоді повинна бути якась інша бібліотека, яка використовує застарілий API.
AndrewS

2
дякую, тому головне питання надходить з Firebase Library
Mouaad Abdelghafour 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/папці модулів додатків, а не в кореневій 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, і трансляція встановлення рефералу зникне.

З іншого боку, якщо ви використовуєте аналітику треків, Google попросить перейти на API встановлення рефералу https://developer.android.com/google/play/installreferrer/library.html до березня 2020 року


Я буду використовувати аналітику firebase, як її вирішити?
A92

5

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

Це чудовий улов. Дякуємо, що донесли це до нас. Зараз я обговорюю з нашими експертами Analytics, і я повернуся протягом 48 годин, або як тільки я отримаю більше інформації. Наразі, не потрібно жодних дій з вашого кінця, чекайте наступного оновлення від команди Firebase.

Я вважаю, що нам потрібно чекати наступного випуску Firebase. І Firebase команда оновлює ці пакети, щоб використовувати новий API.

Якщо ви використовували цей API самостійно у своєму коді, його потрібно негайно змінити, оскільки це не залежно від Firebase або будь-якого іншого постачальника бібліотек третьої сторони.


Я оновив його до версії 17.2.2, але все ще знаходжу com.android.vending.INSTALL_REFERRER, як ви вирішите проблему?
Нео

Так, така ж ситуація, Факсрідін Абдуллаєв почув від агента підтримки? Дякую тобі!
Вілс

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 ... дуже ймовірно, що більшість розробників тут не використовують це безпосередньо, враховуючи його відносно неясний випадок використання
Jay Sidri

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.