LIFULL Creators Blog

LIFULL Creators Blogとは、株式会社LIFULLの社員が記事を共有するブログです。自分の役立つ経験や知識を広めることで世界をもっとFULLにしていきます。

iPhoneアプリ「HOME'S」にiBeaconの機能を追加しました

サムです。日本最大級の不動産・住宅情報サイト「HOME'S」のiPhoneアプリにiOS 7からの新機能である iBeacon を使った試験サービスを開始しました。

『HOME'S』、近距離無線通信技術「iBeacon」を使った不動産O2Oマーケティングの実験開始

本記事では、iBeaconの導入方法や、サービスに導入された試験サービスについて書きます。

iBeaconとは

まずiBeaconとは、ご存知のとおり

iOS 7以上から提供された新機能の1つで、緯度と経度から取得するGPSとは異なり、Bluetooth Low Energy(以下、BLE)を活用してiOSデバイスの位置情報を読み取るものです。 iBeaconはAppleの商標で、Androidにも同様の技術は存在します。

なので、iBeaconはAppleが提供している機能のことであって「BLE自体のことではない」ということを認識しておくことが大切です。

iBeaconでできること

まずiBeaconはiOS 7から提供された新技術であり、iOS 6などの古いOSでは使うことができません。
また、BLEに対応したデバイスでなくてはならないため、iPhone 4S以降が対象になります。

iBeaconでできることは単純で、

  1. リージョン監視:ビーコンの射程から出たり入ったりを観測
  2. 相対距離を観測:4パターンによる距離観測

になります。

f:id:nextdeveloper:20140530164306p:plain

iBeaconを実装する前に

iBeaconは CoreLocation.framework を使います。 そのため、CoreLocation をimportする必要があります。

iBeaconはiOS 7以上の機能になります。 さらにデバイスがBLEに対応しているか確認することも必要になります。 UIDeviceクラスを使い、アプリケーションが動作しているOSの確認をしています。
CLLocationManager isMonitoringAvailableForClass: で Beacon によるリージョン観測が可能であるかチェックします。

ビーコンの測定を開始する

ビーコンの計測を行う前に、CLBeaconRegionクラスのインスタンスを生成する必要があります。 6行目:計測したいビーコンのproximity UUID
10行目:計測したいビーコンのmajor 設定したら対象のビーコンのみ計測
11行目:計測したいビーコンのminor 設定したら対象のビーコンのみ計測
ビーコンの測定を開始すると、一定時間ごとにイベントが発生します。

リージョンの監視

ビーコンが出たり入ったりするリージョンの監視は CoreLocation.framework の CLLocationManagerDelegate にある locationManager:didEnterRegion: および locationManager:didExitRegion: を実装します。

相対距離を観測

ビーコンとの相対距離を測定するには CoreLocation.framework の CLLocationManagerDelegate にある locationManager:didRangeBeacons:inRegion: を実装します。

HOME'S アプリにおけるiBeacon

住まい探し専用iPhoneアプリ『HOME'S』でもiBeaconをつかっています。 使用しているBeaconはAplix社製で、これを不動産会社の店頭に設置しております。

HOME'Sアプリでは、ビーコン対象のユーザに向けて、不動産店舗訪問後にPUSH通知でアンケートを送ることに使っています。

f:id:nextdeveloper:20140530215723p:plain

ユーザはPUSH通知からHOME'Sアプリを起動するとアンケート画面が開きます。 ユーザがアンケートに入力することで、不動産店舗はユーザの率直な接客の感想を受け取ることができます。

iBeaconを開発してみて

上記のように、iBeaconの開発はとても単純です。
また、少し前に問題になっていたビーコンの成り代わりも、暗号化や証明書などを使ってセキュリティを担保する仕組みも出来上がってきました。
iBeaconを使う上で気すべきことは次のとおりだと思います。

  • Bluetoothを ON にするユーザが日本にはまだ少ない
  • WEBリテラシーの低いユーザへの配慮

「Bluetoothを ON にすると電池を消耗する」という会話が行き交う中で、いかにiBeaconのメリットが話題を上回れるかを考えることが一番の課題でした。