はじめに
LINE Beaconを利用したサービスを開発したときにわかったことをまとめます。
対象者
- LINE Beaconを用いたサービスの設計をしたい人
- LINE BeaconとiBeaconとの違いが知りたい人
- ビーコンIoTで何かをハックしたい人
LINE Beaconとは
BLEビーコンの一種。
LINE messaging APIを用いたLINE Botとの連携が簡単に行えます。
使用方法は、他記事や公式ドキュメントを参照してください。
発生するイベント
現在(2019/2/25)使用できるイベントは以下の3つのみ。
enter
ユーザがLINE Beaconの受信範囲に入ったときに発生する。
また、受信範囲内でLINEを再起動することでも発生する。
leave
ユーザがLINE Beaconの受信範囲外に出たときに発生する。
(公式より廃止予定というアナウンスあり)
banner
ユーザがバナーをタップしたときに発生する。
(使用するには、LINE Partnersの申請が必要)
今後、サービスを考えるのにあたって廃止予定のleaveイベントは使わないのが無難だと思います。
そうなると、Messaging APIのみではiBeaconで検出可能なBeaconとの距離の検出やBeaconの範囲内にユーザがいることを検出できません。
つまり、LINE Beaconは検出範囲外から検出範囲内に入ったユーザを検出できるが、範囲内にとどまっているユーザを検出することができません。
上の図はイメージです。
参考
Messaging APIリファレンス
iBeacon - Apple Developer
LINE BOTとLINE Beaconの紐づけ
LINE Beacon一つで複数のLINE BOTのアカウント登録(紐づけ)を行うことができません。その逆は可能です。
よって、iBeaconのように1つのビーコンを複数のアプリ(BOT)で使用することはできません。
受信電波強度の変更
LINE Beaconでは受信電波強度の変更ができません。
iBeaconは受信電波強度を変更できるものが多くあるそうです。
特定の小さな範囲に入ったときに通知が欲しいなどのサービスを作成するときは設置場所をよく考える必要があります。
ユーザのLINEの設定
まず第一にLINEのタスクが切られている場合はビーコンを検出できません。
バックグラウンドで動作していれば、別アプリを起動していても問題ありません。
LINE Beaconを検出できるときの条件
- LINEが起動中(バックグラウンドでも可)
- LINE Beaconの設定がON(※1)
- スマホの位置情報提供が「このAppの使用中のみ許可」、または「常に許可」(※2,3)
※1 : LINEの「設定」→「プライバシーの管理」→「情報の提供」→「LINE Beacon」をONにする
※2 : iOS 12.1.4の場合 - スマホの「設定」→「プライバシー」→「位置情報サービス」→「LINE」
※3 : バックグラウンドでPush通知を行いたい場合は「常に許可」が必要
(19/3/2 追記)
上の検証はiOSで行いました。
さいごに
この記事を読んだときに「他ビーコンよりできること少なくない?」などと思う方もいるかも知れません。
しかし、LINE Beaconを使用する最大のメリットは日本人のユーザ数が非常に多いLINEを用いたサービス「LINE BOT」を簡単に使えることだと筆者は考えています。
LINE BOTを使用することで、ユーザがアプリをダウンロードする工程やアプリのUIを学ぶ必要がありません。
これらの特徴を活かしたサービスを開発しましょう!!!