更新记录

1.0(2023-04-28)

mqtt连接 解决在 mqtt只支持wx等协议局限性 有什么不足可提出进行修改更新完善.


平台兼容性

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

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


mqtt连接

引入插件

const Joeymqtt = uni.requireNativePlugin("Joey-mqtt");//插件
const globalEvent = uni.requireNativePlugin('globalEvent');//5+事件

mqtt登录

Joeymqtt.mqttLogin({
    port: 1883, //端口 *整数形*
    user: "", //用户
    pass: "", //密码
    url: "", //链接地址
    withClientId: "", //唯一
    willQos: 0, //可不填  *整数形*
    protocolLevel: 4 //可不填  *整数形*
})

消息订阅

Joeymqtt.wy_subscribeToTopic("订阅名称", (e) => {
    uni.showToast({
    title: JSON.stringify(e),
    duration: 6000,
    icon: "none"
    })
})

取消订阅

Joeymqtt.wy_unsubscribeToTopic("取消订阅名称", (e) => {
    uni.showToast({
    title: JSON.stringify(e),
    duration: 6000,
    icon: "none"
    })
})

mqtt状态监听

// mqtt状态
// 2连接成功
// 1 连接正在关闭
// 0 连接已经关闭
// 3连接中
// 4连接异常
// 5开始连接
globalEvent.addEventListener('UniGetMqttState', function(e) {
    uni.showToast({
        title: 'UniGetMqttState' + JSON.stringify(e),
        icon: "none",
    })
});

mqtt接收消息

globalEvent.addEventListener('UniGetMqttMessage',
    (e) => {
        console.log('UniGetMqttMessage=========>>>>', JSON.parse(e.message))
});

隐私、权限声明

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

“无”

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

“插件不采集任何数据”

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

“无”

许可协议

作者未提供license.md

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