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,方法如下

  1. 名称:umpush 注:此处要分平台,如果是iosumpush,如果是androidumpush_android
  2. 参数:app_key, channel
  3. 描述:配置友盟推送应用信息
  1. <feature name="umpush">
  2. <param name="app_key" value="123456789" />
  3. <param name="channel" value="your channel" />
  4. <param name="pushSecret" value="your pushSecret"/>
  5. </feature>

字段描述:

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

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

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

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

getTags

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

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

getTags({params})

callback(ret,err)

ret:

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

err:

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

示例代码

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

可用性

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 对象
  • 内部字段:
  1. {
  2. status : true //布尔类型,绑定成功
  3. }

err:

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

示例代码

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

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;删除成功
  3. }

err:

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

示例代码

  1. var umpush = api.require('umpush');
  2. umpush.deleteTags({
  3. tags:['体育']
  4. },
  5. function(ret) {
  6. alert(JSON.stringify(ret));
  7. }
  8. );

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;删除成功
  3. }

err:

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

示例代码

  1. var mipush = api.require('mipush');
  2. mipush.addAlias({
  3. name:'******',
  4. type:'sina'
  5. },
  6. function(ret) {
  7. alert(JSON.stringify(ret));
  8. }
  9. );

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;删除成功
  3. }

err:

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

示例代码

  1. var mipush = api.require('mipush');
  2. mipush.setAlias({
  3. name:'******',
  4. type:'sina'
  5. },
  6. function(ret) {
  7. alert(JSON.stringify(ret));
  8. }
  9. );

可用性

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 对象
  • 内部字段:
  1. {
  2. status: true //布尔类型;删除成功
  3. }

err:

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

示例代码

  1. var mipush = api.require('mipush');
  2. mipush.removeAlias({
  3. name: '******',
  4. type:'',
  5. },
  6. function(ret) {
  7. alert(JSON.stringify(ret));
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setAutoAlert

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

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

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

params

value:

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

示例代码

  1. var umpush = api.require('umpush');
  2. umpush.setAutoAlert({
  3. value: true,
  4. }
  5. );

可用性

iOS系统

可提供的1.0.0及更高版本

setBadgeClear

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

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

params

value:

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

示例代码

  1. var umpush = api.require('umpush');
  2. umpush.setBadgeClear({
  3. value:true,
  4. }
  5. );

可用性

iOS系统

可提供的1.0.0及更高版本

addLaunchMessage

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

addLaunchMessage()

示例代码

  1. var umpush = api.require('umpush');
  2. umpush.addLaunchMessage(
  3. );

可用性

iOS系统

可提供的1.0.0及更高版本

addCardMessageWithLabel

添加一个插屏消息

addCardMessageWithLabel({params})

params

label:

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

示例代码

  1. var umpush = api.require('umpush');
  2. umpush.addCardMessageWithLabel({
  3. label:'',
  4. }
  5. );

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addCustomCardMessageWithPortraitSize

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

addCustomCardMessageWithPortraitSize({params})

params

portraitsize:

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

landscapesize:

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

button:

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

label:

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

示例代码

  1. var umpush = api.require('umpush');
  2. umpush.addCustomCardMessageWithPortraitSize({
  3. label:''
  4. }
  5. );

可用性

iOS系统

可提供的1.0.0及更高版本

addPlainTextCardMessageWithTitleFont

增加一个文本插屏消息

addPlainTextCardMessageWithTitleFont({params})

params

titleFont:

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

contentfont:

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

buttonfont:

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

label:

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

示例代码

  1. var umpush = api.require('umpush');
  2. umpush.addPlainTextCardMessageWithTitleFont({
  3. label:'',
  4. }
  5. );

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本