首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为不同的服务器获取不同的GCM registrationId

为不同的服务器获取不同的GCM registrationId
EN

Stack Overflow用户
提问于 2016-01-05 10:11:31
回答 2查看 129关注 0票数 2

我正在使用GCM触发对我的安卓应用程序的通知。通知从我的服务器触发。例如,假设用户在app中注册了一个帐户,那么服务器将为我在注册请求中传递GCM注册id发送通知。直到现在它才能完美地运作。现在我又有了一个API,它是另一个服务器。我在请求中发送相同的GCM注册Id,但是我没有从那个服务器收到任何通知,所以从一些阅读中我发现每个registration_id都与特定的应用程序和相应的服务器API键相关联,也就是说,一个设备对于不同的应用程序有不同的registration_id,因此我们在试图使用registration_id发送推送通知时出现了MismatchSenderId错误。我该怎么解决这个问题?我在谷歌上搜索过,没有找到任何合适的解决方案。

我正在以这种方式生成GCM注册:

代码语言:javascript
运行
复制
 String token = instanceID.getToken(defaultSenderId),
                        GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
EN

Stack Overflow用户

回答已采纳

发布于 2016-01-05 16:03:41

由于您有两个不同的服务器,我相信您有两个不同的发件人ID。所以在您的代码中,您必须有两个令牌,每个服务器一个。

示例:

服务器1的令牌:

代码语言:javascript
运行
复制
String token = instanceID.getToken(<sender_id_1>),
                    GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);

服务器2的令牌:

代码语言:javascript
运行
复制
String token2 = instanceID.getToken(<sender_id_2>),
                    GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34609062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档