我正在开发一个使用 C2DM 接收推送通知的应用程序。我已经实现了整个 C2DM 电路(客户端和服务器)并且工作正常。
目前,我的应用程序有一个引导 C2DM 注册的按钮,当从 Google 接收到注册 ID 令牌时,我在我的应用服务器中调用 Web 服务以将设备与注册 ID 相关联。
我将在我的应用程序中实现身份验证,并且我有一些与处理 C2DM 注册有关的问题。
- 客户端应用程序(即 Android 应用程序)将有一个登录屏幕作为第一个屏幕,因此用户可以输入凭据。一旦凭据得到验证,我就计划调用 C2DM 注册,以便用户与注册 ID 令牌相关联。这个可以吗?在应用程序的后续执行中,我可能会存储凭据或某种令牌,以便用户不需要再次输入凭据,我是否应该在应用程序启动时触发 C2DM 注册?
- 我知道 Google 最终可能会更新注册 ID。定期更新注册 ID 是否也是一种好习惯?如果是这样,什么时候应该合适?注册 id 令牌是否过期?
- 在客户端和服务器之间的注册 id 不同步的罕见情况下会发生什么(例如,新的注册 id 到达客户端,在此过程中,使用旧的注册 id 在服务器上触发一个新事件,然后注册ID到达服务器)?谷歌会处理这种情况吗?我的应用服务器应该处理这种情况吗?
- 如果从 Google 收到新的注册 ID 时无法访问服务器,会发生什么情况?我应该回退并安排警报重试吗?
- 你能想到任何其他的陷阱吗?