umpush
来自于:AC模块工作室
getTags addTags deleteTags addAlias setAlias removeAlias setAutoAlert setBadgeClear addLaunchMessage addCardMessageWithLabel addCustomCardMessageWithPortraitSize addPlainTextCardMessageWithTitleFont
概述
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
- weixin
- baidu
- renren
- kaixin
- douban
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
- weixin
- baidu
- renren
- kaixin
- douban
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
- weixin
- baidu
- renren
- kaixin
- douban
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及更高版本