我收到了来自 Play 商店的以下邮件。所以我们在我们的应用程序中使用 firebase sdk 进行分析。 你们能帮我们填写下面的表格吗?
控制台将推出新的广告 ID 声明表
从 7 月开始,您需要在 Play 管理中心内告诉我们您的应用是否使用广告标识符。如果您的版本面临广告标识符被清零的风险,这将使我们能够提供有用的反馈。在填写广告 ID 声明表之前,您将无法创建针对 Android 13 的版本。
提醒一下,针对 API 级别 33 (Android 13) 或更高版本并使用广告 ID 的应用必须在其 Android Manifest.xml 中包含普通权限 com.google.android.gms.permission.AD_ID。这将防止您的广告标识符归零。如果您未在清单文件中声明权限,或者您使用的 SDK 在其库清单中省略了权限,这可能会影响您的广告和分析用例。
我有同样的问题,所以我联系了 Firebase 支持,他们回复说 Google Analytics for Firebase 默认使用广告 ID。更多信息:https://support.google.com/firebase/answer/6318039?hl=en
很可能是的,但这取决于您使用的确切 Firebase 库。
我的应用程序不使用广告,但我使用以下 Firebase 库。
implementation 'com.google.firebase:firebase-core:21.1.0'
implementation 'com.google.firebase:firebase-analytics-ktx:21.1.0'
implementation 'com.google.firebase:firebase-crashlytics:18.2.12'
这个答案指出
您可能没有在 AndroidManifest.xml 中明确包含此权限,但在构建完成后,它仍然可能存在于您的最终合并清单中,由您对项目的依赖项之一贡献。
我检查了我的应用程序的合并清单文件,
com.google.android.gms.permission.AD_ID
包含在最终清单中。
问别人的答案根本没有帮助。特别是当您作为单个应用程序开发人员没有“数字分析团队”或“营销团队”时。问题是 Firebase 是否在内部使用 AD_ID 来跟踪访问者,而不是问谁。
那么好吧。我做了一些研究,发现 Firebase 根本不使用 AD_ID。另外,在 Firebase 插件的代码库中,我无法在某处找到 AD_ID 字符串 - 仅适用于 iOS 实现。所以我猜(假设大约 90%)当您只使用 Firebase 而没有其他跟踪/广告插件时,您可以通过说“不,我没有使用 AD_ID”来填写声明表。
另一个信息:如果您在此处犯了错误,Google 将不会删除您的应用程序。因此,如果您的应用程序实际上使用了 AD_ID 而您不知道,那么最糟糕的情况就是他们用零填充 AD_ID,这意味着您“仅”在跟踪或分析您的访问者/客户时会遇到麻烦.
您可以从 Android 视图切换到项目视图,然后导航到应用程序 -> 构建 -> 中间体 -> merged_manifest -> AndroidManifest.xml 并检查文件是否包含“com.google.android.gms.permission.AD_ID”。
如果是这样,则在合并来自第三方库之一的 AndroidManifest.xml 文件期间,可能会将该权限添加到该文件。
要确定哪个库将其添加到AndroidManifest.xml中,您可以依次从build.gradle(app)中删除依赖项,同步项目并重建它。删除包含 com.google.android.gms.permission.AD_ID 的库后,该权限应该从合并的 AndroidManifest.xml 中消失。
就我而言,它是AppsFlyer。