2012-09-19 43 views
0

我需要的应用程序所创建的每个时间注册推送?还是足够注册一次,例如登录后? C2DMessaging.register(getApplicationContext(), C2DMConstants.SENDER);的最佳点是什么?注册推送?

回答

1

号其应用程序时每次启动时间注册。但是你必须检查你的注册ID是否被GCM服务器改变了。因为有时GCM需要更改注册ID,甚至不通知设备。因此,您必须将您的注册ID保存在您的应用程序中并在应用程序启动时与GCMRegistrar.getRegistrationId()方法返回的保存的ID和ID相匹配。如果两者不同,请保存并在服务器上更新。

1

我想你应该在GCM注册设备每次用户登录时,每当用户注销,因为用户可以使用的设备从他们的朋友来访问你的applciation取消注册设备。所以,每次用户注销后最好注销设备。每次用户登录或注销时,您还需要更新用户及其设备的映射(最可能在应用程序服务器上)。

1

每次应用程序启动,请检查您保存令牌:

如果为空,发送意图推送

注册。如果它不为空,你可以检查它是否已发送到服务器并决定是否发送它。

不过,我宁愿更多的时候以防万一问题发生在服务器上发送。

在一般情况下,谷歌问我们要不要注册多次。一旦你有一个令牌,使用它没有必要