com.google.firebase.iid.FirebaseInstanceIdReceiver是否需要在Android清单中导出?
关于FirebaseInstanceIdReceiver是否必须设置为导出的解答
不需要手动将com.google.firebase.iid.FirebaseInstanceIdReceiver设置为导出状态,Firebase官方SDK集成过程中会自动处理该接收器的属性配置,手动强制设置为导出反而可能引入不必要的安全风险。
- 该广播接收器的核心作用是接收Firebase云消息服务(FCM)下发的实例ID更新、推送消息触达等系统级广播,这类广播仅由Google Play服务进程发出,只有签名匹配的应用才能接收到对应广播,不需要开放导出权限给第三方应用。
- 如果你使用的是20.0.0及以上版本的Firebase Messaging SDK,SDK在应用构建阶段会自动向
AndroidManifest.xml注入该接收器的配置,默认android:exported属性为false,完全可以正常支撑推送接收、Token刷新等核心功能。 - 如果你是手动在应用清单中声明了该接收器,建议直接移除手动声明的配置,完全交由SDK自动处理即可;如果有特殊需求必须手动声明,请将
android:exported属性设置为false,不会影响Firebase推送功能的正常运行。 - 若你的应用
targetSdkVersion >= 31(适配Android 12及以上版本),手动声明该接收器时必须显式指定android:exported属性,否则会出现应用安装解析错误。
内容的提问来源于stack exchange,提问作者MobileDev
相关产品推荐
相关产品推荐

