【发布时间】:2023-04-17 05:45:02
【问题描述】:
尝试将 Firebase 用于跨平台移动通知。获取设备令牌的客户端代码似乎可以工作,因为我们可以从 Firebase Web 控制台发送通知。但我不知道如何从我们的服务器发送通知。我们得到错误:
app instance has been unregistered; code: registration-token-not-registered; details: Requested entity was not found
在以下 Go 代码 sn-p 中调用
messagingClient.Send
时:
ctx := r.Context()
opt := option.WithCredentialsFile("serviceAccountKey.json")
app, err := firebase.NewApp(context.Background(), nil, opt)
if err != nil {
return err
}
// Obtain a messaging.Client from the App.
messagingClient, err := app.Messaging(ctx)
if err != nil {
return err
}
// See documentation on defining a message payload.
message := &messaging.Message{
Notification: &messaging.Notification{
Title: "Notification title",
Body: "Notification body",
},
Token: myDeviceToken,
}
// Send a message to the device corresponding to the provided
// registration token.
response, err := messagingClient.Send(ctx, message)
if err != nil {
return err
}
我们使用的凭据文件来自 Firebase 控制台,位于 Settings、Service Accounts、Firebase Admin SDK 下。