2016-08-16 78 views
3

在谷歌Play服務9.2版本說明我發現:我可以使用Play Services 9.2掃描iBeacons嗎?

鄰近

此版本將刪除客戶端使用接近信標API來管理它們的信標要求。附近現在將直接返回解析的BLE廣告,允許客戶使用他們自己的解決方案來解釋這些廣告。

這聽起來對我來說,就好像我應該能夠訂閱最近的消息與Strategy.BLE_ONLY並獲得關於BLE信標信息(包括iBeacons)附近沒有「擁有」 /註冊信標爭奪接近Beacon API。

我理解正確嗎?有沒有人有一個有用的鏈接到示例或其他資源,可能有助於實現此功能?

回答

1

訂閱MessageFilter,使用includeIBeaconIds

的代碼看起來是這樣的:

MessageFilter filter = new MessageFilter.Builder() 
    .includeIBeaconIds(MY_IBEACON_PROXIMITY_UUID, null, null) 
    .build(); 
SubscribeOptions options = new SubscribeOptions.Builder() 
    .setFilter(filter) 
    .setStrategy(Strategy.BLE_ONLY) 
    .build(); 
MessageListener listener = new MessageListener() { 
    @Override 
    public void onFound(Message message) { 
    IBeaconId beaconId = IBeaconId.from(message); 
    Log.i("Test", "Saw iBeacon " + beaconId); 
    } 
}; 
Nearby.Messages.subscribe(apiClient, messageListener, options); 
+0

感謝您的示例代碼:

在前臺預訂時,這裏有一個片段。是否也可以掃描「所有iBeacons」而不只是「MY_IBEACON_PORXIMITY_UUID」?我是否將呼叫保留爲'includeIBeaconIds',或者對於'MY_IBEACON_PORXIMITY_UUID'有一些魔術值,它會返回所有的beaconIds? –

+0

如果你能分享一些關於「掃描所有附近的燈塔ID」的見解,這將是非常棒的。 Thx –

+0

目前不可能,對不起。 –

0

有沒有人有一個有用的鏈接到一個樣品或其他資源,可幫助實現這個功能嗎?

從這個SO threadthis too確認可以從Android設備收聽iBeacon。您可以使用AltBeacon/android-beacon-library

它允許Android設備像iOS設備一樣使用信標。當一個或多個信標出現 或消失時,應用程序可以請求獲得通知。應用程序還可以請求以大約1Hz的頻率從一個 或更多的信標中獲取範圍更新。

不要忘了從Google文檔中閱讀Getting Beacon Messages

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ... 
    mMessageListener = new MessageListener() { 
     @Override 
     public void onFound(Message message) { 
      String messageAsString = new String(message.getContent()); 
      Log.d(TAG, "Found message: " + messageAsString); 
     } 

     @Override 
     public void onLost(Message message) { 
      String messageAsString = new String(message.getContent()); 
      Log.d(TAG, "Lost sight of message: " + messageAsString); 
     } 
    } 
} 
+0

這將是您用於從例如一個Eddystone烽火臺。它缺少您實際訂閱的關鍵部分,雖然它是從它複製的示例中顯示的(https://developers.google.com/nearby/messages/android/get-beacon-messages)。 –

+0

@noogui,謝謝你的回答。我們已經在使用AltBeacon並正在評估遷移到Nearby Messages。您引用的文檔旨在檢索郵件附件(正如brian-duff已經提到的)。 –

+0

@FlorianBarth我認爲自從他在Google的Nearby項目工作以來,Brian在這方面有發言權。我只是引用了我從文檔中找到的內容。 – noogui

相關問題