WebApp快捷打包
云消息(推送)

敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多

JS-SDK 引用方式:

♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20240326.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;

♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package

云消息(推送)

getPushId 获取云消息接收设备唯一标识

♦ 云消息服务分配给当前设备的唯一标识 push_id ;

♦ 你可以将 push_id 保存到自己的服务器上,可以根据 push_id 来向此设备推送消息;

jsBridge.push.getPushId(function(succ, data) {
  if (succ) {
    jsBridge.setClipboardText(data.push_id);
    alert(data.push_id + "\n已复制");
  } else {
    alert("获取失败\n" + JSON.stringify(data));
  }
});

/*
data 参数说明:
{
  push_id: ""  //字符串类型,唯一标识
}
*/

getDeviceToken 获取 iOS 设备的 DeviceToken

//仅支持 iOS
jsBridge.push.getDeviceToken(function(succ, data){
  jsBridge.setClipboardText(data.device_token);
  alert(data.device_token + "\n已复制");
});

isOnline 检测推送服务在线状态

jsBridge.push.isOnline(function(succ, data){
  if (succ) {
    alert(data.online ? "在线" : "离线");
  } else {
    alert("检测失败\n" + JSON.stringify(data));
  }
});

/*
data 参数说明:
{
  online: true | false //布尔类型,true 在线,false 离线
}
*/

bindAlias 绑定别名

♦ 一个设备只能绑定一个别名,新别名会覆盖旧别名;

♦ alias 参数留空即可解绑别名;

jsBridge.push.bindAlias({
  //别名
  alias: "your_alias"
}, function(succ, data){
  alert(succ ? "绑定成功" : "绑定失败\n" + JSON.stringify(data));
});

bindAlias 解绑别名

jsBridge.push.bindAlias({
  //别名留空即解绑别名
  alias: ""
}, function(succ, data){
  alert(succ ? "解绑成功" : "解绑失败\n" + JSON.stringify(data));
});

bindTag 绑定标签

♦ 一个设备可以绑定多个标签,本函数是增量绑定;

♦ tag 留空即可解绑所有标签;

jsBridge.push.bindTag({
  //标签数组
  tags: ["myTag1", "myTag2"]
}, function(succ, data){
  alert(succ ? "绑定成功" : "绑定失败\n" + JSON.stringify(data));
});

bindTag 解绑所有标签

jsBridge.push.bindTag({
  //标签留空即解绑所有标签
  tags: []
}, function(succ, data){
  alert(succ ? "解绑成功" : "解绑失败\n" + JSON.stringify(data));
});

消息监听

setListener 设置监听器

//监听通知和透传消息
jsBridge.push.setListener(function(event, data) {
  show({
    event: event,
    data : data
  });
});

//请拉到页面底部查看回调数据信息
$('html,body').animate({ scrollTop: $('#view').offset().top }, 500);

/*
event 参数,字符串类型:
NOTIFICATION    通知消息
TRANSMISSION    透传消息
*/

removeListener 移除监听器

//移除监听器,不会再收到回调通知
//在需要时可重新调用 setListener
jsBridge.push.removeListener();

服务器端推送

自定义提示音及点击通知打开链接

使用百度 REST API 或者 服务器端 SDK 都是构造 JSON 数据发送到百度API接口,这里重点说明自定义提示音及点击通知打开链接的使用方法:

//安卓
var android = {
    //0 Android 通知
    "message_type": 0,
    "notification": {
        "title": "标题",
        "content": "内容",
        "action": {
            //6 点击通知打开应用
            "action_type": 6,
            "params": {
                //点击通知在APP内打开此链接
                "url": "https://www.example.com"
            }
        },
        "notify": {
            //1 有声音,0 则无
            "sound": 1,
            //1 有呼吸灯, 0 则无
            "lights": 0,
            //1 有震动,0 则无
            "vibrate": 0,
            //上传的自定义提示音,channel_id 和 sound_raw 相同,如:
            //"channel_id": "notify_xxx",
            //"sound_raw": "notify_xxx"
            "channel_id": "",
            "sound_raw": ""
        }
    }
};
//苹果
var ios = {
    //4 iOS通知
    "message_type": 4,
    "aps": {
        "alert": {
            "title": "标题",
            "body": "内容"
        },
        //提示音
        //default 为 iOS 系统默认提示音
        //notify-xxx.mp3 为上传的自定义提示音
        //留空则没提示音
        "sound": "default",
        "_env": 2,
        "_badge_conf": "+1",
        "extras": {
            //点击通知在APP内打开此链接
            "url": "https://www.example.com"
        }
    }
};

监听回调数据:


别名 Alias:
标签 Tag: