更新记录
v1.0.2020.09.02(2022-07-20)
2022/7/19 第一次发布
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
插件使用说明:
一、使用简介
android蓝牙广播数据,可以广播serviceUuid、serviceDataUuid、serviceData、manufacturerSpecificData、设备名称、发射功率、厂家参数、广播功率、是否可连接、持续时间
二、调用范例
<template>
<div>
<button type="primary" @click="startAdvertising">开始广播</button>
<button type="primary" @click="stopAdvertising">停止广播</button>
</div>
</template>
<script>
// 获取 module
var sdkModule = uni.requireNativePlugin("XM-BLEAdvertiser")
const modal = uni.requireNativePlugin('modal');
export default {
onLoad() {
},
methods: {
//开始广播
startAdvertising() {
sdkModule.startAdvertising({
mode: 2,// 发送广播的频率: ADVERTISE_MODE_BALANCED = 1 ADVERTISE_MODE_LOW_LATENCY = 2 ADVERTISE_MODE_LOW_POWER = 0
connectable: false,// 是否可连接
timeoutMillis: 60000,// 发送广播的持续时间
txPowerLevel: 3,// 发送广播的功率: ADVERTISE_TX_POWER_HIGH = 3 ADVERTISE_TX_POWER_LOW = 1 ADVERTISE_TX_POWER_MEDIUM = 2 ADVERTISE_TX_POWER_ULTRA_LOW = 0
includeDeviceName: false,// 是否包含设备名
includeTxPowerLevel: false,// 是否包含发射功率
// 厂家参数
manufacturerId: 0x004E,//默认0,大于等于0时有效
manufacturerSpecificData: '4E001101',//可空,空时manufacturerId无效
//范例uuid:0000FFF5-0000-1000-8000-00805F9B34FB
serviceUuid: '',//可空,范例值0000FFF5-0000-1000-8000-00805F9B34FB
serviceDataUuid: '',//可空,范例值0000FFF5-0000-1000-8000-00805F9B34FB
serviceData: ''//可空,范例值AAD6BE89
}, (ret) => {
//扫描回调结果
console.log(ret)
modal.toast({
//发送操作结果
message: ret,
duration: 1.5
});
});
},
//停止广播
stopAdvertising() {
sdkModule.stopAdvertising();
}
}
}
</script>