Go 中使用 Firebase 云消息传递的 Web 推送通知
Go 中使用 Firebase 云消息传递的 Web 推送通知
关于网络推送通知,最近因为下雨不能出门而沉迷其中 @_tetsuya28 我将简要总结一下。
这次,我将介绍一个从 Go 发送 Web 推送通知的示例,如下所示。
什么是 Firebase 云消息传递
通过使用 Firebase 的 Cloud Messaging,您可以发送网络推送通知,Instagram 和 YouTube 也使用这些通知。
https://firebase.google.com/docs/cloud-messaging
流程直到发送推送通知
在客户端发出令牌→将令牌存储在服务器端→从服务器端向 Firebase 发出消息
使用 React 注册客户端
火力基地 v9 ( @firebase/消息 @0.9.16 ) 用于 Firebase 云消息传递令牌的客户端发行。
在客户端,使用下面的代码为每个客户端生成一个 Firebase 云消息传递令牌。
从“firebase/messaging”导入 { getMessaging, getToken } const app = initializeApp(firebaseConfig)
常量消息 = getMessaging(app)
const fcm_token = 等待 getToken(消息,{
vapidKey: "****",
})
控制台日志(fcm_token)
然后使用来自客户端的某种方法(例如 API)将令牌保存在服务器端。此处保存的令牌必须在适当的时候更新。
https://firebase.google.com/docs/cloud-messaging/manage-tokens
本文假设上述令牌存储在服务器端。
使用 Go 发送通知
这是一次向多个设备(用户)发送通知的示例。
https://firebase.google.com/docs/cloud-messaging/send-message
-
初始化火力基地
# 进口 (
火力基地“firebase.google.com/go”
) 应用程序,错误:= firebase.NewApp(context.TODO(), &firebase.Config{})
如果错误!= nil {
日志打印(错误)
}
2. 初始化云消息
客户端,错误:= app.Messaging(context.TODO())
如果错误!= nil {
日志打印(错误)
}
3. 创建消息
WebpushFcmOptions.Link
至 https
通过设置 的链接,可以设置点击推送通知时的链接跳转。
代币
对于 ,将每个客户端生成的 Firebase 云消息传递令牌设置为字符串数组。
消息 := &messaging.MulticastMessage{
代币:代币,
通知:通知,
网络推送:&messaging.WebpushConfig{
FcmOptions: &messaging.WebpushFcmOptions{
链接:“https://example.com”,
},
},
}
4. 发送消息
br, err := client.SendMulticast(context.TODO(), message)
如果错误!= nil {
日志打印(错误)
}
其他
如果您对本文有任何问题或意见 @_tetsuya28 请随时通过 DM 与我们联系。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明