Мое приложение нарушает правила в отношении рекламных идентификаторов Android

Команда Google Play отклонила мое приложение по следующим причинам:

The advertising identifier must not be connected to personally-identifiable information or associated with any persistent device identifier (for example: SSAID, MAC address, IMEI, etc.) without explicit consent of the user.

For example, we have identified that your app's attribution SDK enables collection of IMEI from devices which have an Android advertising ID without prominent disclosure, which is a violation of our Android Advertising ID policy.

Я не собираю IMEI явно, поэтому доступ к IMEI должен осуществляться одной из зависимостей приложения.

Как я мог определить, какой из них обращается к IMEI?

Обновлено: Это мои зависимости

    compile "com.android.support:appcompat-v7:$support_version"
    compile "com.android.support:mediarouter-v7:$support_version"      // I'm using icons from here, like ic_media_pause and such
    compile "com.android.support:recyclerview-v7:$support_version"
    compile "com.android.support:design:$support_version"
    compile "com.android.support:support-compat:$support_version"

    compile 'com.android.support:multidex:1.0.2'

    // individual dependencies -- https://stackoverflow.com/a/43407421/1121497
    compile "com.google.android.gms:play-services-maps:$gms_version"
    compile "com.google.android.gms:play-services-analytics:$gms_version"
    compile "com.google.android.gms:play-services-gcm:$gms_version"
    compile "com.google.firebase:firebase-appindexing:$gms_version"
    compile "com.google.firebase:firebase-core:$gms_version"

    compile "com.facebook.android:facebook-android-sdk:$facebook_version"
    compile 'com.facebook.android:notifications:1.0.2'

    compile 'com.batch.android:batch-sdk:1.11.0'

    compile 'commons-codec:commons-codec:1.9'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
    compile 'com.github.chrisbanes.photoview:library:1.2.2'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'info.hoang8f:android-segmented:1.0.5'
    compile 'io.card:android-sdk:5.4.2'
    compile 'me.dm7.barcodescanner:zxing:1.9'
    compile 'com.google.android.exoplayer:exoplayer:r2.2.0'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.squareup.okhttp:okhttp:2.2.0'

    compile 'io.reactivex:rxandroid:1.1.0'
    compile 'io.reactivex:rxjava:1.1.0'
    //compile 'io.reactivex:rxjava-joins:0.22.0' // to use JoinObservable (and-then-when combinator)

    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

    // In libs we have:
    // - ZooZ 1.02 : From https://github.com/Zooz/Zooz-Android/releases/tag/1.02
    // - AppsFlyer : AF-Android-SDK 2.3.1.13 jar
    // - Volley
    compile fileTree(dir: '../libs', include: '*.jar')

    compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') {
        transitive = true
    }

Примечание: AppsFlyer настроен как:

        AppsFlyerLib.setCollectIMEI(false); // https://play.google.com/about/monetization-ads/ads/ad-id/
        AppsFlyerLib.setCollectMACAddress(false);
        AppsFlyerLib.setCollectAndroidID(false);

Не могли бы вы опубликовать свои зависимости Gradle

Farabi Abdelwahed 10.05.2018 09:44

Есть ли у вас разрешение android.permission.READ_PHONE_STATE в вашем manifest? Тебе это нужно ? Вы не можете получить IMEI без него (для API> 4). См. Также SDK атрибуции и аналитики для справки Лучшие практики для уникальных идентификаторов. Может быть crashlytics?

Jon Goodwin 10.05.2018 11:07

Да, у меня есть разрешение android.permission.READ_PHONE_STATE. Я не уверен, что я нарушу, удалив это разрешение. Я собираюсь проверить предоставленные вами ресурсы, спасибо. Почему вы подозреваете crashlytics?

ilopezluna 10.05.2018 11:15
20
3
16 585
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

Вы используете Appsflyer ниже SDK 4.3. Это проблема. Это электронное письмо, которое они отправили всем разработчикам.

Hi there,

The AppsFlyer and Google Play teams are collaborating to ensure that all advertisers using the AppsFlyer SDK are compliant with the Google Play privacy policy. To avoid any disruption to your business, we strongly encourage that all advertisers take the following steps.

