谷歌应用商店团队拒绝了我的应用,原因是:
广告标识符不得与可识别个人身份信息或任何持久设备标识符(例如:SSAID、MAC地址、IMEI等)相关联,而不经用户明确同意。
例如,我们发现您的应用归因SDK可以从具有Android广告标识符的设备中收集IMEI,且未进行突出披露,这违反了我们的Android广告标识符政策。
我没有明确地收集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://dev59.com/MVcQ5IYBdhLWcg3wD_ho#43407421
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);
manifest
中是否有android.permission.READ_PHONE_STATE
权限?你需要它吗?如果 API >4,没有该权限就无法获取 IMEI。另请参阅归因和分析 SDK。关于唯一标识符的最佳实践,请参考Best practices for unique identifiers。这可能是crashlytics
的问题吗? - Jon Goodwinandroid.permission.READ_PHONE_STATE
权限。我不确定移除此权限会带来什么影响。我将检查您提供的资源,谢谢。为什么您怀疑是crashlytics
的原因? - Ignasi