2013-10-20 49 views
31

SO相關的問題及其背景功能的數量正在增加,並且在這方面存在一些混淆。 我一直在測試AirLocate項目。iBeacon在背景中 - 使用案例

iBeacon有2個「功能」:區域監控和測距。

區域監控限於20個區域,並且可以在監聽設備的後臺運行,並有不同的代理來通知監聽應用程序(和用戶)的區域進入/退出 - 即使應用程序在後臺或電話被鎖定。

測距僅在前臺工作,但將返回(聽音裝置)的陣列,它們的屬性一起發現的所有iBeacons的(無限制?)(UUID,等..)

此外,20個地區監控是設備限制。如果用戶正在使用地理圍欄提醒,則使用區域監控的其他應用程序;這會降低這個數字。

  1. 那麼,我們說,我不能部署使用商店iBeacons發送一個「存儲特定的」通知用戶一個商場寬(100家門店+)的應用程序,而應用程序在後臺或手機被鎖定?

  2. 我收集到廣告設備(信標)必須在前臺以及廣告聽音設備可以「進入」的區域。所以我們說,如果一家商店的擁有者擁有iOS設備,例如,我不能通過要求他至少在早期將iPhone用作廣告設備(信標)來節省費用 - 因爲應用程序可能並不總是處於前臺?

  3. 因此,在iBeacon + MLB的情況下,應用程序使用單個UUID(或< 20個UUID)來確定進入門,然後將要求用戶解鎖手機/將應用程序前臺使用它(找座位等..)?

我可以再調用iBeacon顯示:一個位置/事件(商店,公園等)功能,需要用戶最「前臺」注意有一個「完整」的實際使用情況?

我試圖闡明關於用戶案例以使其具有實用性。請回復超過是或否。

+0

我們是否確定「此外,這20個區域的監測是一個設備限制。」這是一個設備限制?我認爲這是每個應用程序。 – rustylepord

+0

是設備限制還是每個應用限制? – Oren

回答

24

聽起來就像你在正確的軌道上。一般來說,您需要在前臺完全使用iBeacon功能纔是正確的。你的三個主要問題有幾個細節:

  1. 你購物中心使用案例可以有一些限制的工作。 (a)您必須通過讓多個或全部100個商店共享相同的UUID和/或主號碼來保存您的CLBeaconRegions,這些號碼僅在次號碼上有所不同。這使您可以設置單個CLBeaconRegion來監視多個。 (b)如果應用程序從看到iBeacon 1後醒來,它將無法在同一個CLBeaconRegion 中查看iBeacon 2,除非第一次停止看到該CLBeaconRegion中的任何其他信標,則無法再次喚醒。 (您可以通過設置幾個CLBeaconRegions並試圖在重疊的50米藍牙無線電範圍內相鄰的那些組在不同的CLBeaconRegions中嘗試遊戲。)

  2. 不,店主不能在後臺使用他們的iPad作爲iBeacon - 它必須在前臺工作。但他們可以使用虛擬iBeacon程序在Windows或Mac電腦上執行此操作。我的公司提供免費下載:http://developer.radiusnetworks.com/ibeacon/

  3. 在門禁用例中,是的,用戶必須在鎖屏上確認通知才能將應用程序置於前臺。一個典型的實現將使用單個CLBeaconRegion(可能所有iBeacons共享一個ProximityUUID,甚至可能是一個主要的)來提醒用戶。

+0

Tx詳細說明A.On#1解決方法:設置10個存儲區的集羣,以及該集羣中的每個存儲共享該集羣的唯一UUID + Major,但是該集羣中的每個存儲具有不同的未成年人。然後,當應用程序進入其中一個CLBeaconRegions時,它會識別它輸入的羣集(使用CLRegion標識符),然後應用程序可以執行測距以確定該羣集內可用的未成年人。雖然範圍仍然不能在後臺發生,應用程序不知道該用戶正在傳遞的羣集中的哪個存儲區(最強信號等),直到應用程序進入前臺。是否正確? – Spectravideo328

+10

其實你*可以*在背景範圍內,但只是非常簡短。當iOS在進入/退出CLBeaconRegion時將您的應用程序喚醒到後臺時,它會在暫停之前運行約5秒。您可以在此期間進行測距,然後使用結果來優化發送給用戶的通知。 – davidgyoung

+0

@davidgyoung剛剛遇到你有用的博客文章,謝謝你!想知道當應用程序沒有運行時是否能夠進入/退出(即殺死) –