Firebase旧getToken方法废弃后如何指定sender ID获取FCM令牌
FCM 新版令牌获取方法的Sender ID配置规则
- 旧版支持手动传入sender ID的
FirebaseInstanceId.getInstance().getToken(senderId, "FCM")API已经被官方彻底废弃,无法继续调用。 - 新版
FirebaseMessaging.getInstance().getToken()方法不支持在调用时传入自定义sender ID参数,该方法默认自动读取当前应用默认初始化的Firebase项目绑定的sender ID,直接返回匹配该sender ID的有效FCM令牌,不需要额外传参配置。 - 如果业务需要获取其他sender ID对应的FCM令牌(比如多项目推送、跨应用推送场景),不能通过getToken传参实现,必须在初始化阶段提前完成配置:
- 将所有需要用到的sender ID提前添加到Firebase项目的合法授权发送方列表中
- 针对每个非默认sender ID所属的Firebase项目,单独初始化对应的
FirebaseApp实例 - 从目标
FirebaseApp实例中获取对应的FirebaseMessaging实例,再调用该实例的getToken()方法,即可拿到对应sender ID的有效FCM令牌
注意:不要通过反射、篡改SDK内部配置等非官方手段强行给新版getToken方法传入sender ID,这类操作会触发SDK安全校验,返回的令牌无法正常接收推送,还可能引发不可预期的运行时错误。
内容的提问来源于stack exchange,提问作者Hades
相关产品推荐
相关产品推荐

