huaweiPush
来自于:官方立即使用
init getToken deleteToken getState setPassByMsg pushListener eventListener
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
概述
huaweiPush模块封装了华为消息推送的SDK,使用此模块可实现接收推送通知和透传消息功能。
开发者使用本模块之前需要先到华为开发者联盟查看接入说明,说明去注册账号,申请应用,添加推送服务
注意:
添加服务时,要注意填写的是SHA256证书指纹,而不是SHA1,需要android开发人员通过命令行或者其他方法获取,且要点击保存证书
模块使用攻略
- 配置示例:
<meta-data
name="com.huawei.hms.client.appid"
value="100006945" />
value是在添加推送服务后得到的App ID
- intent配置
华为推送对通知的点击有两种后续行为:1、直接打开应用 2、自定义动作;现对自定义动作做如下说明:
(1) 自定义动作需要在config.xml文件中配置intent-filter,示例代码如下:
<intent-filter>
<action name="android.intent.action.VIEW"/>
<category name="android.intent.category.DEFAULT"/>
<data host="com.apicloud.push"
path="/hwpush_detail"
scheme="apischeme"/>
</intent-filter>
(2) 完成第一步的操作后,在华为推送后台需要填写一个自定义动作的字符串,格式如下:
intent://{host}/{path}?message=what#Intent;scheme={scheme};launchFlags=0x30000000;end
其中:
- host 就是第一步配置的intent-filter中的host
- path 就是第一步配置的intent-filter中的path
- scheme 就是第一步配置的intent-filter中的scheme
- message=what 这部分就是自定义的内容了
示例代码
intent://com.apicloud.push/hwpush_detail?message={name:'tim', age:'20'}#Intent;scheme= apischeme;launchFlags=0x30000000;end
(3) 到此配置完成,当点击通知栏后开发者可以监听appintent事件来获取数据
模块接口
init
初始化推送服务
init(callback(ret,err))
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code: //数字类型;错误码
}
示例代码
var huaweiPush = api.require('huaweiPush');
huaweiPush.init(function(ret, err) {
if (ret.status) {
api.alert({ msg: "初始化成功" });
} else {
api.alert({ msg: "初始化失败" });
}
});
可用性
Android系统
可提供的1.0.2及更高版本
getToken
获取token
getToken(callback(ret,err))
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;是否成功;
token: //字符串类型;status为true时有值
belongId: //字符串类型;status为true时有值
}
示例代码
var huaweiPush = api.require('huaweiPush');
huaweiPush.getToken(function(ret, err) {
if (ret.status) {
api.alert({ msg: "获取token成功" });
} else {
api.alert({ msg: "获取token失败" });
}
});
可用性
Android系统
可提供的1.0.2及更高版本
deleteToken
删除token
deleteToken({parmas},callback(ret,err))
params
token:
- 类型:字符串
- 描述:要删除的token
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;是否成功;
}
示例代码
var huaweiPush = api.require('huaweiPush');
huaweiPush.deleteToken({
token : ''
},function(ret, err) {
if (ret.status) {
api.alert({ msg: "删除token成功" });
} else {
api.alert({ msg: "删除token失败" });
}
});
可用性
Android系统
可提供的1.0.2及更高版本
getState
获取当前推送状态
getState(callback(ret,err))
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;是否处于连接状态;
}
示例代码
var huaweiPush = api.require('huaweiPush');
huaweiPush.getState(function(ret, err) {
if (ret.status) {
api.alert({ msg: "当前状态为连接" });
} else {
api.alert({ msg: "当前状态为断开" });
}
});
可用性
Android系统
可提供的1.0.2及更高版本
setPassByMsg
设置是否接受推送消息
setPassByMsg({parmas},callback(ret,err))
params
flag:
- 类型:布尔类型
- 描述:是否接受消息
示例代码
var huaweiPush = api.require('huaweiPush');
huaweiPush.setPassByMsg({
flag : true
});
可用性
Android系统
可提供的1.0.2及更高版本
pushListener
监听推送信息
pushListener(callback(ret,err))
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
msg: //字符串类型;接收到的消息内容;
}
示例代码
var huaweiPush = api.require('huaweiPush');
huaweiPush.pushListener(function(ret, err) {
if (ret) {
api.alert({ msg: ret.msg });
}
});
可用性
Android系统
可提供的1.0.2及更高版本
eventListener
监听点击推送信息事件
eventListener(callback(ret,err))
callback(ret,err)
ret:
- 类型:JSON 对象
- 内部字段:
{
msg: //字符串类型;接收到的消息内容;
}
示例代码
var huaweiPush = api.require('huaweiPush');
huaweiPush.eventListener(function(ret, err) {
if (ret) {
api.alert({ msg: ret.msg });
}
});
可用性
Android系统
可提供的1.0.2及更高版本