Odpowiedz

2

Możesz teraz wysłać notification message za pośrednictwem konsoli. Zauważ, że różni się on od wiadomości danych; komunikaty powiadomień wywołują tylko wywołanie zwrotne onMessageReceived, gdy aplikacja znajduje się na pierwszym planie.

Znajdują się one w zakładce zaawansowanej w zakładce na ekranie tworzenia wiadomości , tworząc wiadomość o numerze.

enter image description here

Wystarczy go rozwinąć i wpisz klucz/wartość mapę.

enter image description here

Zostaną one zawarte w polu danych zgłoszenia.

+1

To nie działa poprawnie. Jeśli Twoja aplikacja działa w tle, nie otrzymasz oddzwonienia do "onMessageReceived", nawet jeśli powinieneś, jeśli dodasz "dane". –

+0

@WiseShepherd Zauważyłem wczoraj ten sam problem, można wysłać tylko _wiadomość message_, a nie _data message_. Zaktualizowałem swoją odpowiedź. – oldergod

7

Konsoli powiadomień Firebase można używać tylko do wysyłania powiadomień. Nie można go używać do wysyłania wiadomości danych.

Patrz tabela w message types in the Firebase documentation:

wiadomość Powiadomienie

Zastosowanie scenariusz: FCM automatycznie wyświetla komunikat do użytkowników końcowych urządzeń w imieniu aplikacji klienckiej. Powiadomienia mają wstępnie zdefiniowany zestaw kluczy widocznych dla użytkownika.

Jak wysłać:

  1. Użyj serwera aplikacji i FCM serwera API: Ustaw klucz powiadamiania. Może mieć opcjonalny ładunek danych. Zawsze składane.

  2. Skorzystaj z konsoli Powiadomienia: wpisz tekst wiadomości, tytuł itp. I wyślij. Dodaj opcjonalny ładunek danych, podając Dane niestandardowe w konsoli Powiadomienia. Zawsze składane.

wiadomość Dane

Zastosowanie scenariusz: aplikacja Klient jest odpowiedzialny za przetwarzanie wiadomości danych. Wiadomości danych mają tylko niestandardowe pary klucz-wartość.

Jak wysłać:

  • Użyj serwera aplikacji i FCM serwera API: Ustaw tylko klucz danych. Może być składany lub nie można go zwijać.
+0

Niepoprawna odpowiedź .. Możesz go użyć do aktualizacji DB, jeśli będzie używał Messaging API ("downstream msg"). – Nirel

+5

Zdecydowanie możesz wysyłać dalsze wiadomości danych za pomocą Firebase Cloud Messaging, wysyłając żądanie POST do punktu końcowego HTTP. Ale nie możesz wysyłać wiadomości z danymi z [Konsoli powiadomień Firebase] (https://console.firebase.google.com/project/_/notification), o to właśnie chodzi. –

6

Proszę zajrzeć tutaj: Firebase push notifications update DB, mój post z czerwca.

Podsumowując, trzeba wysłać żądanie HTTP POST do https://fcm.googleapis.com/fcm/send

https://fcm.googleapis.com/fcm/send 
Content-Type:application/json 
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA 

{ "data": { 
"score": "5x1", 
"time": "15:10" 
}, 
    "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..." 
} 
+1

Ta odpowiedź nie pasuje do tego pytania. Sprawdź zadane pytanie - * w szczególności prosi o wysłanie wiadomości z danymi za pomocą konsoli, co nie jest możliwe *. –

+1

Jeśli chcesz wysłać wiadomość z danymi do określonego tematu, wartość właściwości "to" musi mieć postać "/ topics/TOPIC_ID", w przeciwnym razie pojawi się błąd – Apperside

1

można przetestować zarówno powiadomienia i wiadomości danych przy użyciu Postman (klient odpoczynku na żądanie HTTP) testowanie .Patrz zrzuty ekranu:

enter image description here

w nagłówku przejściu:

key:Content-Type, value:application/json 
key:Authorization:key=<Server key>