Zaczynam z nowej usługi Google dla powiadomień Firebase Cloud Messaging
.
Dzięki temu kodowi https://github.com/firebase/quickstart-android/tree/master/messaging mogłem wysyłać powiadomienia z mojej konsoli użytkownika Firebase na urządzenie z Androidem.
Czy istnieje interfejs API lub sposób na wysłanie powiadomienia bez użycia konsoli Firebase? Mam na myśli na przykład interfejs API PHP lub coś takiego, aby bezpośrednio tworzyć powiadomienia z własnego serwera.
Odpowiedzi:
Firebase Cloud Messaging ma interfejsy API po stronie serwera, które można wywoływać w celu wysyłania wiadomości. Zobacz https://firebase.google.com/docs/cloud-messaging/server .
Wysłanie wiadomości może być tak proste, jak
curl
wywołanie punktu końcowego HTTP. Zobacz https://firebase.google.com/docs/cloud-messaging/server#implementing-http-connection-server-protocolźródło
Działa to przy użyciu CURL
$message
to Twoja wiadomość do wysłania na urządzenie$id
to token rejestracyjny urządzeniaYOUR_KEY_HERE
jest kluczem API serwera (lub starszym kluczem API serwera)źródło
{"multicast_id":3694931298664346108,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MessageTooBig"}]}
. Co można zrobić, aby to naprawić?Użyj interfejsu API usługi.
URL:
https://fcm.googleapis.com/fcm/send
Rodzaj metody:
POST
Nagłówki:
Nadwozie / Ładowność:
Dzięki temu w swojej aplikacji możesz dodać poniższy kod w swojej działalności, aby się nazywać:
Sprawdź również odpowiedź na Firebase onMessageReceived nie wywoływany, gdy aplikacja w tle
źródło
"to" : "to_id(firebase refreshedToken)"
zamiast identyfikatora urządzenia?"all"
w ogóle nie działa. Używam C #,WebRequest
aby wysłać powiadomienie. @AshikurRahman również mile widziane są Twoje sugestie. Walczę i szukam od 3-4 dni.Wysyłaj wiadomości na określone urządzenia
Aby wysyłać wiadomości do określonych urządzeń, ustaw token rejestracyjny dla określonej instancji aplikacji
Wysyłaj wiadomości do tematów
tutaj temat to: / topics / foo-bar
Wysyłaj wiadomości do grup urządzeń
Wysyłanie wiadomości do grupy urządzeń jest bardzo podobne do wysyłania wiadomości do pojedynczego urządzenia. Ustaw parametr na unikalny klucz powiadomienia dla grupy urządzeń
URL interfejsu API:
https://fcm.googleapis.com/fcm/send
Nagłówki
Metoda zapytania:
POST
Żądanie treści
Wiadomości na określone urządzenia
Wiadomości do tematów
Wiadomości do grup urządzeń
źródło
Jak wspomniał Frank, możesz użyć interfejsu API HTTP Firebase Cloud Messaging (FCM), aby uruchomić powiadomienie wypychane z własnego zaplecza. Ale nie będziesz w stanie
Czyli: musisz sam przechowywać identyfikatory rejestracji FCM / GCM (tokeny push) lub używać tematów FCM do subskrybowania użytkowników. Należy również pamiętać, że FCM nie jest interfejsem API dla powiadomień Firebase , jest interfejsem API niższego poziomu bez harmonogramu lub analiz otwartych. Powiadomienia Firebase są oparte na FCM.
źródło
Najpierw musisz zdobyć token od Androida, a następnie możesz wywołać ten kod php, a nawet wysłać dane do dalszych działań w swojej aplikacji.
źródło
Możesz użyć na przykład skryptu PHP do Google Cloud Messaging (GCM). Firebase i jego konsola znajdują się na szczycie GCM.
Znalazłem ten na github: https://gist.github.com/prime31/5675017
Wskazówka: ten skrypt PHP powoduje powiadomienie Androida .
Dlatego: Przeczytaj tę odpowiedź z Koot, jeśli chcesz otrzymywać i wyświetlać powiadomienia w systemie Android.
źródło
Powiadomienie lub komunikat danych można wysłać do bazowego serwera przesyłania komunikatów w chmurze bazowej Firebase przy użyciu punktu końcowego interfejsu API FCM HTTP v1. https://fcm.googleapis.com/v1/projects/zoftino-stores/messages:send .
Musisz wygenerować i pobrać prywatny klucz konta usługi za pomocą konsoli Firebase i wygenerować klucz dostępu za pomocą biblioteki klienta Google API. Użyj dowolnej biblioteki http, aby opublikować wiadomość powyżej punktu końcowego, poniższy kod pokazuje wiadomość wysyłającą przy użyciu OkHTTP. Kompletny kod po stronie serwera i klienta można znaleźć w komunikatach chmurowych Firebase i wysyłaniu wiadomości do wielu klientów na przykładowym temacie fcm
Jeśli konkretna wiadomość klienta musi zostać wysłana, musisz uzyskać klucz rejestracyjny firebase klienta, zobacz wysyłanie wiadomości klienta lub konkretnego urządzenia na serwer FCM
źródło
to rozwiązanie z tego linku bardzo mi pomogło. możesz to sprawdzić.
Plik curl.php z tą linią instrukcji może działać.
Zapamiętaj
you need to execute curl.php file using another browser ie not from the browser that is used to get the user token. You can see notification only if you are browsing another website.
źródło
Jeśli chcesz wysyłać powiadomienia push z Androida, sprawdź mój post na blogu
Wysyłaj powiadomienia push z 1 telefonu z Androidem na inny bez serwera.
wysyłanie powiadomienia wypychanego to nic innego jak prośba o wpis na https://fcm.googleapis.com/fcm/send
fragment kodu za pomocą siatkówki:
Sugeruję, abyście sprawdzili mój post na blogu, aby uzyskać szczegółowe informacje.
źródło
Za pomocą Firebase Console możesz wysyłać wiadomości do wszystkich użytkowników na podstawie pakietu aplikacji, ale z CURL lub PHP API nie jest to możliwe.
Poprzez interfejs API Możesz wysyłać powiadomienia do określonego identyfikatora urządzenia lub subskrybowanych użytkowników do wybranego tematu lub subskrybowanych użytkowników tematu.
źródło
Lub możesz użyć funkcji chmury Firebase, co jest dla mnie łatwiejszym sposobem na wdrożenie powiadomień push. baza ogniowa / funkcje-próbki
źródło
Jeśli używasz PHP, polecam użycie zestawu SDK PHP dla Firebase: Firebase Admin SDK . Aby ułatwić konfigurację, możesz wykonać następujące kroki:
Pobierz plik json poświadczeń projektu z Firebase (zainicjuj sdk ) i dołącz go do swojego projektu.
Zainstaluj SDK w swoim projekcie. Używam kompozytora:
Wypróbuj dowolny przykład z sesji Cloud Messaging w dokumentacji SDK:
źródło