我已经和de C2DM合作了一段时间,而且它一直都很完美。最近我遇到了一个我似乎无法解决的问题,在这个论坛上可能无法解决任何问题。问题是我有几个使用C2DM的应用程序,我让所有应用程序注册了相同的发件人ID,然后在我的数据库中注册用户令牌。如果用户有两个我的应用程序A& B(相同的发件人ID)并启动应用A,我向使用应用B的用户发送推送通知,启动应用A的用户最后将收到实际用于应用B的消息。
我的问题是有一种方法可以为1台设备上安装的所有应用使用相同的发件人ID吗?
答案 0 :(得分:1)
没有。 C2DM注册ID的范围限定为一台设备上的一个应用程序。如果将C2DM消息发送到注册ID,则只会将其传递到一个应用程序。您应该从一开始就使用不同的C2DM帐户,因此每个应用程序都有自己的注册ID。注册ID不是每台设备,它们是每个设备的每个应用程序。
如果您无法重新配置注册ID,那么您可以使用接收器然后发送广播意图,并且您的应用程序都可以通过响应该广播来获取它。我希望你需要两个应用程序来收听和重播,但它应该有效。我建议你重新配置你的C2DM使用率,因为你当前的设置并不理想,我预计问题只会变得更糟。
我假设你说“发件人ID”是指注册ID。