swift - 如何在不使用 Firebase 控制台的情况下发送推送通知

标签 swift firebase push-notification firebase-cloud-messaging

我有一个通过 Firebase 具有消息传递功能的应用程序。它在应用程序中运行,我有一个 firebase 观察器设置来实时获取新消息。我不知道该怎么做也是在该观察者下触发推送通知。

我已经在我的应用程序中实现了 Firebase 云消息传递,以便我可以向我的控制台发送通知,但是我无法找到适用于 iOS 的资源,或者不只是使用控制台发送单个消息。

我知道这是一个广泛的问题,它可能被标记为“题外话”,但如果我能被引导到任何更多相关资源,我将不胜感激!

最佳答案

有一个用于使用 Firebase 云消息传递发送消息的 API。我建议您查看 FCM server documentation,而不是在这里重复。 .它基本上采用 HTTP POST 请求的形式,比如这个 example from the docs :

POST https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send HTTP/1.1

Content-Type: application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA

{
  "message":{
    "token" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification" : {
      "body" : "This is an FCM notification message!",
      "title" : "FCM Message",
      }
   }
}

要向 设备发送消息,您需要指定所谓的 FCM 服务器 key 。顾名思义,此 key 只能在受信任的环境中使用,例如您控制的服务器、您的开发机器或 Cloud Functions for Firebase。这样做的原因是,拥有您的 FCM 服务器 key 的人可以向您应用的所有用户发送无限制的消息。

还有一个 Firebase Admin SDK,可以更轻松地调用 FCM 服务器 API 以在其支持的平台上发送消息。有关此选项的更多信息,请参阅 FCM Admin SDK documentation .这将上面的内容变成了这样的东西(在 Node.js 上):

admin.messaging().send({
  "message":{
    "token" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification" : {
      "body" : "This is an FCM notification message!",
      "title" : "FCM Message",
      }
   }
})

关于swift - 如何在不使用 Firebase 控制台的情况下发送推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51921331/

相关文章:

flutter - Flutter 中的推送通知 Jitsi 调用

ios - 当特定用户发帖时解析推送通知

ios - 在 IOS Swift 中检测屏幕解锁事件

ios - 没有初始化器但有属性观察器的 Swift 类

ios - swift 中的 XML + 模式

android - Firebase 数据库中的重复键

android - Device Token 第一次返回null

C 头文件中的 Swift 数学函数

ios - SwiftUI Firebase - 在 Firebase 中加减整数

java - 时间戳方法 'SimpleDateFormat' 未从数据库检索