- SDK版本:40
- 平台(Android/iOS/web/all):iOS
- 根据您有疑问的 Expo 库添加适当的“标签”。
嗨,我正在使用带有 expo 和 expo-notifications 的 react native,并在 firebase 函数中使用 firebase 消息发送通知。
集成适用于 android,而不是 iOS,返回的令牌似乎是 apn 令牌而不是 FCM,firebase 管理员拒绝该令牌“注册令牌不是有效的 FCM 注册令牌”
我尝试使用“https://iid.googleapis.com/iid/v1:batchImport”(遵循本指南:https ://www.thepolyglotdeveloper.com/2017/06/apns-tokens-fcm-tokens-simple- http/)返回一个有效的 FCM 令牌,并与 Firebase Notification Composer 一起使用,我可以通过该接口获取通知,但是如果我尝试使用 firebase 进行转换并从生成的 FCM 发送通知,我会从 firebase 收到错误“SenderId不匹配”。
正如Firebase Notification Composer所证明的那样,我已将凭据正确添加到firebase iOS客户端中,但是不知何故,expo返回的令牌未使用与firebase相同的SenderId进行签名,并且管理员检查了Composer没有吗?不知道是什么情况。
简而言之:
我想从 Notifications.getDevicePushTokenAsync() 获取 FCM 令牌,这应该是可能的,或者是可能的(至少在 github 问题中有一些讨论)。
firebase 功能代码为:
return admin
.messaging()
.send({
token: registrationTokens,
data: {...}
和本机反应:
token = (await Notifications.getDevicePushTokenAsync()).data;
(两者都与 Android 完美配合)