So senden Sie FCM-Benachrichtigungen mit Node.js an alle Android-Geräte

Ich möchte die Benachrichtigung an meine Android-App senden, die mit Ionic t aus dem Node.Js-Code entwickelt wurde. Ich habe folgenden Code ausprobiert und Exactly one of topic, token or condition is required. erhalten

Wie kann ich allen meinen Benutzern bedingungslos eine Benachrichtigung senden?

var serviceAccount = require("/path/to/config.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://myApp.firebaseio.com"
});

var message = {
    notification: {
      title: '$GOOG up 1.43% on the day',
      body: '$GOOG gained 11.80 points to close at 835.67, up 1.43% on the day.'
    }
  };


admin.messaging().send(message).then(res=>{
    console.log("Success",res)
}).catch(err=>{
    console.log("Error:",err)
})

Antwort

Wenn Sie eine Benachrichtigung an alle Benutzer senden möchten, registrieren Sie die Benutzer am besten auf ein bestimmtes Thema, z. B. food dann erhält jeder, der sich für dieses Thema registriert hat, eine Benachrichtigung.

In Ihrem obigen Code erhalten Sie diesen Fehler, weil Sie nicht angegeben haben, an wen Sie die Benachrichtigung senden möchten.

Falls Token:

var registrationToken = 'YOUR_REGISTRATION_TOKEN'; <-- token of user
var message = {
notification: {
  title: '$GOOG up 1.43% on the day',
  body: '$GOOG gained 11.80 points to close at 835.67, up 1.43% on the day.'
  }
token: registrationToken
};

Wenn Thema:

var topic = 'food';
var message = {
notification: {
  title: '$GOOG up 1.43% on the day',
  body: '$GOOG gained 11.80 points to close at 835.67, up 1.43% on the day.'
  }
  topic: topic
};

mehr Infos hier:

https://firebase.google.com/docs/cloud-messaging/admin/send-messages