やりたいこと、会社に来たら、「俺、参上」メッセージをSlackに送って見る。細かい準備とか「LINEBeaconについて」に書いてあるのでしっかり見ておいた方が良いかなと思う。
Developer Trialアカウント登録
Developer Trialでしか今の所使えないので、Developer Trialアカウント作成する。
登録はこちらから → https://business.line.me/ja/services/bot
幾つか入力して、、、
LINE@ManagerでBotの設定
「Enbale API」をクリックして、Botを有効にする。
「Use webhooks」を有効にする
アカウントとBeaconの連携
箱に張られたURLに接続
デバイスの電池を外す
箱に張られたURLに接続をすると、連携画面が出てくる。
連携するボタンを押した先の画面で HWID と CODE 入力し連携を完了させる。
連携完了
設定はこれだけです。とても、簡単ですね。
Webhookを準備して
LINE BUSINESS CENTERのアカウントからLINE Developersへ移動する
アカウントChannelの設定
Editをクリックして、"Webhook URL"に https で始まるURLを設定したのち、 VERIFY を押して、Webhookを有効にする。
あと、 Channel Access Token を ISSUE を押して発行する。
電池を入れて準備
LINEBeaconていうのが宙を舞っているのを確認。
試してみる
しばらくすると、、、以下の様な、JSONがwebhookのendpointに飛んできた。
slackにJSONを投げてみた。
{"events":[{"type":"beacon","replyToken":"****","source":{"userId":"*****","type":"user"},"timestamp":1475222852862,"beacon":{"hwid":"*****","type":"enter"}}]}
こんな感じで飛んできた。Beacon Type が Enter なので、一度、エリアに入った時に、反応する感じになっているみたい。
まぁ、そうだよね。
一回、Enter 来たから、、、しばらくして、「俺、参上」が通知きた!
俺って誰だよって突っ込みたくなるが、ご勘弁を!
あと、LINEの担当に伺ったところ、、、
サンプルビーコンの場合は5〜30mほど電波が飛んでいますが、電波を拾いつづけている限り連続でイベントが発生するわけではありません。一度エリア外になったあとしばらく時間を置いて再度エリア内になるとイベントが再度送られてくると思います。正確な所はOSが検知するタイミングやcacheなども影響するので、確実にn秒以内にイベントが発生する
とは保証出来ません。
とのこと。上記も踏まえて、webhook側で受け取ったデータを保持し、何かよしなにする感じで利用できるのかなと思った。この辺りの微妙な調整もサービスを作る時に影響しそうな気もするが、まずは、挙動を理解しwebhook側での制御を実装すると良いのかなと思った。
感想
LINEで友達に追加してもらえたら使えるのでとても気楽で良いなと思った。今となっては、アプリインストールより難易度が低いし、友達に追加がアプリインストールみたいなイメージかな。なので、Messaging APIを使って、アプリ見たいなBotを作るってありな気がした。あと、他は簡単過ぎて、書くことがあまりない。