android极光推送 消息穿透广告弹窗,极光推送弹出两次消息,请大佬们帮忙指点迷津...

本帖最后由 m143 于 2021-3-19 11:55 编辑

1、打开APP ,从后端发送推送,APP连续收到2条推送信息2、 打开APP ,APP在后台运行,从后端发送推送(收到一条消息),点击消息进入APP,此时又收到一条消息 ,共计2条

代码

apiready = function() {

initEventListenner();

};

// 极光推送绑定标签|别名 ,alias为空则自动解绑用户别名 1新增|2删除

function bindAliasAndTags(state,alias) {

window.ajpush.bindAliasAndTags(params, function(ret, err) {

console.log('====绑定用户别名和标签成功====')

});

}

// 极光推送 初始化

function initAjpush() {

window.ajpush = api.require('ajpush');

window.ajpush.init(function(ret) {

if (ret && ret.status) {

console.log('初始化极光成功')

bindAliasAndTags();

}

});

}

//设置监听

function setListener(){

window.ajpush.setListener(

function(ret) {

alert('通知被点击,收到数据:111\n' + JSON.stringify(ret));//监听通知被点击后收到的数据

var id = ret.id;

var title = ret.title;

var content = ret.content;

var extra = ret.extra;

console.log('在app内收到极光推送,并提示')

// console.log(JSON.stringify(ret))

if (api.systemType == 'ios') {

api.notification({

notify: {

title: title,

content: content,

extra: extra

}

});

}

if (isLogin()) {

api.sendEvent({

name: 'sync_message_count'

});

}

}

);

}

// 初始化监听事件

function initEventListenner() {

initAjpush();

// 安卓平台收到消息被点击

if (api.systemType == 'android') {

api.addEventListener({

name: 'appintent'

}, function(ret, err) {

var extra = ret.appParam.ajpush.extra;

if (extra.message_type) {

switch (extra.message_type) {

case 1:

{

break;

}

case 2:

{

toDetail({

tid: extra.tid

})

break;

}

}

}

})

}

// 极光推送消息被点击 IOS

if (api.systemType == 'ios') {

api.addEventListener({

name: 'noticeclicked'

}, function(ret, err) {

alert('通知被点击,收到数据333:\n' + JSON.stringify(ret));//监听通知被点击后收到的数据

var extra = ret.value;

switch (extra.message_type) {

case 1:

{

break;

}

case 2:

{

toDetail({

tid: extra.tid

})

break;

}

}

})

api.addEventListener({name:'pause'}, function(ret,err) {

onPause();//监听应用进入后台,通知jpush暂停事件

})

api.addEventListener({name:'resume'}, function(ret,err) {

onResume();//监听应用恢复到前台,通知jpush恢复事件

})

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一些主流厂商推送通道的参数配置示例: ### 小米推送 ```json { "provider": "xiaomi", "payload": { "registration_id": "yourDeviceRegId", "restricted_package_name": "yourPackageName", "pass_through": 0, // 穿透消息:0-通知栏消息,1-透传消息 "notify_type": -1, // 通知类型:-1-默认通知,1-静默通知,2-默认声音,3-自定义声音,4-振动,5-呼吸灯 "title": "Push Title", // 通知栏消息标题 "description": "Push Content", // 通知栏消息正文 "payload": "yourPayload", // 透传消息内容 "extra": { "key1": "value1", // 自定义参数 "key2": "value2" }, "notify_id": 0, // 通知ID "time_to_live": 86400, // 离线消息保留时长(秒) "timeToSend": 0, // 定时推送时间(秒),0表示立即推送 "notify_foreground": 1 // 是否在前台展示通知:0-不展示,1-展示 }, "config": { "appSecret": "yourAppSecret" // 应用秘钥 } } ``` 需要注意的是,小米推送需要在官网上注册并创建应用,获取到应用秘钥和设备注册ID。 ### 华为推送 ```json { "provider": "huawei", "payload": { "hps": { "msg": { "type": 3, // 消息类型:1-透传异步消息,3-通知栏消息 "body": { "title": "Push Title", // 通知栏消息标题 "content": "Push Content", // 通知栏消息正文 "badge": 1, // 角标 "sound": "default", // 声音 "click_action": { "type": 1, // 点击通知后的行为:1-打开APP首页,2-打开自定义页面,3-打开URL "intent": "#Intent;compo=com.rvr/.Activity;S.W=U;end" }, "extras": { "key1": "value1", // 自定义参数 "key2": "value2" } } } }, "token_list": [ "yourDeviceToken" ] }, "config": { "appId": "yourAppId", // 应用ID "appSecret": "yourAppSecret" // 应用秘钥 } } ``` 需要注意的是,华为推送需要在官网上注册并创建应用,获取到应用ID和应用秘钥。 ### 魅族推送 ```json { "provider": "meizu", "payload": { "registration_ids": [ "yourDeviceRegId" ], "title": "Push Title", // 通知栏消息标题 "content": "Push Content", // 通知栏消息正文 "ticker": "Push Ticker", // 通知栏消息滚动文字 "is_multiple": 0, // 是否多包名推送:0-否,1-是 "click_type": 0, // 点击通知栏后的行为:0-打开应用,1-打开URL,2-自定义行为 "click_activity": "yourActivity", // 点击通知栏后打开的Activity "click_url": "yourUrl", // 点击通知栏后打开的URL "custom_content": { "key1": "value1", // 自定义参数 "key2": "value2" }, "off_line": true, // 是否离线推送 "valid_time": 432000, // 离线消息保留时长(秒) "push_time": "2022-01-01 00:00:00" // 定时推送时间 }, "config": { "appId": "yourAppId", // 应用ID "appSecret": "yourAppSecret" // 应用秘钥 } } ``` 需要注意的是,魅族推送需要在官网上注册并创建应用,获取到应用ID和应用秘钥。 ### vivo推送 ```json { "provider": "vivo", "payload": { "reg_id": "yourDeviceRegId", "notify_type": 4, // 通知类型:1-默认,2-静音,3-振动,4-声音,5-呼吸灯 "title": "Push Title", // 通知栏消息标题 "content": "Push Content", // 通知栏消息正文 "skip_type": 2, // 点击通知栏后的行为:1-打开应用,2-打开URL,3-自定义行为 "skip_content": "yourUrl", // 点击通知栏后打开的URL "network_type": -1, // 网络类型:-1-任意网络,1-仅WIFI "client_custom_map": { "key1": "value1", // 自定义参数 "key2": "value2" }, "request_id": "yourReqId", // 求ID,必须唯一 "time_to_live": 86400, // 离线消息保留时长(秒) "time_for_off_line": 86400, // 离线消息转为在线消息的时长(秒) "target_type": 1, // 推送范围:1-指定RegId,2-所有设备 "push_mode": 0 // 推送模式:0-正式,1-测试(仅发送给测试设备) }, "config": { "appId": "yourAppId", // 应用ID "appKey": "yourAppKey", // 应用秘钥 "appSecret": "yourAppSecret" // 应用秘钥 } } ``` 需要注意的是,vivo推送需要在官网上注册并创建应用,获取到应用ID、应用秘钥和应用秘钥。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值