Скинул бандл дополнений и нашел ответ.
Вот те ключи, которые я искал:
google.sent_time (long)
from (строка)
google.message_id (String)
collapse_key (String)
Помимо этого, вы можете напрямую использовать ключи, которые вы использовали для пользовательских данных (при отправке сообщения).
когда мы запускаем сообщения из консоли firebase, я думаю, что только пользовательские данные, которые мы отправили, могут быть получены из дополнительных намерений. Название, сообщение и т. Д. Я не могу получить отсюда
Обновлять
Как также отмечают другие, я не думаю, что можно извлечь заголовок и сообщение из намерения дополнений. Я нашел обходной путь, передав их снова с отдельным ключом. Некоторый код, как извлекать данные из намерения дополнительных,
Bundle Extras = getIntent().getExtras();
public static String Content_KEY = "NotificationContent"; //alterative to message
String Content = Extras.getString(Content_KEY);
Точных имен не помню, но есть 2 режима отправки сообщения.
Первый режим - это то, что использует консоль firebase. Он отправляет сообщения напрямую
- To system tray if in background (as a notification)
- В onMessageReceived, если на переднем плане.
Вам придется обрабатывать и то, и другое, я закончил тем, что отправил уведомление из самого приложения в системный трей, если я получил его в onMessageReceived, чтобы я мог управлять ими из того же кода, который обрабатывает дополнительные функции в основном действии.
Вы также потеряете данные, если потеряете уведомление.
- Отправляйте сообщение прямо с сервера или приложения на сервер firebase. Я думаю, что сообщение всегда будет отправляться в onMessageReceived, что избавит вас от боли, связанной с повторной отправкой сообщения в виде отдельного ключа, и проблемы потери данных, если уведомление будет удалено. Но здесь вам нужно будет настроить собственное приложение / сервер уведомлений.
person
Varun Garg
schedule
02.08.2016