2015-07-29 3 views
3

Я пытаюсь использовать функцию, когда андроид автоматически выводит на экран уведомления о получении нажимные сообщений, как описано here
Кажется, уведомление не только не отображаемые, но onMessageReceived не стреляла вообще, когда я добавить notification поля к моему JSON полезная нагрузка. Без этого поля все будет хорошо.
Вот мой JSON полезной нагрузки:
уведомления GCM не отображается

{ 
"to":"APA91bGIe59H1V5SsQkKvDOTgCTEaZWwgCJrdQ...", 
"message_id":"", 
"notification":{ 
       "body":"Notification test", 
       "title":"Notification header", 
       "icon":"noti.png" 
       }, 
"data":{ 
     "test_message":"GCM test message!" 
     } 
} 

Итак, почему это может произойти? Или нет автоматических уведомлений? (Для чего notification поля, если это так ... Я могу использовать data поле, если я должен создавать уведомления по себе)

Edit:
Наконец получил его на работу. Поле значка должно быть как "icon":"@drawable/noti"
Ошибки документации Google действительно раздражают.

+0

Необходимо разместить уведомление внутри объекта данных. –

+0

@Prokash Почему, если в документации указано использование отдельного поля? Во всяком случае, не работает. Сообщение доставляется, как ожидалось, но без уведомления. –

+0

@StenSoft да и да, я использую последний пример Google https://github.com/google/gcm –

ответ

0

В моем случае уведомление не было отображено, поскольку я не установил элемент уведомления при создании уведомления. Этот строитель работал:

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 
       .setSmallIcon(R.drawable.ic_stat_ic_notification) 
       .setContentTitle("GCM Message") 
       .setContentText(message) 
       .setAutoCancel(true) 
       .setSound(defaultSoundUri) 
       .setContentIntent(pendingIntent); 
Смежные вопросы