Android - невозможно проанализировать удаленное сообщение от FCM
Я разрабатываю приложение для Android, в котором я хотел бы получать push-уведомления от FCM.
onMessageReceived
обратный вызов срабатывает, но RemoteMessage.getData()
вернулся null
значение и когда я оценил выражение, RemoteMessage.mBundle
имеет необходимые данные, но не в формате JSON
Ниже приведены данные, которые я получаю от RemoteMessage.mBundle
Bundle[{google.sent_time=1519016906113, gcm.notification.categoryId=80302, google.ttl=2419200, gcm.notification.notificationId=127647, gcm.notification.e=1, gcm.notification.threadId=127093, gcm.notification.title=Moni Expert has commented on your post, from=612005318045, gcm.notification.roleId=115442, gcm.notification.userId=76284, gcm.notification.profileUrl=/image/user_male_portrait?img_id=122306&img_id_token=%2B99KTi28KTf7%2BehhVakxUyPqAuU%3D&t=1519016037919, google.message_id=0:1519016906118429%c05b1316c05b1316, gcm.notification.lastName=Expert, gcm.notification.notificationDate=2018-02-19 05:07:17.821, gcm.notification.timeStamp=Fri Feb 16 14:57:08 GMT 2018, gcm.notification.body=Moni Expert has commented on your post, gcm.notification.flag=0, gcm.notification.type=1, gcm.notification.firstName=Moni, gcm.notification.threadStatus=Published, gcm.notification.subject=posted, gcm.notification.roleName=D4E Admin, gcm.notification.userName=moniexpert, gcm.notification.postedUserId=76284, collapse_key=digital.engineers.club, gcm.notification.notification=Moni Expert has commented on your post}]
Я много искал, чтобы преобразовать эти данные в Json
формат но ничего не помогло.
Обновить:
Фрагмент кода упоминается ниже
public class D4EPushService extends FirebaseMessagingService {
private static final String TAG = "MyFMService";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// Handle data payload of FCM messages.
Log.d(TAG, "FCM Message Id: " + remoteMessage.getMessageId());
Log.d(TAG, "FCM Notification Message: " +
remoteMessage.getNotification());
Log.d(TAG, "FCM Data Message: " + remoteMessage.getData());
remoteMessage.mBundle;
}
Я не могу даже назначить remoteMessage.mBundle
новой переменной пакета в моем фрагменте кода, как это было в частном порядке объявлено в RemoteMessage
учебный класс
Пожалуйста, кто-нибудь, помогите мне найти решение.
1 ответ
Попробуйте ниже решение это работа для меня.
if (remoteMessage.getData().size() > 0) {
Map<String, String> data = remoteMessage.getData();
String message = data.get("your key");}