什么是iBeacon?

iBeacon是使用低功耗蓝牙(BLE)的一项新技术,由于它是标准安装在iPhone的iOS7中,因此现在引起了人们的注意。
过去,NFC通常用于执行O2O措施,实际上是通过在线公告促成商店的。但是,iPhone不支持NFC,因此总体O2O在增长。

但是,iBeacon作为标准与iPhone兼容,并使用称为BLE的通用技术。尽管iBeacon是Apple Inc.的商标,但是类似的技术可以应用于Android设备,并且有望将其用于整个智能手机。

因此,iBeacon作为O2O的王牌吸引了人们的注意。

详细在这里该网站您可能要看看。

 

iBeacon可以与PhoneGap一起使用吗?

将iBeacon与PhoneGap一起使用时,可以通过使用插件来使用iBeacon。

目前,似乎有两个插件。

彼得–起初我很担心,因为样品很少,但是我觉得实际使用它很方便。它还支持Android。

https://github.com/petermetz/科尔多瓦-插件ibeacon

日本大片–该示例在不断完善,但是我觉得在功能方面有些不尽人意。

https://github.com/特大号/phonegap-ibeacon-plugin

 

实施概述

该应用程序的实施这个网站我通过参考实现了它。

用作参考的源代码在这里下载我测试了

文件index.html包含应用程序信息页面的HTML数据。

JavaScript代码(包括iBeacon设置和逻辑)位于app.js文件中。

 

iBeacon追踪

要跟踪iBeacon,请指定要为其获取通知的信标的UUID。

此处,id用于标识与信标关联的页面,定义页面区域的代码为:

//定义每个beacon.app.beaconRegions = [{id:'page-feet',uuid:'A4950001-C5B1-4B44-B512-1370F02D74DE',major:1,minor:1}, {id:'page-shoulders',uuid:'A4950001-C5B1-4B44-B512-1370F02D74DE',major:1,minor:2},{id:'page-face',uuid:'A4950001-C5B1-4B44- B512-1370F02D74DE',主要:1,次要:3}]

您将需要要跟踪的信标的UUID。

相同的UIID允许您使用主要和次要整数来唯一标识信标,在这种情况下,它可以被多个信标共享。

跟踪信标时,不必指定主/次号码。

 

iBeacon监控

接下来,让我们看一下跟踪信标的代码。

请注意,它用于两种跟踪iBeacons。

**使用startMonitoringForRegion启用的监视会跟踪开始和结束区域。

当应用程序可以在前台和后台运行且不包含邻近信息时,监视的更新率都可能较低。测距仅在前台工作,**启用了startRangingBeaconsInRegion,更新速度快,并且具有邻近信息(ProximityImmediate,ProximityNear,ProximityFar)。

有关iBeacons前景模式与背景的更多信息,请浏览Radius的这份报告

整个示例应用程序都用于确定缓解信标的接近程度。

但是,该代码还允许出于演示目的监视信标。该区域上的代码监视下一部分迭代,并考虑每个区域的范围。

//开始监视和调整我们的beacons.for(在app.beaconRegions中的var r){var region = app.beaconRegions [r] var beaconRegion = new cordova.plugins.locationManager.BeaconRegion(region.id,region.uuid,区域。 major,region.minor)//开始监视。cordova.plugins.locationManager.startMonitoringForRegion(beaconRegion).fail(console.error).done()//开始监视。cordova.plugins.locationManager.startRangingBeaconsInRegion(beaconRegion).fail( console.error).done()}

 

对iBeacon的回应

带有回调函数的委托对象用于触发beacon事件,如以下代码所示。

//委托对象包含iBeacon回调函数。var委托= locationManager.delegate.implement((dideDetermineStateForRegion:function(pluginResult)(/ (pluginResult){//console.log('didStartMonitoringForRegion:'+ JSON.stringify(pluginResult))}},didRangeBeaconsInRegion:function(pluginResult){//console.log('didRangeBeaconsInRegion:'+ JSON.stringify(pluginResult))应用.didRangeBeaconsInRegion(pluginResult)}})

包含有关具有pluginResult对象的信标的信息。

在app.js中取消对console.log的调用注释,以启用日志记录以检查文件中的代码。

日志输出显示在Evothings Workbench的“工具”窗口中。

 

运行示例应用

您可以从以下站点下载示例应用程序。

本文也是以下站点的翻译。

http://evothings.com/quick-guide-to-writing-mobile-ibeacon-applications-in-javascript/

谢谢你

隐私首选项中心