Hello Beacons 应用未检测到虚拟信标(使用 Beacon Simulator 应用创建)
Hello Beacons app not detecting virtual beacon (created with Beacon Simulator app)
我已按照 https://codelabs.developers.google.com/codelabs/hello-beacons/ 上的 Hello Beacon 应用教程中概述的十个步骤进行操作。构建期间没有抛出任何错误。唯一的问题是 Hello Beacon 应用程序未检测到虚拟信标(使用 Beacon Simulator 应用程序)。我知道问题不在于信标模拟器,因为信标工具应用程序 Google.
检测到它
我不认为代码有任何问题,因为我完全按照教程没有偏差。但是,代码和 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()
- 我不确定 运行 生成 SHA1 指纹的命令在哪里,因为我不完全理解它的用途。我尝试从 .android 文件夹、hello beacons 文件夹和 JRE bin 文件夹生成它
Google Developers Console - SHA1 fingerprint / API Key
我已将在 Google Developers Console 创建的 API 密钥放在 Android Manifest 文件中:
<meta-data
android:name="com.google.android.nearby.messages.API_KEY"
android:value="API_key_placed_here" />
我不确定那是否是唯一需要放置 API 键的地方。
如果社区能提供任何帮助来解决此问题,我将不胜感激。
我终于让它工作了。唯一的问题是使用包名称和 SHA1 指纹在 API 密钥上设置的访问限制。删除后,Hello Beacons 应用程序可以检测到我的模拟信标。
在可选步骤 10 中,我不确定是什么原因导致了错误。它与提供的包名称 (com.google.android.gms.nearby.messages.samples.hellobeacons) 或 SHA1 密钥有关吗?很难说。
希望对您有所帮助。
我已按照 https://codelabs.developers.google.com/codelabs/hello-beacons/ 上的 Hello Beacon 应用教程中概述的十个步骤进行操作。构建期间没有抛出任何错误。唯一的问题是 Hello Beacon 应用程序未检测到虚拟信标(使用 Beacon Simulator 应用程序)。我知道问题不在于信标模拟器,因为信标工具应用程序 Google.
检测到它我不认为代码有任何问题,因为我完全按照教程没有偏差。但是,代码和 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()
- 我不确定 运行 生成 SHA1 指纹的命令在哪里,因为我不完全理解它的用途。我尝试从 .android 文件夹、hello beacons 文件夹和 JRE bin 文件夹生成它
Google Developers Console - SHA1 fingerprint / API Key
我已将在 Google Developers Console 创建的 API 密钥放在 Android Manifest 文件中:
<meta-data android:name="com.google.android.nearby.messages.API_KEY" android:value="API_key_placed_here" />
我不确定那是否是唯一需要放置 API 键的地方。
如果社区能提供任何帮助来解决此问题,我将不胜感激。
我终于让它工作了。唯一的问题是使用包名称和 SHA1 指纹在 API 密钥上设置的访问限制。删除后,Hello Beacons 应用程序可以检测到我的模拟信标。
在可选步骤 10 中,我不确定是什么原因导致了错误。它与提供的包名称 (com.google.android.gms.nearby.messages.samples.hellobeacons) 或 SHA1 密钥有关吗?很难说。
希望对您有所帮助。