aliPushNoUtdId

来自于:开发者立即使用

阿里云移动推送

开发者在使用aliPushNoUtdId模块时,需要开发者自行到阿里云注册账号,并开通移动推送功能。本模块与其它阿里相关或者集成了小米推送相关模块会存在冲突的可能,请大家使用时注意。

小米和华为的特殊推送需要去小米官网和华为官方申请,阿里云注册具体流程请参考如下介绍。

申请步骤

1、登录阿里云帐号

访问阿里云云控制台页面,若您未登录账号,将会进入账号登录页面, 登录地址:https://account.aliyun.com/login/login.htm 如下图:

描述

描述

2、登陆阿里云控制台,具体如下图: 描述

3、创建应用 点击"创建应用",系统将为您弹出需要填写应用的相关信息,具体如下图: 描述

4、获取应用证书和SDK

创建应用后,在应用证书处查看AppKey和AppSecret,同时下载自己的专有sdk。具体如下图: 描述

5、配置小米和华为通道参数

支持小米,华为多通道推送,小米和华为的特殊推送需要去小米官网和华为官方申请,申请后将参数填写本页面方可。具体如下图: 描述

6、常见错误码。

错误码 错误描述
1011 appKey配置错误
1012 appSecret配置错误
1013 session初始化失败
1014 连接AS错误,检查网络连接
1015 sid获取失败
2001 标签输入为空
2002 appId错误
2003 标签请求错误
3001 acount参数输入错误
3002 推送通道关闭
3003 绑定账号请求超时
3004 绑定账号状态码错误
4001 别名输入为空
5001 VIP请求状态码错误
5002 VIP请求连接错误
5003 VIP请求服务错误
5004 VIP参数生成错误
6001 其他输入错误

模块使用攻略

1、获取成功小米config.xml配置信息如下:

<feature name="aliPushNoUtdId">
<param name="AppKey" value="23398490"/>  
<param name="AppSecret" value="e4af5692df06ebbc621b55657ca4a4bc"/>
<param name="XmAppID" value="你的小米appid"/>
<param name="XmAppKey" value="你的小米appkey"/>
<param name="autoRegister" value="true"/> 
</feature>

<meta-data name="com.alibaba.app.appkey" value="23398490"/>  
<meta-data name="com.alibaba.app.appsecret" value="e4af5692df06ebbc621b55657ca4a4bc"/>

2、开启小米、华为辅助通道,后台需要设置pushRequest.setAndroidPopupActivity(""),这个Activity的名称是:com.xiaomi.huawei.push.XiaoMiPushActivity

3、如果自己的app只需要阿里推送,不用阿里其他模块,请使用aliPush模块。本模块是为了解决自己app有阿里其他模块使用utdid冲突而新增的模块。

4、本模块需要配合其他含阿里utdid包的模块才能正常使用,如果其他模块的utdid版本低于本模块开发环境的版本,则可能会出现异常(Android:utdid4all-1.1.5.2.jar;iOS:utdid4all-1.1.0)utdid版本对应自定义模块下载

isRegister

获取是否注册阿里移动推送成功

isRegister(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    errorCode: "",
    errorMessage: ""
}

示例代码

