Новый GCM 3.0 должен позволить GCM автоматически отображать уведомления, отправленные с сервера, если они содержат параметр notification
.GCM 3.0 - gcm автоматически не отображает уведомление с параметром уведомления
Как сказано в docs:
Параметр уведомления с заранее определенными параметрами указывает, что GCM будет отображать сообщение от имени клиента приложения, если клиентское приложение реализует GCMListenerService на Android
Однако я есть проблемы с тем, что это работает, даже если реализован GCMListenerService
.
AndroidManifest.xml
<receiver
android:name="com.google.android.gms.gcm.GcmReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="cz.kubaspatny.pushservertest" />
</intent-filter>
</receiver>
<service
android:name="cz.kubaspatny.pushservertest.gcm.CustomGcmListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
CustomGcmListenerService.java
public class CustomGcmListenerService extends GcmListenerService {
@Override
public void onMessageReceived(String from, Bundle extras) {
super.onMessageReceived(from, extras);
Log.d("GcmListenerService", "Received gcm from " + from + " with bundle " + extras.toString());
}
}
Уведомление от сервера регистрируется, но не показано ГКМ.
Received gcm from 333813590000 with bundle Bundle[{notification={"icon":"ic_launcher.png","body":"great match!","title":"Portugal vs. Denmark"}, collapse_key=do_not_collapse}]
Сообщение отправлено с сервера:
{
"registration_ids":[...],
"data": {
"notification" : {
"body" : "great match!",
"icon" : "ic_launcher.png",
"title" : "Portugal vs. Denmark"
}
}
}
Есть ли что-нибудь еще нужно сделать, чтобы разрешить автоматическое отображение?
Что вы отправляете в поле «уведомление»? – shkschneider
@shkschneider редактировал вопрос. Но я посылаю 'title',' body' и 'icon' –
что вы подразумеваете под« автоматическим отображением »? – injecteer