【问题标题】:FCM - Send a notification to iOS device using expo (React native)FCM - 使用 expo (React native) 向 iOS 设备发送通知
【发布时间】:2021-11-14 07:51:16
【问题描述】:

我无法向使用 Expo.io 创建的 iOS 应用发送推送通知。

没有关于如何做到这一点的明确文档,所以这里是我的试验和我所做的事情:

在以编程方式调用此端点之前,我正在尝试使用 POSTMAN 让它工作(就像我在不到 1 小时的时间内为 android 所做的那样)

这就是我所说的:

方法:POST

网址:https://fcm.googleapis.com/fcm/send

正文:

{
  "to": "token (read about it at the end of the post",
  "priority": "high",
  "data": {
    "experienceId": "@expoAccount/projectSlug",
    "title": "Hello there",
    "message": "General kenobi",
    "content_available": true
  },
    "content_available": true
}

我已经测试了很多不同的身体结构(使用/不使用“content_available”键或使用“通知”对象......因为所有身体结构都不同于 all the questions or docs I've read so far

所以我不知道我必须发送的正文...但是如果通知在 Android 上有效,它应该在 iOS 上有效,否则我看不到 FCM 的意义...

谈iOS使用的token

对于 iOS,我从 Notifications.getDevicePushTokenAsync() (expo doc) 获得的令牌不是有效的 FCM 令牌,因为它以某种方式“连接”到某个沙盒或任何 Apple 所说的 shit 行为.

没有this thread,我会迷失在虚无之中...所以我使用的令牌是我在将沙盒令牌“转换”为调用谷歌api的“真实”令牌之后得到的令牌:https://iid.googleapis.com/iid/v1:batchImport

我有时会遇到一些奇怪的行为,尤其是使用密钥"content_available": true 发送时:令牌似乎是“强制取消注册”。

我为什么这么说?因为第一次通话的结果是:"results": [{ "error": "InvalidRegistration" }],,而所有下一个电话的答案都是:"results": [{ "error": "NotRegistered" }],

当使用“sandboxToken”调用时,batchImport 会生成一个新令牌,当我收到一些成功返回(取决于该主体结构)时,该令牌不会改变:"results": [{"message_id": "0:1632152120739230%37bf04f1f9fd7ecd"}],

注意:我有一些成功返回,但 i-phone 上根本没有通知。

【问题讨论】:

  • 根据我使用 Expo 的经验,为 iOS 设置通知不需要 FCM,我将 FCM 用于 android 和非 expo 项目。我运行这个 cmd:expo build:ios -t archive,然后让 expo 管理一切......然后我在应用程序开发人员帐户上启用推送通知。然后我使用世博通知工具进行测试。 Android 是另一回事

标签: ios push-notification firebase-cloud-messaging expo


【解决方案1】:

目前 Expo 应用程序不支持 iOS 应用程序的 FCM。

“请注意,FCM 目前不适用于 Expo iOS 应用程序。” -> https://docs.expo.dev/push-notifications/using-fcm/

到目前为止,对于 iOS,您有 2 个选项:

  1. 致电 APN,信息在您指出的 link 上。

  2. Use Expo push notifications service

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 2019-12-01
    • 2020-12-29
    相关资源
    最近更新 更多