更新记录
1.0.3(2021-09-27)
修复调用原生api异常导致的闪退问题
1.0.2(2021-09-26)
更新插件
平台兼容性
Android | iOS |
---|---|
× | 适用版本区间:9 - 14 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
功能:
引入极光推送SDK,接收推送消息
使用:
一、引入插件
1,在manifest.json中引入原生插件,配置参数
参数名 | 解释 |
---|---|
appkey | 极光平台appkey |
channel | 发布渠道 |
var xlJpushModule = uni.requireNativePlugin("XL-JpushTools")
二、方法
函数名 | 解释 |
---|---|
setAlias: | 设置别名 |
setTags: | 设置标签 |
deleteTags: | 删除标签 |
deleteAlias: | 删除别名 |
registrationID: | 获取 registrationID |
receiveNotification: | 接收到通知 |
openNotification: | 点击通知打开应用(可根据业务跳转页面) |
例子:
/**
* 设置别名
* alias:不能设置 nil 或者空字符串
* 每次调用设置有效的别名,覆盖之前的设置
* 有效的别名组成:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|
* 限制:alias 命名长度限制为 40 字节。(判断长度需采用 UTF-8 编码)
* seq:请求时传入的序列号
* callback 设置后返回参数, 0:表示成功
* */
xlJpushModule.setAlias({
'alias': '140440',
'seq': 0
}, res => {
console.log(res);
uni.showToast({
title: '结果:' + res
})
})
/**
* 设置标签
* 调用此 API 来设置标签,在 block 中返回结果
* Note:这个接口是覆盖逻辑,而不是增加逻辑,调用此接口会覆盖之前设置的全部标签
* tags:不能设置 nil 或者空集合
* 集合成员类型要求为 String 类型
* 每次调用至少设置一个 tag
* 有效的标签组成:字母(区分大小写)、数字、下划线、汉字、特殊字符@!#$&*+=.|
* 限制:每个 tag 命名长度限制为 40 字节,最多支持设置 1000 个 tag,但总长度不得超过 5 K 字节。(判断长度需采用 UTF-8 编码)
* 单个设备最多支持设置 1000 个 tag。App 全局 tag 数量无限制
* seq:请求时传入的序列号
* callback 设置后返回参数, 0:表示成功
* */
xlJpushModule.setTags({
'tags': ['140440'],
'seq': 0
}, res => {
console.log(res);
})
/**
* 删除指定tags
* 参数:同设置tags
* */
xlJpushModule.deleteTags({
'tags': ['140440'],
'seq': 0
}, res => {
console.log(res);
})
/**
* 删除别名
* 返回参数:同设置别名
* */
xlJpushModule.deleteAlias(res => {
console.log(res);
})
/**
* 集成了 JPush SDK 的应用程序在第一次成功注册到 JPush 服务器时,JPush 服务器会给客户端返回一个唯一的该设备的标识 - RegistrationID。JPush SDK 会以广播的形式发送 RegistrationID 到应用程序。
应用程序可以把此 RegistrationID 保存以自己的应用服务器上,然后就可以根据 RegistrationID 来向设备推送消息或者通知。
* 返回参数
* resCode 返回的结果状态码
* registrationID 返回 registrationID
* */
xlJpushModule.registrationID(res => {
console.log(res);
})
xlJpushModule.receiveNotification(res => {
uni.showModal({
content: JSON.stringify(res)
})
})
xlJpushModule.openNotification(res => {
uni.showModal({
content: JSON.stringify(res)
})
})