我已按照https://codelabs.developers.google.com/codelabs/hello-beacons/的Hello Beacon应用教程中列出的十个步骤进行操作。在构建期间不会抛出任何错误。唯一的问题是Hello Beacon应用程序未检测到虚拟信标(使用Beacon Simulator应用程序)。我知道问题不在于信标模拟器,因为它会被谷歌的信标工具应用程序检测到。
我认为代码没有任何问题,因为我完全没有偏离地遵循教程。但是,代码和google开发人员控制台中有一些区域必须定义参数。我怀疑这可能导致这个问题:
我不确定我是否定义过" some_namespace"," some_type"正确。
SubscribeOptions options = new SubscribeOptions.Builder()
.setStrategy(Strategy.BLE_ONLY)
.setFilter(new MessageFilter.Builder()
.includeNamespacedType("some_namespace", "some_type").build())
.build();
以下是我尝试过的一些参数 -
“beacon-proximity-app”, “impdata”
“a72d91966ecd43888771”
(来自Beacon Simulator应用),“beacon-proximity-app/imdata”
(来自Beacon Tools应用)
“beacon-proximity-app/impdata”, “”
“beacon-proximity-app”, “string”
“a72d91966ecd43888771”
(来自Beacon Simulator应用),“beacon-proximity-app/string”
(来自Beacon Tools应用)
我还尝试使用和不使用
实现代码 .setFilter(new MessageFilter.Builder()
.includeNamespacedType("some_namespace", "some_type")
.build()
Google Developers Console - SHA1 fingerprint / API Key
我已将Android开发者控制台中创建的API密钥放在Android清单文件中:
<meta-data
android:name="com.google.android.nearby.messages.API_KEY"
android:value="API_key_placed_here" />
我不确定这是否是唯一需要放置API密钥的地方。
我希望社区能够帮助您解决这个问题。
答案 0 :(得分:0)
我终于开始工作了。唯一的问题是使用包名称和SHA1指纹在API密钥上设置的访问限制。删除后,Hello Beacons应用程序可以检测到我的模拟信标。
在可选步骤10中,我不确定导致错误的原因。是否与提供的包名称(com.google.android.gms.nearby.messages.samples.hellobeacons)或SHA1密钥有关?很难说。
希望这有帮助。