H5 生成的App 用了apicloud的极光推送模块。 用极光后台能成功发送消息,但是app 接收不到这发送的消息。
首页监听代码
var jpush = null;
apiready = function() {
initPush();
}
function initPush(){
// 实例化极光推送对象
jpush = ('ajpush');
// 初始化推送服务,只Android有效,ios上会自动初始化
(function(ret, err) {
});
//设置推送时间
({
days: 1,
startHour: 0,
endHour: 23
}, function(ret, err){});
// 监听应用进入后台,通知jpush暂停事件
({
name : 'pause'
}, function(ret, err) {
//统计-app暂停
//();
});
// 监听应用恢复到前台,通知jpush恢复事件
({
name : 'resume'
}, function(ret, err) {
//统计-app恢复
();
});
// 监听通知被点击(Android)
({
name : 'appintent'
}, function(ret, err) {
if (ret && ) {
// 通知被点击后处理
executeNotice(ret, "appintent");
}
});
// 监听通知被点击(iOS应用处于后台)
({
name : 'noticeclicked'
}, function(ret, err) {
if (ret && ) {
// 通知被点击后处理
executeNotice(ret, "noticeclicked");
}
});
// 消息监听
(function(re, er) {
//alert($(re));
if (re) {
var tit = ; // 标题
var con = ; // 内容
var ex = {}; // 附加字段
// 附加字段不为空
if(){
var ext = ;
ex = {"extra" : ext};
}
// 转为状态栏通知
notification(tit, con, ex);
}
});
}
// 监听到的消息转为状态栏通知
function notification(t, c, e){
({
vibrate : [300, 500], //震动时间节奏
sound : 'default', //系统默认提示音
light : false, //是否亮灯,需设备支持
notify : {//状态栏通知
title : t || "系统消息", //标题,默认值为应用名称,只Android有效
content : c, //内容,默认值为'有新消息'
extra : e, //传递给通知的数据,在通知被点击后,该数据将通过监听函数回调给网页
updateCurrent : false//是否覆盖更新已有的通知,取值范围true|false。只Android有效
}
}, function(ret, err) {
alert(1)
//if(ret){
//();//id为通知ID,可用于取消通知
//}
});
}
// 通知被点击后处理
function executeNotice (ret, type) {
var ajpush_obj; // 信息对象
var extra = {}; // 附加字段
if(type == "appintent"){
ajpush_obj = ;
if(!isEmptyObject(ajpush_obj)){
if(!isEmptyObject(ajpush_obj.extra)){
extra = ajpush_obj.extra;
}
}
}else if(type == "noticeclicked"){
ajpush_obj = ;
if(!isEmptyObject(ajpush_obj)){
c = ajpush_obj.content;
// 转为json字符串
ajpush_obj = (ajpush_obj);
// 再转为json对象
ajpush_obj = $.parseJSON(ajpush_obj);
// 判断附加参数是否为空
if(!isEmptyObject(ajpush_obj.extra)){
//extra = $.parseJSON(ajpush_obj.extra);
extra = ajpush_obj.extra;
}
}
}
// 附加字段不为空
if(!isEmptyObject(extra)){
if ( === "android") {
// 赋值到附加字段(格式化为json)
extra = (extra);
}
// 判断附加字段值
if () { // 极光推送后台中添加的附加字段
// 你的逻辑代码
}
}
}