问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 微信小程序 Bug onBeaconUpdate 工具 Android版本7.7.1 微信版本 6.6.7 ; ios版本10.3.3 微信版本 6.7.3 2.3.0
uuids: ["E2C56DB5-DFFB-48D2-B060-D0F5A71096E0", "E2C56DB5-DFFB-48D2-B060-D0F5A71096E1", "E2C56DB5-DFFB-48D2-B060-D0F5A71096E2", "E2C56DB5-DFFB-48D2-B060-D0F5A71096E3"],
success: function (res) {
console.log(res.errMsg);
wx.onBeaconUpdate(function (res) {//监听 iBeacon 设备的更新事件
//console.info(res.beacons.length);
//封装请求数据
var beacons = res.beacons;
var reqContent = {};
var bleArray = [];
var times = [];
for (var i = 0; i < beacons.length; i++) {
var bleObj = {};
bleObj.distance = beacons[i].accuracy;
bleObj.uuid = beacons[i].uuid.substr(34,2);//uuids
bleObj.rssi = beacons[i].rssi;
//bleObj.mac = beacons[i].major + ":" + beacons[i].minor;
bleObj.major = beacons[i].major;
bleObj.minor = beacons[i].minor;
//bleArray.push(bleObj);
bleArray.push(bleObj.rssi);
bleArray.push(bleObj.uuid);
}
//获取当前时间戳
var timestamp = (new Date()).valueOf();
timestamp = timestamp / 1000;
bleArray.push(timestamp.toString());
reqContent.ble = bleArray;//封装beacons数据
//reqContent = bleArray[0].rssi;//封装rssi
console.info('下面是初始数据.')
console.log(reqContent);})
微信小程序在接受来自ibeacon广播数据时,安卓接收的速率1秒10条数据,速度与ibeacon设备设置的基本一致。手机型号是坚果pro1;
但是ios打开微信小程序接收速率非常慢,1秒一条,ibeacon广播的速率快与慢,ios始终都是1秒一条。求官方解答,或者小伙伴有类似情况吗
微信小程序开发问题解答
微信小程序开发者回答:
来个官方姥爷看一下啊 给个说法撒
微信小程序开发者回答:
图1是安卓手机打印出来的数据,通过时间戳可以看出一秒内的大概数据
下图2是ios苹果手机打印出来的数据,看时间戳一秒一条。
微信小程序开发者回答:
1、ios扫描上传一秒一次是ios底层决定的,ios的app也是如此啊,微信小程序从底层获取的数据,没法提高速率。
2、跟安卓不一样,ios使用微信小程序的蓝牙接口只能获取RSSI 、deviceId、localName、name,没有major、minor,甚至连uuid都没有哇,更没有manufactureData,当然无法封出beacon接口。
3、感觉微信小程序ios的ble扫描好尴尬,扫描速度慢不说,用beacon接口扫不出来name;用蓝牙接口扫不出来uuid、major、minor,也无法解析具体的扫描回应包。
微信小程序开发者回答:
对啊 很尴尬。
但是ios微信小程序接收ibeacon设备广播数据是可以拿到beacon数据列表的,就是速度太慢了。头疼的是要把所有设备的uuid写进数组或者通过后台接口拿uuid,而且还是必须。 如果设备一多,这是个很麻烦的事。普通蓝牙接口又扫描不出来uuid。
微信小程序开发者回答:
我之前一个项目就是由于这个原因只开发了安卓版本的,ios的就搁置了。
微信小程序开发者回答:
目前来说,似乎是没有好的解决方案!
微信小程序开发者回答:
楼主你好,iOS 微信小程序 beacon 接口是依赖系统提供的 beacon 接口,系统一有数据回调微信小程序会立刻给事件到前端这边的。这里的确无法提高回调的频率了。
微信小程序开发者回答:
谢谢!也就是说这个跟微信小程序没关系 是ibeacon硬件设备和ios系统本身的问题对吗?
微信小程序开发者回答:
是的。这边是有需求需要频繁拿到 RSSI 么?
微信小程序开发者回答:
嗯 微信小程序这边需要接收ibeacon设备不断广播的rssi值,设备不停止就一直接收。目前Android测试一切都正常,大概每秒10条左右。但是ios就不行,一秒一条实在是慢。硬件设备调高频率也只对Android起作用,ios始终都是一秒一条。很是头疼呢 有解决方案的话忘告知。谢谢
本文网址:http://www.91bianli.com/kaifazhinan/76392.html