更新记录

1.0.0(2019-11-08)

第一版本,暂时只支持Android版本。


平台兼容性

Android Android CPU类型 iOS
armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

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


依赖原生 aar 包地址:

https://www.yuque.com/aliyun_iot/product/android-device-sdk

组件源代码:

https://github.com/chubin518/AIotCore/tree/master/AIoT_SDK

插件使用示例:

https://github.com/chubin518/AIotCore/tree/master/%E7%BB%84%E4%BB%B6%E5%BC%95%E7%94%A8UI

代码示例

const aiotMqttClient = uni.requireNativePlugin('AIoT-Core')
//阿里IOT三元组
    const conf = {
        ProductKey: "",
        DeviceName: "",
        DeviceSecret: ""
    }
    export default {
        data() {
            return {
                latitude: 39.873371, //纬度
                longitude: 116.501376, //经度
            }
        },
        onLoad() {

        },
        methods: {
            connect() {
                try {
                    aiotMqttClient.connect(conf, result => {
                        uni.showToast({
                            title: JSON.stringify(result)
                        })
                    })
                } catch (e) {
                    console.error(e)
                }
            },
            disconnect() {
                aiotMqttClient.disconnect(result => {
                    uni.showToast({
                        title: JSON.stringify(result)
                    })
                });
            },
            publish() {
                aiotMqttClient.publish({
                    topic: `/${conf.ProductKey}/${conf.DeviceName}/user/update`,
                    content: 'dadefrer'
                }, result => {
                    uni.showToast({
                        title: JSON.stringify(result)
                    })
                })
            },
            subscribe() {
                aiotMqttClient.subscribe({
                    topic: `/sys/${conf.ProductKey}/${conf.DeviceName}/thing/service/property/set`,
                }, result => {
                    uni.showToast({
                        title: JSON.stringify(result)
                    })
                }, result => {
                    uni.showToast({
                        title: JSON.stringify(result)
                    })
                })

                aiotMqttClient.subscribe({
                    topic: `/${conf.ProductKey}/${conf.DeviceName}/user/get`,
                }, result => {
                    uni.showToast({
                        title: JSON.stringify(result)
                    })
                }, result => {
                    uni.showToast({
                        title: JSON.stringify(result)
                    })
                })
            }
        }
    }

隐私、权限声明

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

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

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

许可协议

请参考开源项目地址的开源协议

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