Google Proximity Beacon API:如何注册iBeacon?

Rom*_*usi 8 ibeacon google-beacon-platform

Google的Proximity Beacon API文档使用Eddystone作为示例:

https://developers.google.com/beacons/proximity/register

但是,文档提到了另外两种类型的信标,AltBeacon和iBeacon.

如果我理解正确,应该使用类似的东西(改编自谷歌的例子):

 {
  "advertisedId": {
   "type":"IBEACON",
   "id":"base 64 of what???"},
  "status":"ACTIVE",
  "latLng": {
     "latitude": 51.4935657,
     "longitude": -0.1465538
   }
}
Run Code Online (Sandbox Code Playgroud)

但是,对于iBeacon的UUID,Major,Minor(应该是base64'd),可接受的二进制格式是什么?

Mar*_*Wan 10

id advertisedId将是直接从二进制形式编码的iBeacon UUID + major + minor base64的20个字节.(即在base64编码之前不要先将其打印为十六进制或文本.只需使用blob和base64即可).

否则您的请求看起来正确!

  • 同样,二进制,所以20个字节:其中前16个是ibeacon uuid(二进制值),其中最后4个是主要/次要.主要和次要由apple定义为每个16位.一旦你有一个二进制缓冲区,你base64编码.因此,对于您的示例,您的UUID是(十六进制)9D07149D23D54B30BA5A5214346460AF,您的主要/次要是0x6f和0xde(111和222).你得到它们:9D07149D23D54B30BA5A5214346460AF006F00DE.转换为二进制,然后转换为base64,你会得到:'nQcUnSPVSzC6WlIUNGRgrwBvAN4 =' (5认同)