Попытка использовать Firebase для кроссплатформенных мобильных уведомлений. Клиентский код для получения токена устройства, похоже, работает, так как мы можем отправлять уведомления из веб-консоли Firebase. Но я не могу понять, как отправлять уведомления с нашего сервера. Мы получаем ошибку: app instance has been unregistered; code: registration-token-not-registered; details: Requested entity was not found
при вызове messagingClient.Send
в следующем фрагменте кода Go:
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, в разделе «Настройки», «Учетные записи служб», «Firebase». Admin SDK.