TL;DR

ビーコンをつかむと返信して、DBに記録する

公式のSDKを使うと楽。

下準備

  • LINE beaconの入手
  • LINE@ のアカウント作成
  • Messaging APIのアカウント作成

基本的にはドキュメントの中身に沿って進めれば良い。LINE@を使った事が無かったのでLINE@とMessaging APIが独立したアカウントになっており、2つを結びつけるイメージだった事がポイントのようである。

APIの概要等

APIはシンプルなのでドキュメントを読めば理解可能。 特にビーコンについては下記のページを見るとよくわかる。基本的にビーコンに接触したユーザーのIDと返信用のトークンがコールバックされてくる形。 個人的には電池の残量がわからないので電池の残量を返してきてほしかった。

ビーコンのイベントには最小限のデータしか無いので、ユーザーのアイコンや名前などはプロフィールの取得を行う。具体的にはIDさえわかっていれば取得可能。

実装

zprojectdevさんのQiitaの記事内のサンプルを手始めに動作確認。

複雑な認証処理もないのでCURLでも十分に実装可能である。 一方で複雑な処理をすることを考えると心許ない気もする。結果的に公式のSDKには必要な処理が揃っていて使いやすい事に気がつく。(PHP5.6以上が必要)

さらにいうとSlimを使った豪華なサンプルが同梱されているので、これを改変すれば全ての機能をすぐに試すことが出来る。 LINE Botを実装する事が主目的ならこれを使えば良さそう。一方で複数のメッセージングサービスをインテグレーションする場合は対応策を考える必要がある。