Próbuję wysyłać powiadomienia mobilne push do GCM przez AWS SNS. Zgodnie z najnowszą wersją GCM 3.0 documentation, może ona zawierać ładunek "powiadomienie" lub ładunek "danych" (lub oba). Jeśli wyślesz ładunek powiadomienia, GCM zadba o to, aby powiadomienie pojawiło się na urządzeniu użytkownika końcowego.Wysyłanie ładunku zawierającego tylko powiadomienie do GCM przy użyciu AWS SNS
Korzystanie z Amazon SNS konsolę, próbowałem wysyłanie powiadomień tylko ładunek, ale napotkał następujący błąd:
Invalid parameter: Message Reason: Invalid notification for protocol GCM: data key is expected in the json message (Service: AmazonSNS; Status Code: 400; Error Code: InvalidParameter)
wyślę:
{
"GCM":"{\"notification\":{\"title\":\"Test Message\"}}"
}
Podejrzewam, że to może być problem z SNS wciąż zgodny z poprzednią wersją GCM i dlatego oczekuje klucza "danych", ale nie jestem pewien. Czy ktoś ma podobny problem lub ma z tym jakieś doświadczenie? Dzięki!
EDYTOWANIE: Aby wyjaśnić, chcę wysłać GCM ładunek powiadomień i automatycznie wyświetlać ostrzeżenie dla użytkownika zgodnie z opisem w dokumentacji. W tej chwili zaczynam się zastanawiać, czy SNS wysyła dalej powiadomienie do urządzenia.
Co się stanie, jeśli dodasz właściwość danych i po prostu zostawisz pusty ciąg? – cYrixmorten
@ blurixmorten, dobry punkt. To z pewnością zadziała, ale naprawdę chcę, aby GCM rozpoznał ładunek powiadomień i automatycznie wyświetlił ostrzeżenie zgodnie z dokumentacją. Tak się nie dzieje, gdy wysyłam pusty ciąg danych. – weiy
W porządku, pomyślałem, że to może być wystarczająco "sprytne", aby rozpoznać, że wartość danych była pusta. Mam tylko doświadczenie w implementowaniu obsługi instalacji GCM (dawno temu i żmudnie), a następnie używam parse.com. Ten ostatni działa bardzo dobrze i jest łatwy w konfiguracji. – cYrixmorten