什么是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/
日本大片–该示例在不断完善,但是我觉得在功能方面有些不尽人意。
https://github.com/
实施概述
该应用程序的实施这个网站我通过参考实现了它。
用作参考的源代码在这里下载我测试了
文件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/
谢谢你
请告诉我我正在参考此检查iOS 8.1.1上iBeacon的操作。
未检测到信标,并且信标不起作用。
>我还下载并测试了此处引用的源代码。
所以我从那里得到了源,并转到了phonegap WWW文件夹
我改写了。
是否有必要在iOS8中的某处编辑源代码,
或将源覆盖到上面的WWW文件夹中
我不能做手术吗?
如果您能给我一些建议,将会很有帮助。
感谢您的配合。