umpush

来自于:AC模块工作室

概述

umpush模块封装了友盟消息推送的SDK,使用此模块可实现接收推送通知和透传消息功能。

注意:使用了umpush或者其他非APICloud提供的push服务,如个推等,请登录官网,在推送设置界面将 APICloud 官方的推送关闭,避免因同时使用多个推送服务而带来设备资源的更多消耗,如耗电量增加等。

使用友盟消息推送基本流程说明:

1.在友盟开放平台网站注册帐号,并创建应用,获取APP_KEY

2.在config.xml中配置umpush feature,填写app_key及channel参数

3.前端调用umpush模块方法监听推送消息。

使用此模块之前需先配置config文件的Feature,方法如下

名称:umpush 注:此处要分平台,如果是ios写umpush,如果是android写umpush_android
参数:app_key, channel
描述:配置友盟推送应用信息

   <feature name="umpush">
        <param name="app_key" value="123456789" />
        <param name="channel" value="your channel" />
        <param name="pushSecret" value="your pushSecret"/>

    </feature>

字段描述:

    1. app_key:通过友盟推送网站获得
    2. channel: 渠道号
    3. pushSecret : Push推送业务的secret

注意: 在 iOS 平台上使用此模块之前需要先生成相关证书:

 打包证书:需要上传到 APICloud 平台
 描述文件:需要上传到 APICloud 平台
 推送证书:需要上传到友盟服务器

iOS 相关证书生成请参考 iOS证书及描述文件制作流程

getTags

获取当前绑定设备上的所有tag(每台设备最多绑定1024个tag)

获取列表的先决条件是已经成功获取到device_token,否则失败(kUMessageErrorDependsErr)

getTags({params})

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    tagsList  : []          //数组类型,客户端所有设置的别名
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : 404          //错误码
    msg:''              //错误信息
}

示例代码

var umpush = api.require('umpush');
umpush.getTags( function(ret) {
        alert(JSON.stringify(ret));
    });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addTags

绑定一个或多个tag至设备,每台设备最多绑定1024个tag,超过1024个,绑定tag不再成功,可removeTag来精简空间

addTags(params})

params

tags:

  • 类型:数组
  • 描述:tag标记,可以为单个tag(NSString)也可以为tag集合(NSArray、NSSet),单个tag最大允许长度128字节,编码UTF-8,超过长度绑定失败;(android只支持单个输入,即如果是多个,是绑定第一个) 注意:Tag不能为空或者空字串

callback(ret,err)

ret:

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

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code : 404          //错误码
    msg:''              //错误信息
}

示例代码

var umpush = api.require('umpush');
umpush.addTags({
tags:['体育','音乐']
},function(ret) {
        alert(JSON.stringify(ret));
    });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteTags

删除设备中绑定的一个或多个tag

deleteTags(callback(ret))

params

tags:

  • 类型:数组
  • 描述:tag标记,可以为单个tag(NSString)也可以为tag集合(NSArray、NSSet),单个tag最大允许长度128字节,编码UTF-8,超过长度绑定失败(android只支持单个输入,即如果是多个,是绑定第一个) 注意:Tag不能为空或者空字串

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{

    status: true     //布尔类型;删除成功
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0             //错误码
    msg:                //错误描述
}

示例代码

var umpush = api.require('umpush');
umpush.deleteTags({
tags:['体育']
},
    function(ret) {
        alert(JSON.stringify(ret));
    }
);

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addAlias

绑定一个别名至设备(含账户,和平台类型)

添加tag的先决条件是已经成功获取到device_token,否则直接添加失败(kUMessageErrorDependsErr)

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

params

name:

  • 类型:字符串
  • 描述:账户,例如email

type:

  • 类型:字符串
  • 描述:平台类型
  • 取值范围:
    • sina
    • tencent
    • qq
    • weixin
    • baidu
    • renren
    • kaixin
    • douban
    • facebook
    • twitter

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{

    status: true     //布尔类型;删除成功
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0             //错误码
    msg:                //错误描述
}

示例代码

var mipush = api.require('mipush');
mipush.addAlias({
       name:'******',
       type:'sina'
    },
    function(ret) {
        alert(JSON.stringify(ret));
    }
);

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setAlias

绑定一个别名至设备(含账户,和平台类型),并解绑这个别名曾今绑定过的设备。

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

params

name:

  • 类型:字符串
  • 描述:账户,例如email

type:

  • 类型:字符串
  • 描述:平台类型
  • 取值范围:
    • sina
    • tencent
    • qq
    • weixin
    • baidu
    • renren
    • kaixin
    • douban
    • facebook
    • twitter

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{

    status: true     //布尔类型;删除成功
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0             //错误码
    msg:                //错误描述
}

