Ricerca…


introduzione

Questo può essere fatto usando 2 metodi con richiesta HTTP Post , con SDK admin Firebase in esecuzione sul tuo server. Qui discuterò entrambi.

Protocollo HTTP Firebase Cloud Messaging

Dalla richiesta del server al link sottostante per inviare la notifica con alcuni parametri di richiesta

https://fcm.googleapis.com/fcm/send

Durante la richiesta di aggiungere intestazioni come segue

Authorization    key=<Your_key_from_the_console>
Content-Type     application/json

Il corpo della richiesta varia

{
  "to" : <tokens or the topic>,
  "notification" : {
    "title":"This is a test title",
    "body":"This is the body"
  },
  "data": {
      //whatever key value payer you need to send  
  }
}

I parametri to accettano array di token come

["token1","token2",..........]

o un singolo token come

"token"

o un nome di argomento che inizia con / topic / like

"/topic_name/"

Per più argomenti utilizzare le condizioni usando || e gli operatori di && come

"/topic_name/ && /topic2/"

Utilizzo di Admin SDK (nodo js)

Inizialmente inizializza l'SDK di Firebase e l'SDK dell'amministratore

const functions = require('firebase-functions');
const admin = require('firebase-admin');

admin.initializeApp({
  credential: admin.credential.cert({
        //your admin credential certificate generated from the console. Follow this [link][1].
    }),
  databaseURL: "https:///<PROJECT_NAME>.firebaseio.com"
});

Creare una stringa JSON del payload come nel primo esempio.

var payload = {
              notification: {
                title: "Title of the notification,
                body: "Body of the notification",
              },
              data:{
                //required key value pair
              }
            };

Quindi chiama diversi metodi di invio per inviare la notifica.

Per argomento

admin.messaging().sendToTopic("/topic/", payload)
              .then(function(response) {
                console.log("Successfully sent message:", response);
              })
              .catch(function(error) {
                console.log("Error sending message:", error);
              });
            });

Per dispositivo

admin.messaging().sendToDevice(token, payload).then(response=>{
                       response.results.forEach((result, index) => {
                        const error = result.error;
                        if (error) {
                          console.error('Failure sending notification to', tokens, error);
                        } else{
                          console.log('Sucessfully sent to '+tokens);
                        }
                      });


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow