0
  1. SDK版本:40
  2. 平台(Android/iOS/web/all):iOS
  3. 根据您有疑问的 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 完美配合)

也在世博论坛:https ://forums.expo.io/t/expo-notifications-getdevicepushtokenasync-on-ios-returns-a-token-thats-not-fcm-and-does-not-work-with-firebase /52155

4

0 回答 0