Я создаю приложение для Android, которое будет получать push-уведомления. У меня есть Firebase Cloud Messaging setup и в значительной степени работаю, чтобы я мог отправить следующую полезную нагрузку в действительный токен и получать уведомления и данные.
Использование url https://fcm.googleapis.com/fcm/send
{
"to":"<valid-token>",
"notification":{"body":"BODY TEXT","title":"TITLE TEXT","sound":"default"},
"data":{"message":"This is some data"}
}
Мое приложение получает его правильно и может справиться с этим.
Единственная легкая морщина заключается в том, что я получаю следующее исключение, отброшенное в отладке:
Error while parsing timestamp in GCM event
java.lang.NumberFormatException: Invalid int: "null"
at java.lang.Integer.invalidInt(Integer.java:138)
...
Это не разрушает приложение, оно просто выглядит неопрятно.
Я попытался добавить элемент timestamp
в основную полезную нагрузку, уведомление, данные, а также попробовал варианты, такие как time
но, похоже, не может избавиться от исключения (и Google, как я мог бы, я не могу найти ответ).
Как передать временную метку, чтобы она перестала жаловаться?
Отредактировано: Вот мой метод onMessageReceived
, но я думаю, что исключение бросается, прежде чем оно попадет сюда
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "From: " + remoteMessage.getFrom());
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
Log.d(TAG, "Message data payload: " + remoteMessage.getData());
//TODO Handle the data
}
// Check if message contains a notification payload.
if (remoteMessage.getNotification() != null) {
Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
}
}
Спасибо заранее, Крис