mobPush

概述

本插件封装MobPush推送功能

iOS需要创建info.plist文件,并添加键值对,键分别为 MOBAppKey 和 MOBAppSecret,然后将info.plist文件放入widget下res目录下,具体请参考, MOBAppKey和MOBAppSecret需要去mob官网申请

在android平台需要配置(iOS平台忽略此步骤)

     <meta-data
        name="Mob-AppKey"
        value="mob官方申请的appkey"/>
        <meta-data
        name="Mob-AppSecret"
        value="mob官方申请的appkey对应的appSecret"/>

在android平台选择配置(可选)(iOS平台忽略此步骤),需要再相应平台申请账号配置

 <meta-data
      name="com.huawei.hms.client.appid"
      value="华为的appid">
      
<meta-data
          name="com.mob.push.xiaomi.appid"
          value="\小米应用appId"/>
<meta-data
          name="com.mob.push.xiaomi.appkey"
          value="\小米应用appkey"/>
          
<meta-data
  name="com.mob.push.meizu.appid"
  value="\ 魅族的appid"/>
<meta-data
  name="com.mob.push.meizu.appkey"
  value="\ 魅族的appkey"/>
  
<meta-data
 name="com.mob.push.oppo.appkey"
 value="oppo的key" />
<meta-data
 name="com.mob.push.oppo.appsecret"
 value="oppo的secret" />
          

插件接口

setListener

设置推送监听。

