您无法提交更新,因为您的应用程序存在不完整的信息(谷歌应用商店)。

151

因为Google Play提示:

此版本包含com.google.android.gms.permission.AD_ID权限,但您在Play Console中的声明称您的应用程序不使用广告ID。

您必须更新您的广告ID声明。

首先要明确的是该应用程序不使用广告。

注入该权限的库是->jetified-play-services-ads-identifier-18.0.0,但我不知道它来自哪里。 同时,为确保删除此权限,无论如何都已将其添加到我的应用程序清单中:

<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />
但它仍然显示我的应用程序因包含该权限而无法更新。 我已经通过APK分析器检查了清单,只是为了确保它没有在清单文件中(我不知道为什么它仍然说该权限存在)...

还更新了Play Store上的广告设置:输入图像描述 here

但仍然发生相同的情况:(

更新

找到这些权限来自哪里并停用了这些模块:

implementation ("com.google.firebase:firebase-analytics-ktx:21.1.0") {
        exclude module: "play-services-ads-identifier"
        exclude module: "play-services-measurement"
        exclude module: "play-services-measurement-sdk"
        exclude module: "play-services-measurement-api"
    }

之后更改后,合并的清单不再包含该权限,也通过 APK 分析器进行了测试,但不幸的是,Google Play 仍然显示应用程序包含该权限(奇怪)...

感谢任何帮助 :)


你可以在合并后的清单文件 app/build/intermediates/manifests/full/debug/AndroidManifest.xml 中找到你的最终权限。请问你有检查过吗?实际上,我们在过去的三天中遇到了相同的问题。在我们的情况下,使用 tools:node="remove" 解决了问题。你可以从这里或者这里获得帮助。 - Rumit Patel
@Nazarudin,这很奇怪,可能是Google Play的一个bug。我也联系了Play Store团队,正在等待回复... - EAK TEAM
1
@EAKTEAM 我有完全相同的问题,我已经联系了支持部门。他们回复你了吗? - Waxren
3
@Waxren,是的,他们回复说如果您使用分析功能,我们需要选择“是”来允许AD_ID权限用于分析用例。您不应手动删除权限或删除包含AD_ID权限的分析模块,因为这可能会导致问题出现... - EAK TEAM
1
问题中的 UPDATE 解决方案对我有效。似乎 Firebase Analytics 正在将广告 ID 添加到合并清单中。 - Arun K Babu
显示剩余4条评论
6个回答

297

联系Google Play支持后,他们回复说,如果你使用分析,我们需要在广告ID部分的一个分析用例上选择的AD_ID权限。

您不应该手动删除权限或删除包含AD_ID权限的分析子模块,因为这可能会导致问题...

因此,即使应用程序未使用广告,请只需选择即可。 输入图像描述


9
是的,这个问题在于他们会说我说过没有广告,而实际上我有(现在仍是如此)。如果我更新声明说我有广告,他们会说我的应用需要特殊声明才能适合13岁以下的儿童。如果我说我的应用只适合13岁以上的人使用,他们会警告我,如果它看起来不对劲,可能会吸引到13岁以下的孩子,那么我的应用将被下架。这太疯狂了。 - Kibi
我在哪里可以获取广告 ID 部分的信息? - Gk Mohammad Emon
32
“广告标识符”是一个不同的部分,不需要说明该应用程序有广告。谷歌非常努力地让这个过程变得尽可能混乱。 - Sergei
2
我不得不特别说明该应用程序有广告,否则它就不允许我提交。这是不合逻辑的。 - Henryk
2
需要注意的一点是,即使按照上面的屏幕截图所说进行更改,你仍然会收到一个错误提示:必须在清单文件中声明ad_id,否则你的广告提供商将被清零或类似的提示。正如其所述,由于你的应用程序不包含广告,所以可以安全地忽略此消息,并有选项“忽略添加权限”。这不会引起更新拒绝问题,因为你没有使用广告。 - Divya Gupta
显示剩余3条评论

49

Flutter开发者

如果您正在使用 firebase_analytics 包,则 com.google.android.gms.permission.AD_ID 权限将自动添加到您的应用程序中 (来源)。

解决方案与被接受的答案中提到的相同 - 选择“是”,并勾选旁边的“Analytics”框。


7
我也遇到了同样的问题。解决方法如下:
1-首先,我将以下行添加到AndroidManifest.xml文件中:
    <uses-permission
    android:name="com.google.android.gms.permission.AD_ID"
    tools:node="remove" />

其次,我已经通过在应用程序标签内的AndroidManifest.xml中添加此行来禁用Firebase Analytics AD ID收集:

        <meta-data
        android:name="google_analytics_adid_collection_enabled"
        android:value="false" />

3-然后我进入Google Play控制台应用内容->广告ID->选择是并标记分析选项,勾选关闭发布错误复选框。

4-之后,我重新构建了应用程序,生成了一个新的捆绑包,并上传到Google Play控制台,但仍然显示相同的错误,然后我在Chrome中按下Shift + F5重新加载页面,没有缓存,然后它就起作用了,错误消失了。


5
联系Google Play支持后,他们回复说,如果您使用分析工具,我们需要选择“是”来允许使用AD_ID权限进行分析。您不应手动删除权限或移除包含AD_ID权限的分析模块,因为这可能会导致出现故障... 因此,不应使用此解决方案。 - EAK TEAM
如果开发者实际上没有使用分析工具,那么强制要求他们声明使用是不可行的。除了停止使用有问题的软件包/库之外,这是我找到的唯一答案。分析应该是选择加入而不是选择退出(甚至更糟的是被强制加入)。 - N3sh
哎呀,不要移除AD_ID,你应该声明它是由Firebase Analytics使用的。 - undefined

3

0
此外,如果 xmlns:tools="http://schemas.android.com/tools" 无法解决问题。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools">
  <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />
  <application>
....

你应该在Google控制台中检查所有的轨迹!如果其中一个轨迹有修复,但另一个轨迹有旧版本没有修复-你也会遇到这个错误。
来自https://support.google.com/googleplay/android-developer/thread/215752158/your-declaration-on-play-console-says-that-your-app-uses-advertising-id?hl=en

哎呀,不要移除AD_ID,你应该声明它是由Firebase Analytics使用的。 - undefined

-1

如果你使用 firebase-analytics,你应该回答以下类似的问题:

你的应用是否使用广告 ID?:是

收集:是

共享:是

临时处理:否

必需或可选:可选(如果你实现同意/退出选择)

注意:Firebase Analytics 无法在未确定唯一用户的情况下工作,并且它们使用广告 ID 来做到这一点。


这个答案是关于数据安全部分,而不是新的广告 ID 部分。 - EAK TEAM
1
谢谢@Jabbar,那正是我在寻找的信息!对话框现在已经改变,我只需要点击表示应用程序使用Ad ID进行分析,然后我的应用程序进入了审核状态 :-) - James

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接