Swift2015年7月にGoogleから発表されたビーコン規格、Eddystone。等について書きたいと思います。採用するメリット・デメリット」について。v2.0ライセンス、規格やサンプルコードも公開)という点です。これらについて、下記のような疑問を持った開発者の方は多いのではないのでしょうか。以前から知られていたんじゃ・・・」というあたりです。「オープン」という点については、実際にさわってみて、メリット・デメリットの両面があると感じました。以下でそれについて説明したいと思います。カスタマイズ性とあるiOSアプリで「iBeaconのレンジングを使い、それに紐付けられたコンテンツのリストを近い順に並び替える」ということをやっていました。呼ばれる間隔が、1秒固定であること。1秒より小さい間隔でコンテンツを並び替えることができません。2、3メートルぐらいしか離れてないことも少なくないので、更新が1秒間隔だと、ビーコンAの近くからビーコンBの近くに移動した場合にちょっと間が空いてからビーコンBがトップに来る、みたいな感じになります。ユーザーからすると「もっさり」に感じられるわけです。インターバルを変えるプロパティ等も用意されていないのでどうしようもありません。返してくれない、という壁にぶち当たります。入っているので、間違いなくApple様が意図的にiOSに課した制約のようです。使って自前でやる、ということは実質不可能である、といえます。「オープン」という点が生きてきます。公開されている仕様に則って好きなように実装することができます。冒頭のケースでは、最小100msec間隔でレンジングできるように実装しました。自前実装の大変さ・怪しさ好きなように自前実装できる、というメリットとは裏腹に、自前実装しないといけない、というのはデメリットでもあります。計算式はググれば見つかるものの、細かい最適化のところで(専門家じゃないので)あまり自信がありません。いうジレンマもありました。この辺り、iOS向けEddystoneサポート実装の決定版みたいなOSSが出てくることを期待します。実装はあくまでサンプルという感じで、あんまり綺麗な実装とは思えなかったし、Eddystone-URLをサポートしてない、という状況です。ものの、それに対するレスポンスも遅い。Chromeが備わってさえいれば、iBeaconのようにわざわざ店舗毎に専用アプリをインストールせずともEddystoneからの情報を取得できるようになります。違いとしてよく挙げられます。逆に言えば、専用アプリのダウンロードを前提としているサービス・プロダクトにとってはアドバンテージにならない、ともいえます。(個人的な話で恐縮ですが、)iOS専業エンジニアである自分はそもそも専用アプリの開発プロジェクトにしか呼ばれないので、自分にはずっと関係ないかなと。監視領域内に入りつつもアプリがインストールされていない場合にはストアへのリンクがロック画面に表示される、という機能もあります。URLの代わりにはなっていないですが。利点このフレームタイプのパケットからは以下のようなメンテナンス用情報を取得することができます。バッテリー電圧(mV/bit)ビーコンの温度アドバタイズ回数(前回起動時からの総数)起動時間(前回起動時から)(公式仕様)これらはiBeaconでは取得できないデータなので、何か非常におもしろそうではあります。・・・が、具体的な活かし方がまだあまり思いついていません。下がる?と考えた)、ビーコンモジュールのメーカーに問い合わせたところ、バッテリー電圧が電波の強さに(大きくは)影響しないようなバッテリーを使用しており、かつ回路も工夫してある、とのこと。他のビーコンモジュールはどうなのか、というのはわからないのですが、影響するとして、どんな計算式で補正可能なのかがわかりません。活かせそうな気もしますが、その点についてはバッテリーレベルを直接見たほうがいい気がします。アドバタイズ回数や起動時間も、電池交換のタイミングを知りたいならやはりバッテリーレベルを直接見たほうがいいし、アドバタイズ間隔なら設定値として知っているし、というところでやはり具体的な使いどころが思いつかない。バックグラウンドでも監視可能?iBeaconはバックグラウンドでも領域監視可能ですが、Eddystoneもバックグラウンドで監視可能です。定義されているので、スキャン開始時に明示的に指定することができます。比較してもデメリットにはならないかと。用いないとできない機能です。採用するメリットというのは、今のところ「カスタマイズ性」というところに尽きるかなと。ないもの」は色々とあるものの、様々な代替手段を考えると、具体的な使いどころが個人的にはまだピンと来ていません。採用の理由に足るメリットかと思います。実際のサービスやプロダクトでiBeaconを使おうとするとそのブラックボックスに踏み込みたい場面は結構あるのではないでしょうか。「その2」では、実装してみて色々と気づいた点を書いてみようと思います。(22)月別アーカイブリンクWishlist検索はてなブログをはじめよう!shu223さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。