H5 生成的App 用了apicloud的極光推送模塊。 用極光后臺能成功發(fā)送消息,但是app 接收不到這發(fā)送的消息。
首頁監(jiān)聽代碼
<script>
var jpush = null;
apiready = function() {
initPush();
}
function initPush(){
// 實例化極光推送對象
jpush = api.require('ajpush');
// 初始化推送服務(wù),只Android有效,ios上會自動初始化
jpush.init(function(ret, err) {
});
//設(shè)置推送時間
jpush.setPushTime({
days: 1,
startHour: 0,
endHour: 23
}, function(ret, err){});
// 監(jiān)聽?wèi)?yīng)用進入后臺,通知jpush暫停事件
api.addEventListener({
name : 'pause'
}, function(ret, err) {
//統(tǒng)計-app暫停
//jpush.onResume();
});
// 監(jiān)聽?wèi)?yīng)用恢復(fù)到前臺,通知jpush恢復(fù)事件
api.addEventListener({
name : 'resume'
}, function(ret, err) {
//統(tǒng)計-app恢復(fù)
jpush.onResume();
});
// 監(jiān)聽通知被點擊(Android)
api.addEventListener({
name : 'appintent'
}, function(ret, err) {
if (ret && ret.appParam.ajpush) {
// 通知被點擊后處理
executeNotice(ret, "appintent");
}
});
// 監(jiān)聽通知被點擊(iOS應(yīng)用處于后臺)
api.addEventListener({
name : 'noticeclicked'
}, function(ret, err) {
if (ret && ret.value) {
// 通知被點擊后處理
executeNotice(ret, "noticeclicked");
}
});
// 消息監(jiān)聽
jpush.setListener(function(re, er) {
//alert($api.jsonToStr(re));
if (re) {
var tit = re.title; // 標(biāo)題
var con = re.content; // 內(nèi)容
var ex = {}; // 附加字段
// 附加字段不為空
if(re.extra){
var ext = re.extra;
ex = {"extra" : ext};
}
// 轉(zhuǎn)為狀態(tài)欄通知
notification(tit, con, ex);
}
});
}
// 監(jiān)聽到的消息轉(zhuǎn)為狀態(tài)欄通知
function notification(t, c, e){
api.notification({
vibrate : [300, 500], //震動時間節(jié)奏
sound : 'default', //系統(tǒng)默認(rèn)提示音
light : false, //是否亮燈,需設(shè)備支持
notify : {//狀態(tài)欄通知
title : t || "系統(tǒng)消息", //標(biāo)題,默認(rèn)值為應(yīng)用名稱,只Android有效
content : c, //內(nèi)容,默認(rèn)值為'有新消息'
extra : e, //傳遞給通知的數(shù)據(jù),在通知被點擊后,該數(shù)據(jù)將通過監(jiān)聽函數(shù)回調(diào)給網(wǎng)頁
updateCurrent : false//是否覆蓋更新已有的通知,取值范圍true|false。只Android有效
}
}, function(ret, err) {
alert(1)
//if(ret){
//api.alert(ret.id);//id為通知ID,可用于取消通知
//}
});
}
// 通知被點擊后處理
function executeNotice (ret, type) {
var ajpush_obj; // 信息對象
var extra = {}; // 附加字段
if(type == "appintent"){
ajpush_obj = ret.appParam.ajpush;
if(!isEmptyObject(ajpush_obj)){
if(!isEmptyObject(ajpush_obj.extra)){
extra = ajpush_obj.extra;
}
}
}else if(type == "noticeclicked"){
ajpush_obj = ret.value;
if(!isEmptyObject(ajpush_obj)){
c = ajpush_obj.content;
// 轉(zhuǎn)為json字符串
ajpush_obj = JSON.stringify(ajpush_obj);
// 再轉(zhuǎn)為json對象
ajpush_obj = $.parseJSON(ajpush_obj);
// 判斷附加參數(shù)是否為空
if(!isEmptyObject(ajpush_obj.extra)){
//extra = $.parseJSON(ajpush_obj.extra);
extra = ajpush_obj.extra;
}
}
}
// 附加字段不為空
if(!isEmptyObject(extra)){
if (api.systemType === "android") {
// 賦值到附加字段(格式化為json)
extra = JSON.parse(extra);
}
// 判斷附加字段值
if (extra.aa) { // 極光推送后臺中添加的附加字段
// 你的邏輯代碼
}
}
}
</script>
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團,成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。