Czy możecie mi pomóc (i innym, którzy są tak samo sfrustrowani jak ja), aby dowiedzieć się, jak działa Google Firebase? Dokumentacja jest tak zagmatwana, że sprawia, że czuję się idiotą.Co należy podać w kluczu autoryzacji w Firebase Cloud Messaging
O to chodzi. Po prostu próbuję wysłać wiadomość Push do użytkowników mojej aplikacji Cordova, zauważając im aktualizację lub coś podobnego. W starych dobrych czasach (może kilka tygodni temu) była to po prostu wiadomość push. Teraz jest ta sprawa z Firebase, zmienili się i przemianowali wszystko. Domyślam się, że to, czego potrzebuję, nazywa się obecnie Powiadomieniami, ale jest też Cloud Messaging i naprawdę nie widzę, jaka jest dokładna różnica.
Następnie pojawia się całkowite pomieszanie terminów. Wygląda na to, że istnieje interfejs API https do wysyłania powiadomień, ale jest on słabo udokumentowany. Jest kilka stron wyjaśniających to, ale nie wydają się one osiągać konsensusu co do terminologii. Niektórzy wspominają o "kluczu API", inni "kluczu uwierzytelniania", sam Google nazywa go "kluczem autoryzacyjnym", ale kiedy zaglądam do ustawień mojego projektu na konsoli, widzę "klucz serwera" i "identyfikator aplikacji", podczas gdy plik google_services.json zawiera "private_key_id". Tak więc istnieje duża liczba WTF.
Czy ktoś może wyjaśnić, co powinienem tutaj dostarczyć? W ten sposób należy sformułować żądanie POST do interfejsu 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?
}
Co oznacza "autoryzacja"? Co się dzieje z wartością "do", jeśli chcę wysłać powiadomienie do wszystkich użytkowników i co zrobić, jeśli chcę kierować reklamy na określoną grupę? (Na początek byłbym szczęśliwy, gdyby po prostu dotarł do każdego urządzenia.) Czy istnieje dobra dokumentacja dla tych parametrów?
Co więcej Google zakłada, że wszyscy pracują w Javie i dostarcza tylko przykłady Java. Przynajmniej nie znalazłem nic użytecznego dla PHP, Node.js lub zwykłego JavaScript. Istnieje wiele przykładów dla wszystkich funkcji, których nie potrzebuję.
AKTUALIZACJA: Właśnie stwierdziłem, że "Autoryzacja" powinna być "Kluczem serwera" znajdującym się na konsoli Firebase w zakładce Chmura mojego projektu. (Dobrze, że nie ukryli tego zbyt wiele.) Nadal, jeśli wyślę POST z PHP z cURL, to zwraca pustą odpowiedź z kodem HTTP 0.
jesteś sir ratownikem życia :) – Kushan
To jest świetna pomoc. Dziękuję bardzo. Mam pewne wątpliwości dotyczące tego, jak powinienem pobrać klucz serwera. Więc czy to jest dobry pomysł, aby zakodować klucz w aplikacji lub możemy jakoś uzyskać wartość programowo? –
To tylko ciąg. Możesz dostać to z dowolnego miejsca. Oczywiście to tutaj jest tylko przykład, właściwie umieszczam go w zmiennej globalnej. –