0

我正在尝试使用 Firebase、Nearby Messages 和 iBeacons 实现信标扫描。我已经按照 Google 的文档介绍了如何设置信标并启动了处理消息的服务。但我得到的唯一回应是:

Message received: Message{namespace='__reserved_namespace', type='__i_beacon_id', content=[20 bytes]}

我的命名空间类型是project-name-1234/roomdata test。我订阅了这样的附近消息:

 MessageFilter messageFilter = new MessageFilter.Builder()
            .includeIBeaconIds(UUID, major, minor)
            .includeNamespacedType("project-name-1234/room", "test")
            .build();

 SubscribeOptions options = new SubscribeOptions.Builder()
            .setStrategy(Strategy.BLE_ONLY)
            .setFilter(messageFilter)
            .build();

 Nearby.Messages.subscribe(mGoogleApiClient, getPendingIntent(), options);

我的命名空间似乎有问题,但我不知道它是什么。

4

2 回答 2

2

使用IBeaconId.from(Message)解析您的消息。另请参阅https://developers.google.com/nearby/messages/android/get-beacon-messages,了解如何使用信标的端到端示例。

于 2016-11-10T04:53:50.837 回答
0

你确定你的命名空间是正确的吗?特别是“/房间”部分?我会说它应该是“project-name-1234”。

无论如何,我会尝试包含您项目中的所有消息,并查看您获得的名称空间:

MessageFilter messageFilter = new MessageFilter.Builder()
    .includeIBeaconIds(UUID, major, minor)
    .includeAllMyTypes()
    .build();

另请注意,信标必须在您在应用程序中连接时在同一个 Google 项目中注册。命名空间和类型的匹配是不够的。

于 2016-11-16T17:44:16.340 回答