Android 接入 PubNubSDK 推送
来源:互联网 发布:网络文明主题班会教案 编辑:程序博客网 时间:2024/05/21 17:13
我发现 现在做的 除了个别事情,其他都是为了项目需求做的。 有没有好可怕。。。
嗯 PubNubSDK 也是为了海外 推送做的。
PubNubSDK 推送是海外一款 算是免费中不错的提送SDK吧(免费的肯定是受限制的,比如推送的字符长度,每天或者每个帐号推送的消息数量等等)
那先说怎么集成进去的把,
去官网注册帐号(注册的时候需要翻墙)
https://admin.pubnub.com
注册之后
可以 created new app
然后根据步骤走就好了。
需要在官网准备的东西(都可以在上面的官网下载到的)
1. 先下载 PubNubSDK jar文件
https://s3.amazonaws.com/pubnub/sdk/java/pubnub-4.2.0-all.jar
2. 下载代码资源(这里根据你选进来的是 IOS ,Android 来的)
https://github.com/pubnub/java/
3. 下载 jar 包后放在 libs 目录下,eclipse 刷新 然后自动导入jar,
需要在android 的AndroidManifest.xml 文件中配置权限
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
4. 初始化 SDK
//配置
PNConfiguration pnConfiguration =newPNConfiguration();
pnConfiguration.setSubscribeKey("注册的时候看自己的注册的app里面会有");
pnConfiguration.setPublishKey("注册的时候看自己的注册的app里面会有");
pnConfiguration.setSecure(false);//设置开发模式
//初始化
PubNub pubnub =newPubNub(pnConfiguration);
//监听abcd1234发来的消息
pubnub.subscribe().channels(Arrays.asList("abcd1234")).execute();
//添加监听
pubnub.addListener(mSubscribeCallback)
SubscribeCallbackmSubscribeCallback =newSubscribeCallback(){
//状态
@Override
publicvoidstatus(PubNub pubnub, PNStatus status) {
if(status.getCategory() == PNStatusCategory.PNConnectedCategory)
{
//注册了一个abcd1234 的消息,设置的message 为 hello!!
//需要注册一个回调 连接的状态是否成功
pubnub.publish().channel("abcd1234").message("hello!!").async(newPNCallback<PNPublishResult>() {
@Override
publicvoidonResponse(PNPublishResult result, PNStatus status) {
// Check whether request successfully completed or not.
if(!status.isError()) {
// Message successfully published to specified channel.
}
// Request processing failed.
else{
// Handle message publish error. Check 'category' property to find out possible issue
// because of which request did fail.
//
// Request can be resent using: [status retry];
}
}
});
}
}
//如果收到消息就会到message这里
@Override
publicvoidmessage(PubNub pubnub, PNMessageResult message) {
// Handle new message stored in message.message
if(message.getChannel() !=null) {
// Message has been received on channel group stored in
// message.getChannel()
}
else{
// Message has been received on channel stored in
// message.getSubscription()
}
/*
log the following items with your favorite logger
- message.getMessage()
- message.getSubscription()
- message.getTimetoken()
*/
}
@Override
publicvoidpresence(PubNub pubnub, PNPresenceEventResult presence)
{
}
}
然后在app销毁的时候 需要调用
pubnub.destroy();
------------------------------分割线-----------------------------------
以上就是个简单的 PubNub 接入方法
上面是客户端自己发送自己接收的。
然而 我们需要的是服务器 传送过来,客户端接收
那么客户端需要和服务器定好channel(也就是上面的abcd1234)
客户端只需要监听 这个 channel ,服务器 只需要负责发送这个 channel 的消息。
PS 如果是全部推送,可以把 channel 定义好,如果是 需要单个的推送,某些可以看见。那么需要拿到这个用户的 唯一标识(如:device id)
其官网介绍的很详细,而且有 API 所以,以上只是提供了简单的接入,如果要更多的功能可以去官网 瞄几眼。
最后 我想问问 大家 有没有用过海外 比较靠谱的推送啊 求介绍啊哈哈哈哈(支持离线推送的是最好了) thx
1 0
- Android 接入 PubNubSDK 推送
- android 极光推送接入
- android接入华为推送
- Android友盟推送接入
- android接入华为推送注意点
- android应用接入第三方推送实践
- cocos 项目 接入友盟 android 推送sdk
- 华为推送-华为PUSH SDK Android版接入方法
- 极光推送接入-客户端
- 极光推送服务接入
- 如何接入极光推送
- 服务器端接入有盟推送,实现为android 和 ios推送的功能
- 小米杀不死的消息推送-- Android、java后端同时接入小米推送
- 解决 cocos android 接入友盟推送 sdk 在5.0以下的系统出现UnsatisfiedLinkError 错误
- AndroidStudio接入信鸽推送常见问题(附安卓接入视频教程)
- 一步步教你接入个推 推送
- 关于极光推送SDK的简单接入
- 极光推送—java快速接入
- 4566: [Haoi2016]找相同字符
- 事件相互独立的几种不同说法
- libcef多标签浏览器实现
- python 火车进站-即数的全排列问题
- archlinux gnome 安装fcitx输入法
- Android 接入 PubNubSDK 推送
- VB中windows API StretchBlt,BitBlt的应用
- 《OpenCV3编程入门》读书笔记(1) - 基础图像容器Mat
- 即兴知识点-3 myeclipse中,项目上有个叉报错,文件没有错误,或者没有jre包 解决那别发 注释乱码问题
- Java设计模式之一——单例模式
- POJ 1518 Problem Bee 笔记
- 1081. Rational Sum (20)解题报告
- 任务执行(一)
- video4linux 讲解