apicloud apicloud

注册
查看: 31561|回复: 81

【Jpush】四步完成极光推送开发,看完不会你来打我!

 

主题:
30
帖子:
122
云币:
242

【Jpush】四步完成极光推送开发,看完不会你来打我!

 
31561 81 | 发表于 2015-6-16 16:12:26 |阅读模式 | |
本帖最后由 逆天的蝈蝈 于 2017-9-4 11:15 编辑

【Jpush】四步完成极光推送开发,看完不会你来打我!
都让人帮助了那么多次,我也来一次助人为乐!

拿起你的信心,跟我一起敲代码!
第一:注册极光推送(www.jpush.cn),添加应用


登入账号,添加应用,如图:



注意:IOS证书,需要上传,这个我就不多说了,不懂跟帖!
安卓系统需要填写包名!
在APICLOUD 的后台有,如图!


点击创建应用,完成极光网站的全部配置。

第二:服务器配置-API使用
接下来,做下服务器端的配置,自己的服务器,非官方数据!
下面以THINKPHP为例子。
直接先放出源代码 :



主要修改片段说下:
       private $app_key = 'xx';        //待发送的应用程序(appKey),只能填一个。
        private $master_secret = 'xxx';    //主密码


说明:源码主要采用了极光的API接口!



以上这两个要在极光应用里面下载,如图:



以Thinkphp 3.12为例子:调用下
import('Common.Jpush_send',APP_PATH);
$fetion = new Jpush_send();
         // $receive = 'all';//全部
         // $receive = array('tag'=>array('中国'));//标签
            $receive = array('alias'=>array('2'),'alias'=>array('1'));//别名
            $content = '信息中心提醒:您有一条待审核的业务';
            $m_type = 'tb';
            $m_txt = '891';
            $m_time = '600';        //离线保留时间
            $res=$fetion->send_pub($receive, $content ,$m_type, $m_txt ,$m_time);

这样就会提交发送了。


第三步:我们配置下APP端的设置!

正常以下数据,放在首页中apiready  下面!

jpush = api.require('ajpush');
api.addEventListener({
name : 'appintent'
}, function(ret, err) {
if (ret && ret.appParam.ajpush) {


注意:以下是点击了消息,然后出来的信息,并打开加载相应的新闻数据

var ajpush = ret.appParam.ajpush;
var jsonStr = JSON.parse(ajpush.extra);
var type = jsonStr.type;
var id = jsonStr.txt;
api.openWin({
name : 'name',
url : '../html/Yw/'+type+'_cson.html',
opaque : true,
vScrollBarEnabled : false,
pageParam : {
yw_id : ids
}
});
}
})

//两个监听事件
api.addEventListener({
name : 'pause'
}, function(ret, err) {
onPause();
//监听应用进入后台,通知jpush暂停事件
})
api.addEventListener({
name : 'resume'
}, function(ret, err) {
onResume();
//监听应用恢复到前台,通知jpush恢复事件
})
var ajpush = api.require('ajpush');
ajpush.init(function(ret) {
if (ret && ret.status) {   //注意安卓系统必须要这样   } });


注意点:
刚才我们在
$receive = array('alias'=>array('2'),'alias'=>array('1'));//别名 服务端指定发送给用户 1,2
这个别名也是需要我们注意的
我们必须在APP启动,给机子设置别名
var user=$api.getStorage('user');
var param = {
alias : user
};
ajpush.bindAliasAndTags(param, function(ret) {
alert('别名设置成功');
});
以上设置完APP端!

第四步:测试与编译
看到这部,你已经完成大部分工作了!
只要在模块中加添极光模块。编译正式版,就可以使用了!
看看效果图吧




交流群:277844869





本帖子中包含更多资源    您需要 登录 才可以下载或查看,没有帐号?立即注册

2

查看全部评分

主题:
0
帖子:
198
云币:
198

中秋节社会摇圣诞节老司机

发表于 2015-6-16 16:36:31 |
太感动了,mark

主题:
30
帖子:
122
云币:
242
 楼主| 发表于 2015-6-17 08:15:46 |

业余车手

UID:22414

主题:
8
帖子:
815
云币:
12667

版主勋章APICloud粉丝

发表于 2015-6-17 16:22:25 |
分享很精彩!如果代码部分使用论坛的代码格式化功能处理下,就更易读了!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

驾校小白

UID:130783

主题:
0
帖子:
1
云币:
1
发表于 2015-7-30 11:46:10 |
求教这个怎么弄,直接把你贴的代码拷贝下来就可以用了吗?

主题:
18
帖子:
88
云币:
440
发表于 2015-9-2 11:22:51 |
配置成功,APP启动状态下和后台运行的时候可以收到推送,手动杀掉APP进程,就无法收到推送,请问是什么原因?

实习司机

UID:132393

主题:
47
帖子:
128
云币:
438
发表于 2015-9-2 21:27:10 |
还是不会  我是用的是官方的服务器数据库  一定要第二部?

实习司机

UID:132393

主题:
47
帖子:
128
云币:
438
发表于 2015-9-2 21:27:16 |
还是不会  我是用的是官方的服务器数据库  一定要第二部?

主题:
36
帖子:
122
云币:
254
发表于 2015-9-15 10:55:21 |
写的有点太概括了。还是不懂

新手上路

UID:14403

主题:
9
帖子:
33
云币:
94
发表于 2015-9-15 11:21:04 |
想知道你在哪里,怎样才能打到你





哈哈,开个玩笑,谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表