更新记录
1.0(2023-04-28) 下载此版本
mqtt连接 解决在 mqtt只支持wx等协议局限性 有什么不足可提出进行修改更新完善.
平台兼容性
Android | iOS |
---|---|
× | 适用版本区间:9 - 16 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
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))
});