Hello Beacons应用程序未检测到虚拟信标(使用Beacon Simulator应用程序创建)

时间:2017-03-26 06:53:15

标签: sha1 beacon eddystone google-nearby google-beacon-platform

我已按照https://codelabs.developers.google.com/codelabs/hello-beacons/的Hello Beacon应用教程中列出的十个步骤进行操作。在构建期间不会抛出任何错误。唯一的问题是Hello Beacon应用程序未检测到虚拟信标(使用Beacon Simulator应用程序)。我知道问题不在于信标模拟器,因为它会被谷歌的信标工具应用程序检测到。

我认为代码没有任何问题,因为我完全没有偏离地遵循教程。但是,代码和google开发人员控制台中有一些区域必须定义参数。我怀疑这可能导致这个问题:

  1. 我不确定我是否定义过" some_namespace"," some_type"正确。

    SubscribeOptions options = new SubscribeOptions.Builder() .setStrategy(Strategy.BLE_ONLY) .setFilter(new MessageFilter.Builder() .includeNamespacedType("some_namespace", "some_type").build()) .build();

  2. 以下是我尝试过的一些参数 -

    • “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()
    
    1. 我不知道在哪里运行命令来生成SHA1指纹因为我不完全理解它的用途。我已经尝试从.android文件夹,hello beacons文件夹和JRE bin文件夹
    2. 生成它

      Google Developers Console - SHA1 fingerprint / API Key

      1. 我已将Android开发者控制台中创建的API密钥放在Android清单文件中:

        <meta-data android:name="com.google.android.nearby.messages.API_KEY" android:value="API_key_placed_here" />

      2. 我不确定这是否是唯一需要放置API密钥的地方。

        我希望社区能够帮助您解决这个问题。

1 个答案:

答案 0 :(得分:0)

我终于开始工作了。唯一的问题是使用包名称和SHA1指纹在API密钥上设置的访问限制。删除后,Hello Beacons应用程序可以检测到我的模拟信标。

在可选步骤10中,我不确定导致错误的原因。是否与提供的包名称(com.google.android.gms.nearby.messages.samples.hellobeacons)或SHA1密钥有关?很难说。

希望这有帮助。