Android中C2DM的开发,涉及终端、Google C2DM server以及App Server。
终端为了能够与Google C2DM Server通信需要一个Google Accounts,该账户的类型必须是com.google,如何添加一个Google账户呢?在emulator的target必须是google Api Level8,并且下载了Android2.2。这样账户的问题就解决了。
如何向C2DM Server注册很多资料有介绍,这里就不在讲述,需要提及的是需要的东西是:"sender"—>senderID(服务器注册的Email)和"app"—>ApplicationId(应用程序包名)。
下来是获得C2DM返回的registrationId, 保存于本地,然后发送至App Server。
等待消息。
那么服务器端咋办呢?
服务器根据registrationId,collapse_key,以及authorization发送消息。
registrationId是客户端发送给服务器的; collapse_key是 根据情况,服务器自己决定;authorization是服务器向Google ac2dm服务器注册的时获得的凭证,具体如何注册见demo程序。