Firebase 12.0.0为何请求PHONE_STATE权限?Play Store上传报错
Firebase 12.0.0 请求
READ_PHONE_STATE权限的原因解析 我来帮你拆解这个问题的核心——Firebase 12.0.0版本触发READ_PHONE_STATE权限,主要和Firebase Instance ID(FID)的设备识别机制直接相关:
- 稳定设备标识需求:Firebase Instance ID模块在这个版本中,会尝试获取
READ_PHONE_STATE权限来读取设备的IMEI、MEID等硬件唯一标识符。目的是在应用卸载重装、清除本地数据等场景下,能把新生成的Instance ID关联到同一台物理设备,确保推送通知、用户设备级分析等功能的连贯性,避免同一设备被重复统计为新用户。 - Analytics数据补充:Firebase Analytics也会借助该权限收集设备硬件信息,帮助开发者更精准地了解用户的设备分布、机型适配情况等统计数据,优化应用体验。
额外提示:如何移除该权限(如果不需要)
如果你的Beta应用不需要依赖硬件标识符来实现核心功能,可以通过以下方式强制移除这个权限:
在你的AndroidManifest.xml中添加以下声明,覆盖Firebase库的默认权限请求:
<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
移除后,Firebase会退而使用其他设备标识方式(比如Android ID),基础的推送、分析功能依然能正常运行。
内容的提问来源于stack exchange,提问作者Francisco Durdin Garcia
相关产品推荐
相关产品推荐

