敬告:此 demo 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,九游会国际-九游会真人第一品牌。
♦ js-sdk 引用方式:
♦ 普通网页 script 方式加载:下载最新版 ,请在页面上调用 jsbridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge
• 设置本监听器可以收到个推通道下发的通知和;
• 如果多次设置监听器,只有最后一个才会收到通知。
jsbridge.getui.setlistener(function(msg) { alert(json.stringify(msg)); }); alert("已设置监听器"); /** msg 回调参数说明 { messageid: //个推下发消息的编号,字符串类型 payload: //消息内容,字符串类型,如果你发送的是json数据,可以用 json.parse(payload) 转换 } **/
jsbridge.getui.turnoffpush(); alert("已停止接收推送");
jsbridge.getui.turnonpush(); alert("已恢复接收推送");
♦ 仅支持 android,ios 始终返回 true。
jsbridge.getui.ispushturnedon(function(ison){ alert(ison); });
♦ 仅支持 android,静默期间内推送功能将不再联网。
♦ ios 始终返回 false
jsbridge.getui.setsilenttime( { beginhour: 20, //从晚上20点开始,取值范围0-23 duration : 8 //持续8个小时,取值范围0-23 }, function(succ){ alert(succ ? "设置成功" : "设置失败"); });
♦ 个推服务器分配给当前设备的唯一标识 cid
♦ 你可以将 cid 保存到自己的服务器上,可以根据 cid 来向此设备推送消息。
jsbridge.getui.getclientid(function(cid){ //复制到剪贴板 jsbridge.setclipboardtext(cid); jsbridge.toast("已复制"); alert(cid); });
//仅支持苹果ios和安卓华为、oppo、vivo //服务器端 //应用入口activity路径名称为:com.lt.app.mainactivity jsbridge.getui.setbadge({ //角标数字,0则清除角标 badge: 18 }, function(succ) { alert(succ ? "设置成功" : "设置失败"); });
jsbridge.getui.setbadge({ badge: 0 });
别名
♦ 注意这个接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。
♦ 同一个别名最多绑定10个 clientid,当已绑定10个 clientid 时,再次调用此接口会自动解绑最早绑定的记录。
♦ 此接口与 unbindalias 一天内最多调用100次,两次调用的间隔需大于5秒。
jsbridge.getui.bindalias('your_alias', function(succ){ alert(succ ? "绑定成功" : "绑定失败"); });
jsbridge.getui.unbindalias( { alias :"your_alias", isself: true //是否只对当前 cid 有效,如果是 true,只对当前cid做解绑;如果是 false,对所有绑定该别名的cid列表做解绑 }, function(succ){ alert(succ ? "解绑成功" : "解绑失败"); });
标签
jsbridge.getui.settag(['tag1', 'tag2', 'tag3'], function(succ){ alert(succ ? "设置成功" : "设置失败"); });
集成 服务端sdk
目前本平台仅提供群发推送操作功能,如需根据 clientid、alias、tag 进行定向推送,请参考 选择合适的语音平台集成服务端sdk。用户点击手机上的消息通知时如需在 app 中打开指定的网页,请发送 notificationtemplate (点击通知打开应用)模板消息 template :
android 添加 json 透传内容(transmissioncontent) template.settransmissioncontent("{\"url\": \"http://...要打开的网页地址\"}")
ios 实例化 apnpayload, 使用 payload.addcustommsg("url", "http://....") 方法添加 url 字段,template.setapninfo(payload payload) 方法将 payload 写入消息模板
如果你使用个推平台web端发送通知,请点击进入你创建的应用 - 创建推送 - 推送通知,展开 高级设置 - 开启 透传消息,并填写透传内容 {"url": "http://..."}
关闭 android app 后收不到通知
android 的推送通过长连接的方式实现,只有在保持连接的情况下才能收到通知。而有的第三方 rom 会限制一般应用服务的自启动,也就是在退出应用后,应用的所有服务均被杀死,且无法自启动,所以就会收不到通知。为什么 qq、微信之类的应用退出后还能够收到通知?因为这些大厂应用,手机厂商默认都会加入自启动白名单中,也不会在应用退出后杀死它们的相关服务。 如果你多加留意,就会发现非大厂的应用如果你一段时间不用都是收不到推送的。