我在我的Android客户端使用GCM,我已经可以将通知从我的App服务器推送到Android客户端。
但我无法订阅我使用 pubSub.subscribe 方法的主题,并以" / topics / mytopic"的格式传递注册令牌和自定义主题名称。 以下是我到目前为止所做的事情:
这里是android intent服务中的发布代码:
GcmPubSub pubSub = GcmPubSub.getInstance(this);
try
{
pubSub.subscribe(token, "/topics/mytopic",null);
} catch (IOException e)
{
e.printStackTrace();
}
答案 0 :(得分:1)
我不确定您是否看过显示如何订阅主题的this example IntentService。请检查一下,看看你得到多远 - 这听起来像你正在尝试做的事情。具体检查创建令牌字符串的方式,然后在订阅中使用
InstanceID instanceID = InstanceID.getInstance(this);
String token = instanceID.getToken(SENDER_ID,GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
根据令牌问题here的解决方案,获取令牌必须使用InstanceID
- 否则您会遇到主题订阅问题。
答案 1 :(得分:1)
您正在使用主线程,您应该使用另一个线程 尝试将您的订阅代码添加到AsyncTask或IntentService