Help us understand the problem. What is going on with this article?

iOS7.1でのiBeaconが改善されまくった話

More than 5 years have passed since last update.

さくっと本題に入りますね。

どこが改善されたの?

  1. Backgroundで起動していなくても反応するようになった
  2. 応答速度が向上した

Backgroundで起動していなくても反応するようになった

正直なところ、iBeaconってO2Oでものすごく注目を浴びて、もてはやされてきましたが、アプリをフォアグラウンドもしくはバックグラウンドで立ち上げていないといけないなど、色々な制限があり、はいはい解散解散、なムードがあったと思うんですよ。特に最近。
しかし!iOS7.1では、アプリがiBeaconのMonitoringを開始していれば、その後ユーザがアプリを終了させても反応するようになりました。
つまり、

  • 一度起動して、そのまま封印していても、
  • 意図的、もしくはフリーズなどで再起動しても、
  • 電源をオフにして、その後オンにした後でも、

上記のような場合でも、アプリはiBeaconを検知します。すばらしい!

具体的にどのような処理の流れになるかというと、

アプリが起動していない状態の場合

  1. デバイスがregionに入る/出る
  2. アプリが自動的にBackgroundで起動する
  3. 処理が実行される

アプリがサスペンド状態の場合

  1. デバイスがregionに入る/出る
  2. wake upする
  3. 10秒程度のイベントをハンドルする処理時間が与えられる。なお、この時間はbeginBackgroundTaskWithExpirationHandler:で増やせる

応答速度が向上した

iBeacon検知後、体感でだいたい10秒から30秒ぐらいしないと通知を投げてくれなかったのですが、体感でちょっと何となく早くなったような気がしました。
しかし、appleのドキュメントを読み直すと、スパムや乱雑な通知を避けるための閾値としてOSで定められている、20秒以上境界線の中もしくは外にいないと通知はされないようになっているようです。

アプリを作る上で逆に考えないといけない事

アップルはiOSユーザ向けの発表にはこれらの変更点を載せていません。
http://support.apple.com/kb/DL1732 参照の限りは、です。)
よって、全くアプリを起動していない状態なのにいきなり通知が来たりすると「ん?なんだこのアプリは。スパムか??」というような憶測などにより、アプリ自体の評価を下げてしまったりするかもしれません。
このような事態を引き起こさないように、適度な通知を行なう、ユーザに周知するなどの工夫が必要そうです。

参考

Location and Maps Programming Guide

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした