附近的消息API名称空间保留

时间:2016-11-09 20:17:48

标签: android ibeacon google-nearby

我正在尝试使用Firebase,附近消息和iBeacons实施信标扫描。我已经关注如何设置信标并启动了处理消息的服务的Googles文档。但我得到的唯一回应是:

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

我的命名空间类型为project-name-1234/room,数据为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);

这似乎是我的命名空间的一个问题,但我无法弄清楚它是什么。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

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

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