#Android 端如何集成推送服务
导语:
目前本公司用到的推送服务 主要有两大厂商 1.百度推送;2.极光推送;市场上还是有很多的推送;比如腾讯的 讯鸽,还有个推,小米推送,华为推送;多不胜数。此次就主要讲解下百度推送与极光推送的使用。
百度推送
1.第一步就是在百度开发者服务管理中创建项目,然后拿到API key , Secret Key ;这个过程就不多说了,上官网直接申请就行
2.下载云推送的客户端SDK,SDK的压缩文件中包含一个例子代码,一个用户手册,和所需的libs和资源等(其实直接看用户手册和Demo基本就没问题了)。
3.根据百度平台开发文档,一步一步做,仔细,不要遗漏基本不会出什么问题。
4.重点就介绍下 Android 端 接受推送过来消息的 类。
我在项目中 起名字为BaiDuPushReceiver
下面为BaiDuPushReceiver
的详细内容
/**
* 百度推送的接受类
*
* @ClassName: BaiDuPushReceiver
* @Description: TODO( 百度推送的接受类)
* @author EmperorBoBo
* @date 2016-6-30
* @company:
*/
public class BaiDuPushReceiver extends PushMessageReceiver {
private String TAG = "BaiDuPushReceiver";
private PushMessageBean model = null;
/**
* 调用PushManager.startWork后,sdk将对push
* server发起绑定请求,这个过程是异步的。绑定请求的结果通过onBind返回。 如果您需要用单播推送,需要把这里获取的channel
* id和user id上传到应用server中,再调用server接口用channel id和user id给单个手机或者用户推送。
*
* @param context
* BroadcastReceiver的执行Context
* @param errorCode
* 绑定接口返回值,0 - 成功
* @param appid
* 应用id。errorCode非0时为null
* @param userId
* 应用user id。errorCode非0时为null
* @param channelId
* 应用channel id。errorCode非0时为null
* @param requestId
* 向服务端发起的请求id。在追查问题时有用;
* @return none
*/
@Override
public void onBind(Context context, int errorCode, String appid,
String userId, String channelId, String requestId) {
String responseString = "onBind errorCode=" + errorCode + " appid="
+ appid + " userId=" + userId + " channelId=" + channelId
+ " requestId=" + requestId;
Log.e(TAG+"baidu-->", responseString);
if (errorCode == 0) {
// 绑定成功
Log.e(TAG, "绑定成功");
}
// 还需处理
}
/**
* setTags() 的回调函数。
*
* @param context
* 上下文
* @param errorCode
* 错误码。0表示某些tag已经设置成功;非0表示所有tag的设置均失败。
* @param successTags
* 设置成功的tag
* @param failTags
* 设置失败的tag
*