Potete aiutarmi (e altri che sono frustrati quanto me) a capire come funziona Google Firebase? La documentazione è così confusa che mi fa sentire completamente un idiota.Cosa devo specificare per la chiave di autorizzazione in Firebase Cloud Messaging
Ecco la cosa. Sto semplicemente cercando di inviare un messaggio push agli utenti della mia app Cordova, notandoli su un aggiornamento o qualcosa del genere. Nei bei vecchi tempi (forse qualche settimana fa) veniva semplicemente chiamato un messaggio push. Ora c'è questa cosa di Firebase, loro hanno cambiato e ribattezzato tutto. Immagino che quello di cui ho bisogno si chiami attualmente Notifiche, eppure c'è anche Cloud Messaging e non vedo davvero quale sia la differenza esatta.
Quindi c'è una totale confusione di terminologia. Apparentemente c'è un'API https per inviare notifiche, ma è scarsamente documentata. Ci sono un paio di siti che lo spiegano, ma non sembrano raggiungere un consenso sulla terminologia. Alcuni citano una "chiave API", altri una "chiave di autenticazione", Google stessa la chiama "chiave di autorizzazione", ma quando guardo le mie impostazioni di progetto sulla console vedo una "chiave del server" e un "ID app" mentre il file google_services.json contiene un "private_key_id". Quindi c'è una buona quantità di WTF.
Qualcuno può chiarire cosa diavolo dovrei fornire qui? Ecco come deve essere formulata una richiesta POST all'API Firebase:
https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA <-- WHAT IS THIS?
{ "data": {
"score": "5x1",
"time": "15:10"
},
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..." <-- AND THIS?
}
Cosa va a "Autorizzazione"? Che cosa va al valore "to" se voglio inviare la mia notifica a tutti gli utenti e cosa succede se desidero scegliere come target un gruppo specifico? (Per i principianti sarei felice se arrivasse semplicemente ad ogni dispositivo.) C'è una buona documentazione per questi parametri?
Inoltre apparentemente Google presuppone che tutti lavorino in Java e fornisce solo esempi Java. Almeno non ho trovato nulla di utile per PHP, Node.js o semplice JavaScript. Ci sono molti esempi per tutte le funzioni che non mi servono.
AGGIORNAMENTO: ho appena scoperto che "Autorizzazione" deve essere la "Chiave server" trovata nella console Firebase nella scheda Cloud Messaging del mio progetto. (Buona cosa non l'hanno nascosto troppo.) Comunque, se invio un POST da PHP con cURL, restituisce una risposta vuota con il codice HTTP 0.
sei un risparmiatore di vita :) – Kushan
Questo è di grande aiuto. Grazie mille. Ho qualche dubbio su come dovrei recuperare la chiave del server. Quindi è una buona idea inserire la chiave nell'app o crearne il valore in modo programmatico? –
È solo una stringa. Puoi ottenerlo da dove vuoi. Ovviamente questo qui è solo un esempio, in realtà lo metto in una variabile globale. –