繁体   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