HBuilderX1.1.0及以上版本支持此功能。
5+功能模块(permissions)
{
// ...
"permissions":{
// ...
"iBeacon": {
"description": "iBeacon"
}
}
}
开始搜索附近的iBeacon设备
void plus.ibeacon.startBeaconDiscovery(options);
搜索成功后触发successCB回调,失败触发errorCB回调。
options参数为json类型,包含以下属性:
Android平台忽略此属性,iOS平台默认值为false。
调用成功或失败都会触发此回调。
void : 无
charset="utf-8">
iBeacon Example
type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener('plusready', onPlusReady, false);
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady(){
}
// 搜索iBeacon设备
function startBeaconDiscovery(){
plus.ibeacon.startBeaconDiscovery({
success;function(){
plus.nativeUI.alert('start success');
},
fail:function(e){
plus.nativeUI.alert('start error: '+JSON.stringify(e));
}
});
}
>
onclick="startBeaconDiscovery()">开始搜索
uni-app使用plus注意事项
停止搜索附近的iBeacon设备
void plus.ibeacon.stopBeaconDiscovery(options);
取消成功后触发successCB回调,失败触发errorCB回调。
options参数为json类型,包含以下属性:
调用成功或失败都会触发此回调。
void : 无
charset="utf-8">
iBeacon Example
type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener('plusready', onPlusReady, false);
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady(){
}
// 搜索iBeacon设备
function startBeaconDiscovery(){
plus.ibeacon.startBeaconDiscovery({
success: function(){
plus.nativeUI.alert('start success');
},
failed: function(e){
plus.nativeUI.alert('start error: '+JSON.stringify(e));
}
});
}
// 停止搜索iBeacon设备
function stopBeaconDiscovery(){
plus.ibeacon.stopBeaconDiscovery({
success: function(){
plus.nativeUI.alert('stop success');
},
failed: function(e){
plus.nativeUI.alert('stop error: '+JSON.stringify(e));
}
});
}
>
onclick="startBeaconDiscovery()">开始搜索
onclick="stopBeaconDiscovery()">停止搜索
uni-app使用plus注意事项
获取已搜索到的iBeacon设备
void plus.ibeacon.getBeacons(options);
获取成功后触发successCB回调,失败触发errorCB回调。
options参数为json类型,包含以下属性:
回调函数参数event对象包括以下属性: beacons - Array
调用成功或失败都会触发此回调。
void : 无
charset="utf-8">
iBeacon Example
type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener('plusready', onPlusReady, false);
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady(){
}
// 获取iBeacon设备
function getBeacons(){
plus.ibeacon.startBeaconDiscovery({
success: function(){
plus.ibeacon.getBeacons({
success: function(e){
var beacons = e.beacons;
var uuids = null;
for(var i in beacons){
if(uuids){
uuids += ', '+beacons[i].uuid;
}else{
uuids = beacons[i].uuid;
}
}
plus.nativeUI.alert('Beacons: '+uuids);
},
failed: function(e){
plus.nativeUI.alert('getBeacons error: '+JSON.stringify(e));
}
});
},
failed: function(e){
plus.nativeUI.alert('start error: '+JSON.stringify(e));
}
});
}
>
onclick="getBeacons()">获取iBeacon设备
uni-app使用plus注意事项
监听iBeacon设备更新
void plus.ibeacon.onBeaconUpdate(updateCB);
iBeacon设备更新后触发updateCB回调。
回调函数参数event对象包括以下属性: beacons - Array
void : 无
charset="utf-8">
iBeacon Example
type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener('plusready', onPlusReady, false);
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady(){
}
// 监听iBeacon设备更新
function listenerBeacons(){
plus.ibeacon.startBeaconDiscovery({
success:function(){
plus.ibeacon.onBeaconUpdate(function(e){
var beacons = e.beacons;
var uuids = null;
for(var i in beacons){
if(uuids){
uuids += ', '+beacons[i].uuid;
}else{
uuids = beacons[i].uuid;
}
}
plus.nativeUI.alert('Beacons updated: '+uuids);
});
},
failed: function(e){
plus.nativeUI.alert('start error: '+JSON.stringify(e));
}
});
}
>
onclick="listenerBeacons()">监听iBeacon设备更新
uni-app使用plus注意事项
监听iBeacon服务状态变化
void plus.ibeacon.onBeaconServiceChange(changeCB);
iBeacon服务状态变化时触发changeCB回调。
回调函数参数event对象包括以下属性: available - Boolean类型,iBeacon服务目前是否可用; discovering - Boolean类型,是否处于搜索iBeacon设备状态。
void : 无
charset="utf-8">
iBeacon Example
type="text/javascript" >
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener('plusready', onPlusReady, false);
// 扩展API加载完毕,现在可以正常调用扩展API
function onPlusReady(){
// 监听iBeacons服务状态变化
plus.ibeacon.onBeaconServiceChange(function(e){
console.log('BeaconServiceChanged: available='+e.available+', discovering='+e.discovering);
});
}
// 搜索iBeacon设备
function startBeaconDiscovery(){
plus.ibeacon.startBeaconDiscovery({
success: function(){
console.log('start success');
},
failed: function(e){
console.log('start error: '+JSON.stringify(e));
}
});
}
// 停止搜索iBeacon设备
function stopBeaconDiscovery(){
plus.ibeacon.stopBeaconDiscovery({
success: function(){
console.log('stop success');
},
failed: function(e){
console.log('stop error: '+JSON.stringify(e));
}
});
}
>
onclick="startBeaconDiscovery()">开始搜索
onclick="stopBeaconDiscovery()">停止搜索
uni-app使用plus注意事项
iBeacon设备信息
interface IBeaconInfo {
readonly attribute String uuid;
readonly attribute String major;
readonly attribute String minor;
readonly attribute Number proximity;
readonly attribute Number accuracy;
readonly attribute Number rssi;
}
成功回调函数
void onSuccess(event){
}
不同接口触发的成功回调参数event包含的属性存在差异,具体参考对应的接口描述说明。
回调参数包含的属性由调用接口决定,具体参考对应的接口描述说明。
void : 无
失败回调函数
function void onFail(Exception error){
// Handle error
var code = error.code; // 错误编码
var message = error.message; // 错误描述信息
}
可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。
void : 无
操作完成回调函数
function void onComplete(event){
}
调用成功或失败都会触发此回调。
调用成功时回调参数与IBeaconSuccessCallback一致,调用失败时回调参数与IBeaconFailCallback一致。
void : 无
获取iBeacon设备信息回调函数
void onSuccess(event){
// 通过beacons获取iBeacon设备列表信息
var beacons = event.beacons;
}
可通过event.beacons(Array
void : 无
iBeacon服务状态变化回调函数
void onSuccess(event){
// 通过available、discovering获取iBeacon服务状态
var available = event.available;
var discovering = event.discovering;
}
可通过event.available(Boolean类型)获取iBeacon服务目前是否可用; 可通过event.discovering(Boolean类型)获取是否处于搜索iBeacon设备状态。
void : 无