fcm golang
时间: 2023-10-02 12:13:52 浏览: 167
FCM (Firebase Cloud Messaging) 是一种跨平台的消息推送服务,可以用于向移动设备、Web应用程序和服务器发送实时通知。在 Golang 中,你可以使用 Firebase 的官方 SDK 来集成 FCM 功能。
首先,你需要安装 Firebase Go SDK。可以使用以下命令来安装:
go get firebase.google.com/go
接下来,你需要设置 Firebase 项目并获取到一个服务账号 JSON 文件。你可以在 Firebase 控制台中创建一个项目,并在设置中生成一个新的私钥。将该 JSON 文件保存在你的项目中。
在你的代码中导入所需的库:
import (
"context"
"log"
firebase "firebase.google.com/go"
"firebase.google.com/go/messaging"
"google.golang.org/api/option"
)
初始化 Firebase App:
func initializeApp() (*firebase.App, error) {
ctx := context.Background()
configFile := "/path/to/serviceAccountKey.json"
opt := option.WithCredentialsFile(configFile)
app, err := firebase.NewApp(ctx, nil, opt)
if err != nil {
log.Fatalf("error initializing app: %v\n", err)
return nil, err
}
return app, nil
}
发送消息到设备:
func sendToDevice(app *firebase.App, deviceToken string, title string, body string) error {
ctx := context.Background()
client, err := app.Messaging(ctx)
if err != nil {
log.Fatalf("error getting Messaging client: %v\n", err)
return err
}
message := &messaging.Message{
Token: deviceToken,
Notification: &messaging.Notification{
Title: title,
Body: body,
},
}
_, err = client.Send(ctx, message)
if err != nil {
log.Fatalf("error sending message: %v\n", err)
return err
}
return nil
}
使用上述函数来发送消息到设备:
func main() {
app, err := initializeApp()
if err != nil {
log.Fatalf("error initializing app: %v\n", err)
}
deviceToken := "device_token_here"
title := "Hello"
body := "This is a test notification"
err = sendToDevice(app, deviceToken, title, body)
if err != nil {
log.Fatalf("error sending notification: %v\n", err)
}
}
上述代码示例了如何使用 Golang 发送 FCM 消息。你需要替换代码中的服务账号 JSON 文件路径和设备标记(device token),并根据你的需求进行修改。
希望对你有所帮助!如果还有其他问题,请随时提问。
阅读全文