If you are running the AppsFlyer SDK version 4.3 or earlier: Please update to the latest AppsFlyer SDK as soon as possible to maintain full compliance. If you have enabled IMEI collection in a newer SDK version: Disable IMEI collection via the AppsFlyer SDK by removing the following code AppsFlyerLib.getInstance().setImeiData("IMEI_DATA_HERE") If your apps are not yet compliant with the Google Play privacy policy, we recommend that you correct your data collection in a timely manner. For more information about the AppsFlyer SDK, please visit the Help Center or contact your success manager.

Thank you, The AppsFlyer Team

Спасибо за ответ @Bruno, я ценю это. Однако я хотел бы знать, существует ли процедура / приложение / что-то еще, чтобы определить, кто обращается к IMEI, вместо того, чтобы проверять каждую зависимость индивидуально (в зависимости от проекта может быть действительно тяжелая работа). К счастью, мое приложение было одобрено, так что мне просто любопытно, не случится ли со мной такое снова.

ilopezluna 11.05.2018 09:43

@ilopezluna Привет. У меня такая же проблема в моем приложении. Был ли отклонен appflyer? Как инициализировать appflyer в последней версии, чтобы убедиться, что он не собирает IMEI? Спасибо!

dor506 14.05.2018 19:13

Мы добавили следующие строки: AppsFlyerLib.setCollectIMEI(false); // https://play.google.com/about/monetization-ads/ads/ad-id/ AppsFlyerLib.setCollectMACAddress(false); AppsFlyerLib.setCollectAndroidID(false);Примечание: мы не используем последнюю версию.

ilopezluna 15.05.2018 09:36

Crashlytics использует различные идентификаторы для предоставления своих услуг, включая Android ID и Рекламный идентификатор Android.

Так что библиотека crashlytics может быть проблемой. Эта библиотека имеет дело с рекламным идентификатором. Это предупреждение получают многие разработчики, использующие crashlytics lib и не использующие AppsFlyerLib. Поэтому я думаю, что вам также следует позаботиться о библиотеке crashlytics.

Для получения дополнительной информации посетите страница безопасности crashlytics.

Вы можете прислать доказательства? Например ссылку.

vihkat 18.09.2018 13:36

Если вы перейдете по этой ссылке, вы получите разъяснения по поводу информации try.crashlytics.com/security

Mafujul 18.09.2018 13:46

You have to add privacy policy on your application.

Сначала вы должны создать URL-адрес политики конфиденциальности, а затем добавить этот URL-адрес в КОНСОЛЬ ИЗДАТЕЛЯ GOOGLE в зависимости от приложения. Вы можете легко создать политику конфиденциальности, используя этот сайт.

Политика конфиденциальности

Если у вас есть сервер / хост, попробуйте загрузить страницу политики конфиденциальности на свой собственный сервер, иначе вы можете использовать этот веб-сайт для хранения.

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

Только добавление политики конфиденциальности в список Google Play Store не работает.

pseudozach 05.04.2019 15:18

В моем случае это было связано с тем, что URL-адрес политики конфиденциальности не был установлен в консоли Google Play. Еще я использую Crashlytic. Но когда я добавил Политику конфиденциальности, это заняло некоторое время, а затем проблема была решена. Мне не пришлось переиздавать это снова.

Чем ваш ответ отличается от других ответов, последовавших за вами?

kenlukas 28.09.2018 20:37

Мое приложение тоже удалено гуглом. Я использовал следующий метод, чтобы переиздать его.

  1. Создайте политику конфиденциальности приложения, используя Бесплатный URL-адрес Политики конфиденциальности

  2. Опубликуйте политику конфиденциальности на URL

  3. Скопируйте опубликованную ссылку на политику конфиденциальности и добавьте ее в Developer Play Console.
  4. Также добавьте ссылку на политику конфиденциальности в приложение (необязательно)

Надеюсь, это поможет и вам.

Идеально ! Обратите внимание, что сейчас на первом веб-сайте размещена ваша политика конфиденциальности, поэтому вам даже не нужно использовать вторую ссылку.

Dan Chaltiel 01.10.2018 08:55

Другие вопросы по теме