敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20240828.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
• 设置本监听器可以收到极光下发的通知和自定义消息;
• 如果多次设置监听器,只有最后一个才会收到通知。
jsBridge.jiguang.setListener(function(msg) { alert(JSON.stringify(msg)); }); alert("已设置监听器"); /** msg 回调参数说明 { messageId: //极光下发消息的编号,字符串类型 payload: //消息内容,字符串类型,如果你发送的是JSON数据,可以用 JSON.parse(payload) 转换 extra: //附加内容,字符串类型,如果你发送的是JSON数据,可以用 JSON.parse(extra) 转换 } **/
♦ 停止后其他所有的 API 调用都无效。
♦ iOS 不推荐调用这个接口,因为这会使 DeviceToken 失效,建议提醒用户在 设置-通知 中关闭推送服务。
jsBridge.jiguang.stopPush(); alert("已停止接收推送");
jsBridge.jiguang.resumePush(); alert("已恢复接收推送");
jsBridge.jiguang.isPushStopped(function(stopped){ alert(stopped); });
♦ APP 第一次启动极光推送,极光服务器会分配一个此设备的唯一标识 - RegistrationID;
♦ 你可以将 RegistrationID 保存到自己的服务器上,可以根据 RegistrationID 来向此设备推送消息;
jsBridge.jiguang.getRegistrationID(function(rid){ //复制到剪贴板 jsBridge.setClipboardText(rid); jsBridge.toast("已复制"); alert(rid); });
别名
♦ 注意这个接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。
jsBridge.jiguang.setAlias('your_alias', function(alias){ alert(alias); });
jsBridge.jiguang.deleteAlias(function(alias){ alert(alias); });
jsBridge.jiguang.getAlias(function(alias){ alert(alias); });
标签
♦ 注意这个接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。
jsBridge.jiguang.setTags(['tag1', 'tag2', 'tag3'], function(tags){ alert(JSON.stringify(tags)); });
jsBridge.jiguang.addTags(['tag4', 'tag5'], function(tags){ alert(JSON.stringify(tags)); });
jsBridge.jiguang.deleteTags(['tag3', 'tag4'], function(tags){ alert(JSON.stringify(tags)); });
jsBridge.jiguang.cleanTags(function(tags){ alert(JSON.stringify(tags)); });
♦ 回调方法参数返回标签数组
jsBridge.jiguang.getAllTags(function(tags){ alert(JSON.stringify(tags)); });
集成 服务端SDK
目前本平台仅提供群发推送操作功能,如需根据 RegistrationID、alias、tag 进行定向推送,请参考 极光官方手册 集成 服务端SDK。用户点击手机上的消息通知时如需在 APP 中打开指定的网页,请在发送消息时添加附加字段 url,一般为 .addExtra("url", "要打开的链接 http://....")
如果你使用极光平台Web端发送通知,请点击进入你创建的应用 - 推送 - 发送通知,展开 可选设置 - 附加字段![]()
关闭 Android App 后收不到通知
Android 的推送通过长连接的方式实现,只有在保持连接的情况下才能收到通知。而有的第三方 ROM 会限制一般应用服务的自启动,也就是在退出应用后,应用的所有服务均被杀死,且无法自启动,所以就会收不到通知。为什么 QQ、微信之类的应用退出后还能够收到通知?因为这些大厂应用,手机厂商默认都会加入自启动白名单中,也不会在应用退出后杀死它们的相关服务。 如果你多加留意,就会发现非大厂的应用如果你一段时间不用都是收不到推送的。