Google Play错误地警告关于com.google.android.gms.permission.AD_ID

10

最近我尝试上传我的应用程序时收到了这条消息:

This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID.

我没有广告,也没有明确的权限,但我理解从这里firebase auth可能会使用它 - 所以我填写我使用了这个权限 - 然后触发另一个错误,说我说我正在使用AD_ID,但我没有提到我正在使用广告。如果我提到我正在使用广告(我不是),控制台会告诉我必须特别注意我的广告(我没有)不要针对13岁以下的儿童,否则我需要说明我的应用程序适用于13岁及以上的人。
如果我更改我的应用程序,说它适用于13岁及以上的人,我会收到警告,如果看起来像是针对儿童,我将被删除!!!
我到底做错了什么???我甚至没有广告或想要广告,现在我被警告不能让任何13岁以下的孩子下载我的应用?
有人可以建议我如何上传我的完全无害的应用程序,而不触发Google Play的愤怒吗?
2个回答

7

进入合并后的清单文件,检查是否包括 com.google.android.gms.permission.AD_ID 权限。您可以在此处找到合并后的清单文件:

<project>/<module>/build/intermediates/merged_manifests/<build_flavor_name>

可能是您的某个依赖项包含该权限,如果是这样的话,您有以下两个选择:

  • 从项目中删除该依赖项

或者

  • 在主要清单文件中包含该权限,并更改您在 Google Play Console 中的广告 ID 声明。

1
谢谢。我确实在合并的清单中看到了那个权限。正如我在问题中所说,我检查过的其他地方都表明firebase.auth正在使用它,这意味着Google正在为他们自己的SDK标记我(顺便说一下,这个SDK并没有显示广告)。但无论如何,你是对的,正确的做法是咬紧牙关,即使我没有广告也要说“是的,我有广告”——如果这不顺利,我会留下另一个注释,但现在我接受这个答案。 - Kibi
1
是的!我在提交新更新时也遇到了问题。许多人建议我选择“是”并标记“分析”。这解决了问题。我有一个广告,但我没有任何隐式声明的广告单元。 - c.dipu0
或者从您的清单中删除第三方权限,就像这个SO答案中所示。 - Oliver Metz
如何找出是哪个依赖项导致了问题? - Md Javed Akhtar
在Gradle中运行依赖项命令。 - jrola
为什么Firebase会添加这个功能,如果我们的应用程序中没有任何广告? - undefined

0
如果一个依赖项(比如firebase)注入了com.google.android.gms.permission.AD_ID权限,而你又不想移除这个依赖项,你可以简单地在你的manifest.json文件中添加这行代码:
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>

通过这样做,你可以防止添加这个权限。

谢谢,我需要检查一下这个是否有效。 - undefined
为什么Firebase会添加这个,如果我们的应用程序中没有任何广告? - undefined

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