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