更新记录

1.0.3(2021-09-27)

修复调用原生api异常导致的闪退问题

1.0.2(2021-09-26)

更新插件


平台兼容性

Android iOS
× 适用版本区间:9 - 14

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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)
                    })
                })

隐私、权限声明

1. 本插件需要申请的系统权限列表:

推送通知

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用的 JPush SDK会采集数据,详情可参考https://www.jiguang.cn

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问