簡體   English   中英

帶有Beacons MAC的Google Awareness API

[英]Google Awareness API with Beacons MAC

我有一些自定義信標用於通過藍牙LE進行通信。 目前我正在執行LE掃描並檢查任何找到的BLE設備的MAC地址是否是我的。

如果我的一個信標在范圍內而不是自己實現整個內容,我想使用Google Awareness Fence API來觸發。 但是,如果我想創建這樣的AwarenessFence ,我只能定義屬性

  • 命名空間,
  • 類型

使用TypeFilters時:

final BeaconState.TypeFilter typeFilter = BeaconState.TypeFilter.with("abc", "def");
    final AwarenessFence beaconFence = BeaconFence.found(typeFilter);
    Awareness.FenceApi.updateFences(
            client,
            new FenceUpdateRequest.Builder()
                    .addFence(BEACON_FENCE, beaconFence, pi)
                    .build())
            .setResultCallback(new ResultCallback<Status>() {
                @Override
                public void onResult(@NonNull Status status) {
                    if (status.isSuccess()) {
                        Log.i(TAG, "Fence was successfully registered.");
                    } else {
                        Log.e(TAG, "Fence could not be registered: " + status);
                    }
                }
            });

問題:

  1. 命名空間和類型是什么意思? 這些屬性是否都提供給所有BLE設備,我可以從我的信標中以某種方式讀取它們嗎? 或者這是Eddystone特有的東西嗎?

  2. 我可以使用Awareness API和我的信標的MAC地址嗎?

1)有同樣的問題並解決了它。

https://developers.google.com/beacons/proximity/attachments獲取帶有“namespaceType”字段的附件上下文。 您所需要做的就是將“字符串/類型”中的字符串分割為“名稱空間”,並為您的FenceState.TypeFilter分割“類型”。 命名空間應該是您的項目ID形式GoogleDevConsole。

要設置您的信標,請從GooglePlayStore獲取“Beacon Tools”(Google Inc.)並找到您的信標,您可以在那里添加附件。


2)據我所知:當觸發圍欄時,你只能得到圍欄鍵。 所以答案是否定的。 但你可以制作一個getBeaconState() - 請求,看看你附近有哪些信標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM