我最近收到了许多来自谷歌的邮件,用于我的许多应用。
电子邮件内容为:
Hello Google Play Hello,
我们的记录显示您的应用XXXX,包名称 com.XXXX.XXXXXXXXXX,目前违反了我们的用户数据政策 个人和敏感信息。
政策问题:Google Play要求开发者提供有效的 应用程序请求或处理敏感用户或的时候的隐私政策 设备信息。您的应用请求敏感权限(例如 相机,麦克风,帐户,通讯录或电话)或用户数据,但是 不包含有效的隐私政策。
需要采取的措施:在您的网站上添加指向有效隐私权政策的链接 应用程序的商店列表页面和您的应用程序内。你可以找到更多 我们的帮助中心提供的信息。
或者,您可以通过删除任何选项来选择退出此要求 请求敏感权限或用户数据。
如果您的目录中有其他应用,请确保它们是 符合我们的突出披露要求。
请在2017年3月15日之前解决此问题,或采取行政措施 将被用来限制您的应用程序的可见性,包括 从Play商店中删除。感谢您帮助我们提供明确的和 Google Play用户的透明体验。
此致
Google Play团队
应用程序的清单权限如下所示:
1 - )
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
2 - )
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<!--
IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below
to match your app's package name + ".permission.C2D_MESSAGE".
-->
<permission android:protectionLevel="signature"
android:name="com.XXXX.XXXXX.permission.C2D_MESSAGE" />
<uses-permission android:name="com.XXXX.XXXXXX.permission.C2D_MESSAGE" />
3 - )
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.camera" />
4 - )
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.xxxx.xxxxx.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
5 - )
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.android.vending.BILLING" />
<permission
android:name="com.xxx.xxxx.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.xxxx.xxxx.permission.C2D_MESSAGE" />
这些是我使用
的库compile 'com.google.android.gms:play-services-ads:10.0.1'
compile 'com.android.support:support-v4:25.1.1'
compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'
compile 'com.melnykov:floatingactionbutton:1.3.0'
compile 'com.android.support:appcompat-v7:25.1.1'
compile 'com.baoyz.swipemenulistview:library:1.2.1'
compile 'com.google.android.gms:play-services-analytics:10.0.1'
compile 'com.flaviofaria:kenburnsview:1.0.7'
compile 'com.commit451:PhotoView:1.2.4'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
compile 'com.code-troopers.betterpickers:library:2.2.2'
compile 'com.android.support:cardview-v7:25.1.1'
compile 'com.onesignal:OneSignal:3.3.1@aar'
compile 'com.google.android.gms:play-services-gcm:10.0.1'
compile 'com.google.android.gms:play-services-location:10.0.1'
compile 'com.android.support:design:25.1.1'
compile 'me.leolin:ShortcutBadger:1.1.10@aar'
// retrofit
compile('com.squareup.retrofit2:retrofit:2.1.0') {
exclude module: 'okhttp'
}
compile 'com.squareup.okhttp3:okhttp:3.0.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.0.1'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'io.reactivex:rxandroid:1.1.0'
// UI binding
compile 'com.jakewharton:butterknife:8.2.1'
apt 'com.jakewharton:butterknife-compiler:8.2.1'
// DB
compile 'org.greenrobot:greendao:3.0.1'
compile 'com.github.paolorotolo:appintro:4.1.0'
compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
哪些权限违反了Google用户数据? 是否存在违反Google用户数据的权限列表? 怎么解决?我应该删除它们还是有另一种解决方案? 另外,如果我必须准备一份隐私政策,那还有一些例子吗?
谢谢。
答案 0 :(得分:30)
有一些方法可以克服这种违反政策的行为。首先,您需要制作策略违规文件。 这里有一些方法:
然后提供您的应用名称,开发者帐户名称等,然后生成您的策略文件。
或者您可以使用此模板: https://gist.github.com/alphamu/c42f6c3fce530ca5e804e672fed70d78
然后只需将app name,开发者帐户等替换为你的。
现在如何链接您的隐私文件:
如果您有自己的服务器,则可以在服务器中托管该文件并使用该链接。如果没有,那么还有其他方法可以完成你的工作。
File->Publish for the web
您将获得一个共享链接,只需使用该链接即可你的政策网址。希望这些能帮到你。
答案 1 :(得分:9)
您需要添加隐私权政策。要在商店列表中添加隐私权政策,请执行以下操作:
答案 2 :(得分:4)
READ_CONTACTS
是sensitive permission,Google要求您制定隐私政策。
其他敏感权限是相机,录音,联系人。
您可以通过删除要求提供个人数据的敏感权限或向您的Android应用添加隐私权政策网址来修复违规行为:
答案 3 :(得分:3)
在字段隐私政策网址附近有一个黄色评论是哪个权限导致你的apk。
但是,从您的清单第一次审核起,READ_PHONE_STATE和GET_ACCOUNTS绝对是需要策略URL的权限。
答案 4 :(得分:2)
我向他们询问了解决方案的可行性,他们今天就给我发了这封电子邮件:
我很乐意帮助澄清您对隐私政策警告的任何疑问。有三种方法可以解决这个问题:
1-如果您的应用请求用户数据或发出敏感权限请求 您需要的电话,帐户,通讯录,相机或麦克风等 在两个地方添加有效的隐私政策:您的应用商店列表 页面(以下说明)和您的应用程序内。
2-作为第二种选择,你 可以删除对用户数据或敏感权限的任何请求。对于 例如,您需要删除可能敏感的权限 从清单。如果您,则无需添加隐私政策 删除这些请求。
3-如果您无法完成步骤1或2,那么您将会这样做 需要从Play商店取消发布该应用。如果您的应用已经存在 未发布,除非您重新发布,否则您无需采取任何行动 应用程序在未来。
无论如何在我的应用程序中我没有提到上述权限的请求(相机,联系人,麦克风......等)
我在其中使用**google Admob**
。我认为这可能会导致对这些权限的请求!我还看到你正在使用谷歌播放服务广告(admob):
compile 'com.google.android.gms:play-services-ads:10.0.1'
可能解决方案:有一种方法可以删除gradle中的权限:
<uses-permission android:name="android.permission.Camera" tools:node="remove" />
<uses-permission android:name="android.permission.READ_CONTACTS" tools:node="remove" />
// and for other permissions you may add here
这不是最佳解决方案,我们可能会等待另一个更好的解决方案,但这就是我现在所拥有的......
答案 5 :(得分:2)
就我而言,旧应用(部署在BETA轨道上)正在产生问题,而控制台正在对此发出警报。
因此,请检查所有轨道(Beta,Alpha,内部和生产)中的所有活动应用程序是否存在受限权限组。
答案 6 :(得分:0)
由于权限
而产生此违规错误<uses-permission android:name="android.permission.READ_CONTACTS" />
您应该阅读相同的Google开发者政策。 如果此权限不是强制性的,则可以将其删除,然后您将不会收到此错误。 否则,您首先必须在Google Play开发者控制台中为您的应用提供政策网址,并且您还必须在应用中提供相同的网址。
答案 7 :(得分:0)
确认Naitik Soni的回复。我们在生产轨道上具有“ READ_SMS”权限,因此我们只能在未经生产许可的情况下推出新版本。