[英]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);
}
}
});
問題:
命名空間和類型是什么意思? 這些屬性是否都提供給所有BLE設備,我可以從我的信標中以某種方式讀取它們嗎? 或者這是Eddystone特有的東西嗎?
我可以使用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.