Napotkałem 2 problemy w systemie Android z najnowszą aktualizacją GCM. Zgodnie z GCM, automatycznie wyświetli powiadomienie w zasobniku, jeśli ładunek zawiera atrybut "powiadomienie". Ale nie wspomnieli o tym, jak obchodzić się z wydarzeniem z tapem dla tego powiadomienia. Jeśli ładunek zawiera tylko atrybut danych, wywoływana jest opcja "onMessageReceived" usługi GCMListenerService. Ale jeśli ładunek zawiera zarówno powiadomienia, jak i atrybuty danych, metoda nie jest wywoływana. Każdy pomysł, jak rozwiązać? Muszę też sprawdzić iOS, żeby zobaczyć, jak się tam zachowuje.Sposób obsługi powiadomienia z systemu Android, jeśli jest wyświetlany automatycznie przez GCM
Odpowiedz
Musisz ustawić click_action w treści powiadomienia. Następnie, gdy użytkownik otworzy/kliknie powiadomienie, zostanie uruchomiona Aktywność w aplikacji zadeklarowana z tą akcją.
np zestaw click_action: OPEN_ACTIVITY_1 i dodaj następujący filtr zamiarem pożądanej aktywności:
<intent-filter>
<action android:name="OPEN_ACTIVITY_1" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
Następnie można wyodrębnić dane z wiadomości w działalności, za pomocą getIntent(), a następnie patrząc na dodatkowe dodatki.
Zobacz wpis tutaj: https://developers.google.com/cloud-messaging/server-ref#notification-payload-support
Czy myślisz, GcmListenerService nie jest bardziej przydatna, ponieważ nie jest nawet wywoływana, gdy atrybut powiadomienia jest obecny w ładunku? – Winster
Nie można wysłać pojedynczej wiadomości zawierającej powiadomienie i wywołać usługę GcmListenerService. Możesz uzyskać ten sam efekt, wysyłając dwie wiadomości, jedną z ładunkiem powiadomień i jedną z ładunkiem danych. – morepork
Nie musisz określać intencji, aby przejść do czynności, w której umieściłeś filtr intencyjny? Umieściłem ten filtr intencyjny w jednym z moich widoków i nic się nie dzieje po kliknięciu powiadomienia, które ma "click_action": "OPEN_ACTIVITY_1" w kluczu powiadomień w obiekcie json. Jestem początkującym programistą dla Androida, więc wszelkie sugestie pomogą. – bxiong
Jeśli wysłany impuls z notification
param, to nie można obsługiwać przez na onMessageReceived
Jeśli chcesz obsługiwać zgłoszenia, wysłać impuls z data
opcji, teraz poradzi sobie z GCM i onMessageReceived
.
Uwaga: powiadomienia o obsłudze ios za pomocą klucza notifications
.
Wyślij polecenie push for ios z kluczem notification
, dla klucza Android data
.
Dla Androida;
{"data":{"message":"hey"}},registration_ids":["device token"]
na iOS:
{"notification":{"title":"Hey title", "body":" Hey body"},"to":"device token"}
registration_ids dostarczy wiadomość tylko do jednego urządzenia lub do więcej (ponieważ jest to szyk). Jak wysłać go do każdego urządzenia (bez faktycznego wyświetlania wszystkich identyfikatorów), na którym aplikacja jest zainstalowana? (zarówno w systemie IOS, jak i Android) – BraveNinja
- 1. Otrzymuj dane z powiadomienia GCM
- 2. wycofanie/anulowanie powiadomienia gcm z Androidem
- 3. Jak wysłać powiadomienia wypychania systemu Android za pośrednictwem GCM na C# .Net
- 4. Android GCM włącz światła
- 5. Android - powiadomienia wypychania GCM nie pojawiają się na liście powiadomień
- 6. Odbieranie powiadomień GCM na temat systemu Android, gdy aplikacja jest w stanie zatrzymania
- 7. Android - wyświetla powiadomienia, nawet jeśli jest wyłączona dla aplikacji?
- 8. Jak uniknąć opóźnień w wiadomościach GCM systemu Android/zmianie pulsu
- 9. Android GCM szyfrowania
- 10. Powiadomienia push GCM na Androida 3.1: wyłącz odbiornik transmisji
- 11. Przeglądarka systemu Android automatycznie zmienia rozmiar tekstu
- 12. Korzystanie z GCM na Androida i iOS bez powiadomienia payload
- 13. Uruchamianie aplikacji po otrzymaniu powiadomienia GCM
- 14. Android 5.1 ikona powiadomienia push jest pusta
- 15. Powiadomienia push na Androida: Google GCM a Amazon SNS?
- 16. Zapobieganie wielu dźwiękom powiadomienia Android
- 17. Alert nie jest wyświetlany z widoku internetowego w systemie Android?
- 18. Czy program obsługi zdarzeń TTimer.OnTimer jest ponownie wyświetlany?
- 19. Otrzymuj powiadomienia Android Push, mimo że aplikacja jest zamknięta
- 20. Android - Potrzebuje oddzwonienia, gdy wyświetlany jest widok
- 21. Czy otrzymam wiadomość GCM, jeśli Android zabije moją aplikację i czy wykonam opcję Wymuszenie zamknięcia z ustawień?
- 22. Programowany Android MapView v2 nie jest wyświetlany
- 23. Android GCM SERVICE_NOT_AVAILABLE
- 24. Powiadomienie na temat systemu Android nie znika po kliknięciu powiadomienia
- 25. Jak wysłać powiadomienie do systemu Android ze strony php?
- 26. Wyślij ciche powiadomienie przez GCM na Androida/IOS
- 27. Android - w jaki sposób mogę wysłać powiadomienie push GCM z instrukcją, którą czynność załadować?
- 28. Android: ustal, czy powiadomienia są wyłączone przez użytkownika
- 29. Tekst jest wyświetlany z opóźnieniem
- 30. Układ niestandardowego powiadomienia Android z RemoteViews
Próbowałeś użyć Parse.com? To dość proste dla Androida i iOS. Ale myślę, że chcesz używać tylko GCM ... –