示例代码

var mipush = api.require('mipush');
mipush.setAlias({
       name:'******',
       type:'sina'
    },
    function(ret) {
        alert(JSON.stringify(ret));
    }
);

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

removeAlias

删除一个设备的别名绑定

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

params

name:

  • 类型:字符串
  • 描述:账户,例如email

type:

  • 类型:字符串
  • 描述:平台类型
  • 取值范围:
    • sina
    • tencent
    • qq
    • weixin
    • baidu
    • renren
    • kaixin
    • douban
    • facebook
    • twitter

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{

    status: true     //布尔类型;删除成功
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 0             //错误码
    msg:                //错误描述
}

示例代码

var mipush = api.require('mipush');
mipush.removeAlias({
   name: '******',
   type:'',
},
    function(ret) {
        alert(JSON.stringify(ret));
    });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setAutoAlert

设置是否允许SDK当应用在前台运行收到Push时弹出Alert框(默认开启)

建议不要关闭,否则会丢失程序在前台收到的Push的点击统计,如果定制了 Alert,可以使用sendClickReportForRemoteNotification补发 log

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

params

value:

  • 类型:布尔
  • 描述:是否开启弹出框

示例代码

var umpush = api.require('umpush');
umpush.setAutoAlert({
        value: true,
    }
);

可用性

iOS系统

可提供的1.0.0及更高版本

setBadgeClear

设置是否允许SDK自动清空角标(默认开启)

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

params

value:

  • 类型:布尔
  • 默认值:是否开启角标清空

示例代码

var umpush = api.require('umpush');
umpush.setBadgeClear({
        value:true,
    }
);

可用性

iOS系统

可提供的1.0.0及更高版本

addLaunchMessage

添加一个启动页的开屏消息

addLaunchMessage()

示例代码

var umpush = api.require('umpush');
umpush.addLaunchMessage(
);

可用性

iOS系统

可提供的1.0.0及更高版本

addCardMessageWithLabel

添加一个插屏消息

addCardMessageWithLabel({params})

params

label:

  • 类型:字符串
  • 默认值:当前位置的标识

示例代码

var umpush = api.require('umpush');
umpush.addCardMessageWithLabel({
        label:'',
    }
);

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addCustomCardMessageWithPortraitSize

添加一个自定义插屏消息(android不支持该接口,但是在友盟后台可以发送自定义插屏消息,由于界面是sdk里生成,用的是友盟提供的原生界面)

addCustomCardMessageWithPortraitSize({params})

params

portraitsize:

  • 类型:json
  • 描述:(可选项) portrait时显示的size
  • 内部字段:
{
    w: 320, //(可选项)数字类型;宽度;默认:所属的 Window 或 Frame 的宽度
    h: 100  //(可选项)数字类型;高度;默认:100
}

landscapesize:

  • 类型:json
  • 描述:(可选项) landscape时显示的size
  • 内部字段:
{
    w: 320, //(可选项)数字类型;宽度;默认:所属的 Window 或 Frame 的宽度
    h: 100  //(可选项)数字类型;高度;默认:100
}

button:

  • 类型:json
  • 描述:(可选项)可以自定义的button
  • 内部字段:
{
  title:'确定',              //按钮文字
  rect:{
    x:0,
    y:0,
    w:100,
    h:50
 },
  backgroundColor:'#fff',   //按钮背景颜色
  fontSize:14,              //按钮文字大小
  titleColor:'#000',        //按钮文字颜色

}

label:

  • 类型:字符串
  • 描述:(可选项)标识

示例代码

var umpush = api.require('umpush');
umpush.addCustomCardMessageWithPortraitSize({
label:''
    }
);

可用性

iOS系统

可提供的1.0.0及更高版本

addPlainTextCardMessageWithTitleFont

增加一个文本插屏消息

addPlainTextCardMessageWithTitleFont({params})

params

titleFont:

  • 类型:数字类型
  • 描述:(可选项)标题文字大小
  • 默认值:14

contentfont:

  • 类型:数字类型
  • 描述:(可选项)内容文字大小
  • 默认值:14

buttonfont:

  • 类型:数字类型
  • 描述:(可选项)按钮文字大小
  • 默认值:14

label:

  • 类型:字符串
  • 描述:(可选项)标识

示例代码

var umpush = api.require('umpush');
umpush.addPlainTextCardMessageWithTitleFont({
       label:'',
    }
);

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本