我正在尝试使用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);
    }