我正在尝试使用Web API发送GCM推送通知(https://gcm-http.googleapis.com/gcm/send) . 但是我能够将通知发送到单个设备(使用注册令牌),我希望将其发送到所有设备 . 我使用注册到主题场景在FCM中对此进行了实验,并为GCM找到了相同的内容 . 在尝试我在客户端没有收到任何东西,而webapi说成功 . 上面提供的文档是https://developers.google.com/cloud-messaging/topic-messaging
目前我在build.gradle中使用编译'com.google.android.gms:play-services-gcm:9.6.1' .
我的约束是我的应用程序已经具有GCM支持并处理各种GCM推送消息,如果我编写FCM处理程序,GCM消息也在FCM处理程序中处理,并且必须将完整代码移动到FCM处理程序 .
请建议 .
还添加了更多细节,这就是我在onHandleIntent()函数中的GcmRegistrationIntentService类中所做的,
public void onHandleIntent(Intent intent) {
ALog.d(TAG, LOG_PREFIX + "On Handle intent");
try {
String token = getToken(getApplicationContext());
sendTokenToServer(token);
subscribeTopics(token);
} catch (SecurityException | IOException exp) {
ALog.w(TAG, LOG_PREFIX + "Cannot send GCM token to server: " + exp.getMessage(), exp);
}
}
然后subscribeTopics()方法是,
private void subscribeTopics(String token) throws IOException {
GcmPubSub pubSub = GcmPubSub.getInstance(this);
pubSub.subscribe(token, "/topics/feeds", null);
}