Proxitee:利用 iBeacons 和地理围栏创建近场感知应用

proxitee

Proxitee SDK这个库是建立在苹果的CoreLocation框架之上,Proxitee SDK为了帮助大家在开发使用iBeacon的app过程中省去搭建蓝牙环境的重复劳动时间。

使用Proxitee你需要至少一个iBeacon设备以及进行一些基本的设置。

基本需求

  • 至少一个iBeacon设备(你还可以将自己的手机等设备变成一个beacon发射器,教程
  • Proxiee账户:注册
  • Xcode 5以上版本
  • Proxitee SDK:最新版本

安装Proxitee SDK

Proxitee SDK这个库是建立在苹果的CoreLocation框架之上,Proxitee SDK为了帮助大家在开发使用iBeacon的app过程中省去搭建蓝牙环境的重复劳动时间。最快安装Proxitee SDK的方法就是使用CocoaPods,既能获取最新的SDK版本又会为你自动管理所需要依赖的框架和第三方。

安装CocoaPods

在终端输入sudo gem install cocoapods,然后输入密码,这个安装过程需要一定时间

然后输入pod setup就安装好了。

安装好CocoaPods后

创建好自己的Xcode项目,然后你需要在你的Xcode项目目录中添加一个Podfile文件,最简单的创建方法是在终端指向该项目地址的情况下输入pod init。

Podfile中应该要指明你的项目需要依靠Proxitee SDK,编辑podfile然后添加

pod’ProxiteePlatform’

然后再在终端指向该项目地址的情况下输入pod install

然后你就会发现在你的项目中创建了一个.xcworkspace文件

更多详情请参考CocoaPods指南。

Screen-Shot-2014-09-11-at-18.08.15

开始使用Proxitee SDK

安装好Proxitee SDK并且在CMS上注册过后的一些基本的设置

Screen Shot 2014-11-18 at 11.34.53 AM

首先开启Capabilities中的后台模式,然后勾选Location updates和Acts as a Bluetooth LE accessory

在info中添加以下设置

Screen Shot 2014-11-18 at 11.44.29 AM

Required background modes 中添加bluetooth-le

iOS8之后的版本做了些调整

info.plist中另需做一些设置

添加其中一项或者全部:

NSLocationWhenInUseUsageDescription

NSLocationAlwaysUsageDescription

这两项用于描述为何你需要用户的地址信息

相应的你也需要调用CLLocationManager中的

requestWhenInUseAuthorization和requestAlwaysAuthorization方法

Proxiee上的一些设置

在你的工程中添加一个Proxitee.plist文件,该文件要依照以下格式
屏幕快照 2016-06-23 下午1.26.20
将其中的apiKey替代成你的API key(注册CMS后即可获得)

现在是代码部分

PXTProxitee这个类充当着所有可调用方法的大门,API的所有交互都是通过它来完成的

第一步,在App Delegate中初始化API。先引入 PXTProxitee.h

然后

接下来我们就可以通过下面的代码来对beacons做出应答

到这一步我们尚未自定义任何操作,也没有观察任何通知

接下来我们会监听接收到beacons的通知,以检测proxitee是否捕捉到。

通知通过NSNotificationCenter的子类[PXTProxitee shared].notifications进行管理

现在你的app就可以响应proxitee CMS中设置的beacons设备了,接下来你需要为一个指定的beacon设备添加一个本地推送,这样app在后台或者退出状况下手机都能收到这个推送啦

可用的通知

proxitee_notifications

自定义的行为

什么时候需要

现在不需要任何代码你就可以通过CMS来配置和设定一个本地通知行为(如何设置)。但是有时候,比如说某人穿过地理围栏或者进入beacon设备的区域时,你可能会需要设定一些自定义行为。

创建

自定义行为必须实现PXTAction协议,这个协议中必须执行-(void)execute:(NSDictionary *)data方法

下面这个例子中我们通过设置了一个自定义行为,判断一个人与指定蓝牙设备的接近程度来确定他是否在房间内

注册

要使用自定义行为你需要调用[PXTProxitee shared].actions中的注册/解除注册方法。

现在我们来注册InsideRoomAction这个自定义动作

注册好之后我们就可以完全控制如何运行这个方法,在上面的例子中使用的是与特定蓝牙设备的距离,另外你还可以选择在穿过地理围栏时候触发。

官方网站:http://proxitee.com/developers/
开源地址:https://github.com/Proxitee/iOS-SDK

2 3 收藏

资源整理者简介:西西里的仔仔

简介还没来得及写 :) 个人主页 · 贡献了12个资源 · 13 ·   


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer