美文网首页iOS开发技术iOS开发iOS技巧学习_JM
[IOS开发]蓝牙IBeacon近场推送开发——类似微信周边功能

[IOS开发]蓝牙IBeacon近场推送开发——类似微信周边功能

作者: tumg的LNMP_IOS小集 | 来源:发表于2016-01-20 21:58 被阅读1429次

    IOS的IBeacon是苹果在2014年推出的规范,并且从IOS7开始支持(必须在IPhone 4S 以上的机型才支持),目前应用市场来看,使用蓝牙近场通信使用最多的是微信的摇一摇周边,毕竟蓝牙的用户使用成本太高,驱动用户开启蓝牙并进行相关的操作成本太高,扯远了,从技术流程实现的角度,如何实现这一功能?

    微信摇一摇周边:是微信2015年推出的一个周边推送功能。

    集成方案


    在开发之前,需要选择IBeacon设备的集成商(提供蓝牙设备及SDK等开发包),度娘一下可以找到不少的设备集成商,我使用了Bright Beacon的集成方案,设备做工一般吧,SDK文档还算完备,本文更多还是介绍实现流程,IBeacon设备都大同小异,选择合适的就行。

    Bright Beacon集成方案,度娘一下,具体看官方介绍。

    蓝牙设备(外壳拆开后,做工一般)

    BRTBeacon设备1 BRTBeacon设备2

    实现效果(app运行图)


    实现一个简化版的周边摇一摇(只是尝试性功能模块,设计和交互细节略粗糙),但基本的交互都实现出来了:
    1.扫描周边蓝牙设备;
    2.根据匹配的信息,返回推送信息;
    3.浮窗提醒用户

    功能界面01 功能界面02-蓝牙扫描中,loading图没截到 功能界面03-识别到周边信息,并打开确认弹窗

    基本概念


    BeaconRegion

    beaconRegion是可自定义的区域,用于蓝牙扫描的区域信息,如果手机在蓝牙设备发射范围内(进入、持续监听、离开),则返回相应的状态

    Beacon

    Beacon是识别到的蓝牙设备对象,对应部署的蓝牙发射器,一般有以下的属性:
    1.macAddress:设备的物理地址(一般不可更改);
    2.UUID:设备的唯一ID,一般是自定义;
    3.major:主要区域标识,可定义(例如:xxx商场的标记);
    4.minor:次要区域标识,可定义(例如:xxx商场的xxx店铺);
    5.accuracy:相对距离,可用于排序或筛选处理

    具体实现流程

    蓝牙近场推送实现流程

    本实现流程只扫描指定配置的Region,所以准确度较高,但如果部署的区域和设备非常多的话,不适用,而应该采用全部扫描的方式,但本文不再展开描述;

    其他蓝牙应用技术

    1.IOS的IBeacon可以在用户未打开app情况下(app被用户授权使用蓝牙,并且打开蓝牙扫描),向用户发送通知(类似远程推送);
    2.根据发射范围的状态:进入、持续监听、离开,根据状态的不同,做出不同的响应(在我的应用中,并未开启这些配置,而且扫描1次后关闭了蓝牙扫描);

    应用场景

    1. 蓝牙扫一扫、签到;
    2. 区域推送;
    3. 现场互动,寻宝
    4. ==

    相关文章

      网友评论

      本文标题:[IOS开发]蓝牙IBeacon近场推送开发——类似微信周边功能

      本文链接:https://www.haomeiwen.com/subject/tltlkttx.html