英文:
Upload Android App using Alt Beacon got rejected
问题
"我将我的应用上传到Google Play并收到一条消息
"APK 300303: 政策声明 - 数据安全部分: "http://data.altbeacon.org/"
我该如何修复它?
我尝试删除所有调用Beacon的URL,但仍然无法工作。"
英文:
I uploaded my app into the Google Play and got an message
"APK 300303: Policy Declaration - Data Safety Section: "http://data.altbeacon.org/"
How can I fix it?
I tried to remove all URLs that call to Beacon, but it's still not working.
答案1
得分: 1
Google Play对必须声明的一些数据共享政策变得非常严格。拒绝申请是因为Android Beacon Library在首次启动时下载一个包含Android设备型号数据的更新配置文件。因为标准的Android HTTP客户端包括一个用户代理字符串,其中包含Android手机型号和操作系统版本等信息,Google将其解释为“数据共享”。如果感兴趣,您可以在此处查看执行此操作的源代码。
修复此问题的几个选项:
选项1:在Google Play控制台中填写数据安全表单。
- 转到https://play.google.com/console并登录,选择您的应用
- 在左侧菜单中选择“政策和计划”下的“应用内容”
- 在“需要关注”或“已采取措斩”的选项卡中,选择“数据安全”
- 填写此部分。就Android Beacon Library的操作而言,只要您勾选下面的复选框,几乎可以对几乎所有内容回答“否”(因为用户代理字段包括设备型号和操作系统版本):
请确保为您的应用除了Android Beacon Library之外的任何其他Internet访问也正确填写该表格。
选项2:
禁用Android Beacon Library在启动时更新设备型号的能力。最简单的方法是从您的应用中禁用互联网权限访问 - 没有此权限,库将不会尝试更新其配置。如果您需要出于其他目的授予您的应用互联网访问权限,那么您需要执行选项1,因为您的应用可能会因为执行其他Internet调用而被Google拒绝,除非您填写该表格。
要执行此选项:
- 编辑您的AndroidManifest.xml
- 删除任何包含
<uses-permission android:name="android.permission.INTERNET"/>
的行
选项3:
添加代码来阻止执行模型更新:
BeaconManager.setDistanceModelUpdateUrl("");
英文:
Google Play has become extremely strict about a number of data sharing policies that must be declared. The rejection is flagged simply because the Android Beacon Library downloads an updated configuration file holding Android device model data on first launch. Because the standard Android HTTP Client includes a user agent string with info like the Android phone model and OS version, Google interprets this as "data sharing." If interested, you can see the source code that does this here.
A few options for fixing this:
OPTION 1: Fill out the Data Safety form in Google Play Console.
- Go to https://play.google.com/console and log in, selecting your app
- In the left menu choose "App content" under "Policy and programs"
- In either then "Need attention" or "Actioned" tabs, choose "Data Safety"
- Fill out this section. For the purpose of what the Android Beacon Library does, you can say "no" to pretty much everything as long as you check the checkbox below. (Because the User Agent field includes the device model, and operating system version):
Be sure you fill out the form properly for any other internet access that your app does aside from the Android Beacon Library.
OPTION 2:
Disable the Android Beacon Library's ability to update device models at boot. The easiest way to do this is to disable internet permission access from your app -- the library won't try to update its configuration without this permission. If you need to grant your app internet access for other purposes anyway, then you will need to perform option 1, as your app will probably be rejected by Google for other internet calls your app makes unless you fill out that form.
To perform this option:
- Edit your AndroidManifest.xml
- Remove any line with
<uses-permission android:name="android.permission.INTERNET"/>
OPTION 3:
Add code to block performing the model update:
BeaconManager.setDistanceModelUpdateUrl("")
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论