setListener(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

{
    type:1,                  //消息类型;1:UDP通知,2:UDP自定义消息,3:APNs推送,4:本地通知,5:点击通知(android只支持1/通知、2/自定义消息、5/点击通知)
    messageID:'',            //字符类型;消息任务ID
    content:'',              //字符类型;消息内容
    isInstantMessage:true,   //布尔,是否为及时消息,如果是定时消息,taskDate属性会有时间数据(仅ios支持)
    taskDate:,               //数字类型;定时消息的发送时间(仅ios支持)
    extraInfomation:{},      //json类型;额外的数据
    currentServerTimestamp:, //数字类型;当前服务器时间戳
    notification:{           //json类型;当type为1、4时这个字段才会有数据(android 当type为1、5时支持)
      title:'',              //字符类型;标题
      subTitle:'',           //字符类型;副标题(仅ios支持)
      body:'',               //字符类型;推送消息体
      sound:'',              //字符类型;指定声音的文件名(默认值为"default")(仅ios支持)
      isVoice:,            //布尔类型;是否播放声音(仅android支持)
      isShake:,             //布尔类型;是否震动(仅android支持)
      isLight:,               //布尔类型;是否亮跑马灯(仅andriod支持)
      badge:0,               //数字类型;应用图标右上角显示未读数的角标(仅ios支持)
      category:'',           //字符类型;处理通知action事件所需的标识(仅ios支持)
      silentPush:true,       //布尔,是否为静默推送(仅ios支持)
      contentAvailable:true, //布尔,静默推送相关的一个参数,当值为true时为静默推送(有新内容要更新了)(仅ios支持)
      mutableContent:true,   //布尔,推送插件相关(可以修改推送内容)(仅ios支持)
      styleContent:'',   //字符串类型;大段文本或大图模式样式的内容(仅android支持)
      inBoxStyleContent:'',  / /字符串类型;收件箱样式的内容 (仅android支持)
      channel:'',              //字符串类型;通道名称,(仅android支持)
    },
    customMessage:{          //json类型;当type为2时这个字段才会有数据(仅ios支持)
      title:'',             //字符类型;标题
       type:'',              //字符类型;自定义消息类型,如 text 文本
    },
    identifier:'',           //字符类型;推送的唯一标识(两条推送该属性不能一样,否则通知栏显示,新的推送会覆盖旧推送,删除推送功能可以设置该属性,默认值是当前时间戳)(仅ios支持)
    msgInfo:{}               //json对象, 当 type为3时,返回apns消息数据以及场景还原数据。当 type为4时,返回场景还原数据。"mobpush_link_k" :点击Apns消息场景还原的控制器路径。 "mobpush_link_v" :点击Apns消息场景还原的参数。(仅ios支持)
}

示例代码

var mobPush = api.require('mobPush');
mobPush.setListener(function(ret,err) {
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeListener

移除消息监听

removeListener()

示例代码

var mobPush = api.require('mobPush');
mobPush.removeListener();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

bindPhone

绑定手机

bindPhone({params}, callback(ret, err))

params

phone:

  • 类型:字符串数组
  • 描述:手机号

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,                //布尔类型;是否成功
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
  msg:'',                        //字符串类型;错误信息
}

示例代码

var mobPush = api.require('mobPush');
var param = {phone:''};
mobPush.bindPhone(param,function(ret,err) {
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

bindAlias

绑定用户别名。服务端可以指定别名进行消息推送

bindAlias({params}, callback(ret, err))

params

alias:

  • 类型:字符串
  • 描述:别名

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,                //布尔类型;是否成功
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
  msg:'',                        //字符串类型;错误信息
}

示例代码

var mobPush = api.require('mobPush');
var param = {alias:'myalias'};
mobPush.bindAlias(param,function(ret,err) {
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

bindTags

绑定标签

bindTags({params}, callback(ret, err))

params

tags:

  • 类型:数字
  • 描述:标签列表

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,                //布尔类型;是否成功
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
  msg:'',                        //字符串类型;错误信息
}

示例代码

var mobPush = api.require('mobPush');
var param = {tags:[]};
mobPush.bindTags(param,function(ret,err) {
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteAlias

删除用户别名

deleteAlias(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,                //布尔类型;是否成功
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
  msg:'',                        //字符串类型;错误信息
}

示例代码

var mobPush = api.require('mobPush');
mobPush.deleteAlias(function(ret,err){
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteTags

删除标签

deleteTags({params}, callback(ret, err))

params

tags:

  • 类型:字符串数组
  • 默认值:无
  • 描述:标签列表,不填则删除所有标签

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,                //布尔类型;是否成功
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
  msg:'',                        //字符串类型;错误信息
}

示例代码

var mobPush = api.require('mobPush');
var param = {tags:['tag1','tag2']};
mobPush.deleteTags(param,function(ret,err) {
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getTags

获取所有标签

getTags(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,                //布尔类型;是否成功
    tags:[]                     //数组类型;标签
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
  msg:'',                        //字符串类型;错误信息
}

示例代码

var mobPush = api.require('mobPush');
mobPush.getTags(function(ret,err){
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getAlias

获取别名

getAlias(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,                //布尔类型;是否成功
    alias:''                    //字符类型;别名
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
  msg:'',                        //字符串类型;错误信息
}

示例代码

var mobPush = api.require('mobPush');
mobPush.getAlias(function(ret,err) {
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopAndrestartPush

打开或关闭远程推送(应用内推送和本地通知不送影响,只关闭远程推送)

stopAndrestartPush({params}, callback(ret, err))

params

isPush:

  • 类型:布尔
  • 描述:是否打开远程推送
  • 默认:true

示例代码

var mobPush = api.require('mobPush');
var param = {isPush:true};
mobPush.stopAndrestartPush(param);

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isPushStopped

当前远程推送是否关闭

isPushStopped(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,                //布尔类型;是否关闭
}

示例代码

var mobPush = api.require('mobPush');
mobPush.isPushStopped(function(ret,err) {
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setBadge

设置角标值到Mob服务器(仅ios支持)

setBadge({params}, callback(ret, err))

params

badge:

  • 类型:数字
  • 描述:角标值
  • 默认:0

示例代码

var mobPush = api.require('mobPush');
var param = {badge:6};
mobPush.setBadge(param);

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearBadge

清除角标,但不清空通知栏消息(仅ios支持)

clearBadge()

示例代码

var mobPush = api.require('mobPush');
mobPush.clearBadge();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getRegistrationID

获取注册id(可与用户id绑定,实现向指定用户推送消息)

getRegistrationID(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,                //布尔类型;是否成功
    registrationID:''           //字符类型;注册id
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
  msg:'',                        //字符串类型;错误信息
}

示例代码

var mobPush = api.require('mobPush');
mobPush.getRegistrationID(function(ret,err) {
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setShowBadge

设置是否显示角标(仅android支持)

setShowBadge({params}, callback(ret, err))

params

show:

  • 类型:布尔类型
  • 描述:是否显示角标
  • 默认:false

示例代码

var mobPush = api.require('mobPush');
var param = {show:true};
mobPush.setShowBadge(param);

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isShowBadge

当前是否显示角标(仅android支持)

isShowBadge({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,                //布尔类型;是否显示
}

示例代码

var mobPush = api.require('mobPush');
mobPush.isShowBadge(function(ret,err) {
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearLocalNotifications

清除本地通知(仅android支持)

clearLocalNotifications({params}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status:true,                //布尔类型;是否成功
}

示例代码

var mobPush = api.require('mobPush');
mobPush.clearLocalNotifications(function(ret,err) {
  api.alert({msg: JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/04/8