Android知识点(C2DM)

Cloud To Device Messaging 云端推送服务

Android设备支持C2DM的条件

    1. Android 2.2及以上的系统版本;

    2. 设备上需要有设置好的Google帐号。

C2DM服务的流程

    

    1. 客户端向云端注册推送id:客户端将注册C2DM服务的帐号(如enterprise@gmail.com,客户端发送的这个帐号都是同一个)发送到C2DM Server进行注册;

    2. 客户端得到registration ID:C2DM Server将registration ID反馈给客户端;

    3. 客户端向应用服务器登记所获取的registration ID:客户端将用户的帐号唯一标识、registration ID发送到应用服务器,应用服务器将registration ID与用户绑定并存储到服务器中;

    4. 用户的资料发生改变,或者有人给用户发送信息;

    5. 应用服务器请求C2DM Server向客户端发送消息推送:向C2DM Server发送registration ID、通知信息,请求C2DM Server向客户端推送信息;

    6. C2DM Server向客户端推送信息。

客户端实现流程

    1. 将成熟的C2DMBaseReceiver、C2DMBroadcastReceiver、C2DMessaging类拷贝到项目中(这3个文件可以从google code中获得);

    2. 创建一个C2DMBaseReceiver的子类C2DMReceiver,重载其中的函数

        protected void onMessage(Context context, Intent intent) 处理云端推送过来的信息;

        public void onRegistered(Context context, String registrationId) 从C2DM Server得到registration ID之后执行的回调函数,用于向应用服务器发送登记行为;

        public void onUnregistered(Context context) 从C2DM Server注销之后执行的回调函数。

    3. 在AndroidManifest.xml文件中声明应用将用到C2DM推送权限、C2DM Receiver的Service,以及对应的BroadcastReceiver。

    参考资料:http://blog.csdn.net/ichliebephone/article/details/6591071 

原文地址:https://www.cnblogs.com/sunnyfarmer/p/2965769.html