var demo = api.require('aliPushNoUtdId');
demo.isRegister(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

onAppStart

app启动时,进行启动信息统计

onAppStart(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

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

示例代码

var demo = api.require('aliPushNoUtdId');
demo.onAppStart(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

addTag

客户端自定义标签

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

params

target:

  • 类型:数字型
  • 描述:(可选项)目标类型,1:本设备; 2:本设备绑定账号; 3:别名。
  • 默认值:3

tag:

  • 类型:字符串
  • 描述:(可选项)标签名,支持多个标签,用空格隔开。

alias:

  • 类型:字符串
  • 描述:(可选项)别名(仅当target = 3时生效)。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    response :     //
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    errorCode: "",
    errorMessage:""
}

示例代码

var obj = api.require('aliPushNoUtdId');
obj.addTag({
    target : 1,
    tag : "apicloud1 apicloud2",
    alias : ''
},
function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

removeTag

移除客户端自定义标签

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

params

target:

  • 类型:数字型
  • 描述:(可选项)移除目标类型,1:本设备; 2:本设备绑定账号; 3:别名。
  • 默认值:3

tag:

  • 类型:字符串
  • 描述:(可选项)移除标签名,支持多个标签,用空格隔开。

alias:

  • 类型:字符串
  • 描述:(可选项)移除别名(仅当target = 3时生效)。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    response :     //
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    errorCode: "",
    errorMessage:""
}

示例代码

var obj = api.require('aliPushNoUtdId');
obj.removeTag({
    target : 1,
    tag : "apicloud1 apicloud2",
    alias : ''
},
function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

listTags

查询目标绑定标签,当前仅支持查询设备标签;

listTags(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    response :     //
}

err:

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

示例代码

var demo = api.require('aliPushNoUtdId');
demo.listTags(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

addAlias

添加别名

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

params

alias:

  • 类型:字符串
  • 描述:(必填项)别名。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    response :     //
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    errorCode: "",
    errorMessage:""
}

示例代码

var obj = api.require('aliPushNoUtdId');
obj.addAlias({
    alias : 'test01'
},
function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

removeAlias

删除设备别名;

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

params

alias:

  • 类型:字符串
  • 描述:(可选项)移除别名(为空则删除全部别名)。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    response :     //
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    errorCode: "",
    errorMessage:""
}

示例代码

var obj = api.require('aliPushNoUtdId');
obj.removeAlias({
    alias : ''
},
function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

listAliases

查询设备别名

listAliases(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    response :     //
}

err:

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

示例代码

var demo = api.require('aliPushNoUtdId');
demo.listAliases(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

bindAccount

将本设备和指定账号做绑定

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

params

account:

  • 类型:字符串
  • 描述:(可选项)账号名称。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    response :     //
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    errorCode: "",
    errorMessage:""
}

示例代码

var obj = api.require('aliPushNoUtdId');
obj.bindAccount({
    account: "apicloud"
},
function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

unbindAccount

解绑和指定账号的本设备的绑定

unbindAccount(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    response :     //
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    errorCode: "",
    errorMessage:""
}

示例代码

var obj = api.require('aliPushNoUtdId');
obj.unbindAccount(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

setDoNotDisturb

设置免打扰时间段

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

params

startHour:

  • 类型:数字型
  • 描述:(可选项)免打扰的起始时间(小时),24小时制,取值范围:0-23。

startMinute:

  • 类型:数字型
  • 描述:(可选项)免打扰起始时间(分钟),取值范围:0-59。

endHour:

  • 类型:数字型
  • 描述:(可选项)免打扰的结束时间(小时),24小时制,取值范围:0-23。

endMinute:

  • 类型:数字型
  • 描述:(可选项)免打扰结束时间(分钟),取值范围:0-59。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    response :     //
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    errorCode: "",
    errorMessage:""
}

示例代码

#设置晚上11点至白天8点免打扰

var obj = api.require('aliPushNoUtdId');
obj.setDoNotDisturb({
    startHour: 23,
    startMinute: 0,
    endHour: 8,
    endMinute: 0
},
function(ret, err) {
    alert(JSON.stringify(ret));
});

#取消免打扰

var obj = api.require('aliPushNoUtdId');
obj.setDoNotDisturb({
    startHour: 0,
    startMinute: 0,
    endHour: 0,
    endMinute: 0
},
function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

addEventListener

拦截通知,接收消息,获取推送中的扩展字段

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

params

1

name:'onMessage'

  • 类型:字符串
  • 描述:(可选项)用于接收服务端推送的消息(控制台选择推送消息,则不会触发弹窗,而会回调该方法。反之,推送通知不会触发该方法。)。

2

name:'onNotification'

  • 类型:字符串
  • 描述:(可选项)用于在接收通知后,用户需要自定义操作的场景,或者用于获取扩展字段。 ios和安卓返回消息体请分别处理。

3

name:'onNotificationOpened'

  • 类型:字符串
  • 描述:(可选项)在用户打开(某个)notification的时候,会回调该方法。ios和安卓返回消息体请分别处理。

4

name:'onNotificationRemoved'

  • 类型:字符串
  • 描述:(可选项)在用户删除(某个)notification的时候,会回调该方法。 messageId 消息id,删除的消息的Id。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    title: //标题 (仅onMessage,onNotification,onNotificationOpened监听有值)
    summary://内容  (仅onMessage,onNotification,onNotificationOpened监听有值)
    extraMap://扩展字段,以json字段形式表示  (仅onNotification,onNotificationOpened监听有值)
    messageId://删除的消息的Id (仅onMessage,onNotificationRemoved监听有值)
}

示例代码

var obj = api.require('aliPushNoUtdId');
obj.addEventListener({
    name: 'onMessage'
},
function(ret, err) {
    alert("onMessage>>>addEventListener>>>>" + JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本

getDeviceId

获取设备DeviceId

getDeviceId(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true
    DeviceId : ''   //设备ID
}

示例代码

var demo = api.require('aliPushNoUtdId');
demo.getDeviceId(function(ret) {
    alert(JSON.stringify(ret));
});

可用性

iOS、Android系统

可提供的1.0.0及更高版本