2014-10-01 21 views
7

我一直在玩他們的Android SDK的Estimote iBeacons。不過,我仍然對爲什麼有這麼多SDK可用而感到困惑。iBeacons - 公司(Estimote,Gimbal等)SDKs與Android/iOS庫

iBeacon只是標準藍牙設備,具有藍牙4.0規範的藍牙低功耗(BLE)部分。只要您的設備是「Bluetooth Smart Ready」(iPhone 4S +和Android 4.3+),您就能夠檢測到所有iBeacons,而不管燈塔製造商。 Android(Bluetooth Low Energy Connectivity)和iPhone(iOS Developer Library)都提供系統級庫來開發應用程序以使用iBeacons。

那麼爲什麼有這麼多的SDK連接到iBeacons(Gimbal,Estimote,Radius Networks,open source Android API)。

所以,我有幾個問題:

  • 爲什麼這麼多的軟件開發工具包?製造商是否可以通過他們的SDK鎖定他們的信標?

  • Android 4.3 Bluetooth Connectivity library可以輪詢並找到任何iBeacon嗎?

  • 使用非Android SDK有什麼優勢?在我看來,只有android庫可以進行地理圍欄和鄰近檢測,但通知和常量背景輪詢是不可能的。

回答

13

瞭解信標是藍牙LE的特定應用。藍牙LE是一種通用的短距離通信技術,可以做許多事情,例如將音頻傳輸到揚聲器。

Android的內置藍牙API和Apple的CoreBluetooth API等低級API適用於通用藍牙應用。他們沒有做具體的信標之類的東西:

  • 解碼燈塔標識符
  • 到信標
  • 確定當信標出現或消失
  • 啓動應用程序或者在信標檢測發送通知估算距離

爲了完成這些任務,您需要編寫自己的軟件(這很容易出錯並且很耗時),或者使用預先構建的高級庫。對於iOS設備,Apple使用CoreLocation API的操作系統內置了信標功能。 Android沒有這樣的內置庫。

由於Android沒有內置的信標庫,因此不同的第三方已經構建它們。我的公司在2013年9月創造了第一個,它已經發展成今天的開源Android Beacon Library

其他銷售信標的公司通常會自己製作圖書館(有些基於此開源庫,有些則不是),以支持其信標或專有云服務的專有功能。

所以回答你的最後兩個問題是:

  • 是,Android的4.3藍牙連接庫可以輪詢和發現任何iBeacon顯示,但你必須編寫大量的代碼對庫頂做到這一點。

  • 使用額外的庫的優點是,您不必編寫和調試所有代碼。您可以專注於需要進入應用程序的邏輯,而不是將所有時間花在低級信標處理上。

完全披露:我是Radius Networks的首席工程師,也是Android Beacon Library的作者。

+0

大衛嗨!你嘗試過新的NearbyAPI嗎?該庫是否完成與Android Beacon庫相同的結果?或者它們有什麼區別? – JavierSP1209 2015-11-23 15:28:56

+0

在這裏看到我的答案:http://stackoverflow.com/a/33876087/1461050 – davidgyoung 2015-11-23 17:52:29