2014-03-02 55 views
0

我正在研究涉及Ibeacons的社區組織的概念證明。我對IOS開發知之甚少。多個應用程序可以處理ibeacon事件

其基本思想是社區組織將有一個應用程序,我們將部署Ibeacons的各種實體也有一個應用程序。 IOS有可能設置應用程序處理特定信標事件的優先級。

因此可以說,如果用戶安裝了Business X的應用程序,並且安裝了與Business X關聯的信標中的Beacon事件,則Business X的應用程序將處理該事件。否則社區應用程序將處理該事件?

我知道在Android中,您可以設置意圖處理的優先級。我不確定這是否可以在IOS或Android中使用Ibeacons來完成。

+0

你能幫助我如何在Android中使用多個UUID進行掃描。 我有10個,任何人都可以掃描 – Tombeau

回答

1

信標或信標'事件'不屬於特定的應用程序。信標廣播由三個值組成的標識符 - UUID和主要和次要值。您的應用可以使用這三個值來設置監控區域。對於每個應用程序,您可以監視一個或多個需要了解的區域(信標分組)。多個應用程序可以監視相同的信標。任何信標發現和測距事件的優先級都需要在您的個人應用程序中處理。

例如給定的這三個信標:

  • BeaconA:UUID = DCCABFE0-A25D-11E3-A5E2-0800200C9A66主要= 293次要= 1
  • BeaconB:UUID = DCCABFE0-A25D-11E3-A5E2 -0800200C9A66主要= 293 =輕微2
  • BeaconC:UUID = DCCABFE0-A25D-11E3-A5E2-0800200C9A66主要= 674 =小1個

你的社區應用程序可以監控所有信標與UUID DCCABFE0-A25D -11E3-A5E2-0800200C9A66( 3個信標)。 Business X的應用程序可以通過使用UUID DCCABFE0-A25D-11E3-A5E00800200C9A66和主值293(2個信標)監視信標來監視其中的一部分。在這種情況下,如果BeaconA被設備檢測到,則兩個應用都會觸發iBeacon事件,因爲BeaconA在兩個監控區域內。但是,如果BeaconC被設備發現,只有社區應用程序纔會被通知,因爲此信標不屬於Business X的受監控區域。

因此,在iOS中至少每個應用程序都會獨立監控信標,如果您有一個由多個應用程序監控的iBeacon,則所有這些應用程序都會收到通知,然後您需要自己的邏輯來處理事件。

0

是的,你可以做到這一點在iOS上,但也有東西你必須解決:

  1. iBeacon顯示檢測結果總是被髮送給正在尋找相關的所有iOS應用。在其他應用程序有機會之前,沒有內置的優先級或處理事件的概念。

  2. 應用程序通常是「沙箱」,以防止共享數據,但有幾種解決方法。

由於(1),所有應用程序都將獲得iBeacon通知。但是,如果社區應用程序可以通過其他應用程序告知他們將處理或處理一個或多個iBeacons的事件,那麼您可以編寫社區應用程序以忽略事件。在(2)的範圍內處理此通知的兩種方法是使用Web服務或自定義URL方案來交換數據。第二個對你來說可能最簡單。

它的工作方式是這樣的:

  1. 商業X應用程序啓動,並iBeacons開始監測與UUID 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6
  2. 商業X應用程序,使通話到communityIBeaconApp的自定義URL方案://啓動忽略UUID = 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 &應用= BusinessX
  3. 社區iBeacon顯示應用程序從接收自定義URL調用(2),現在知道它應該因爲Business X應用會處理它們,所以忽略所有使用UUID 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6的iBeacons。
  4. 當業務應用X停止監視這些iBeacons,應該撥打另一個電話到communityIBeaconApp://停忽略UUID = 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 &應用= BusinessX
  5. 社區iBeacon顯示應用程序接收從(3)和停止忽視這些iBeacons

自定義URL調用您可以閱讀關於iOS上here構建自定義URL方案的教程。

相關問題