簡體   English   中英

嘗試使用鄰近信標API注冊Estimote iBeacon

[英]Trying to register Estimote iBeacon with Proximity Beacon API

我有一個處於iBeacon模式的Estimote Beacon。 以前,我嘗試注冊Edddystone,並成功完成了注冊。 現在,我正在嘗試將其注冊到Google Proximity Beacon API。 但它會發出一條錯誤消息,顯示為無效的AdvertisedId id字節長度。

"error": {
    "code": 400,
    "message": "Invalid AdvertisedId id bytes length",
    "status": "INVALID_ARGUMENT"
    }

我希望知道如何解析掃描記錄,以便AdvertisedId的長度正確。 如果還有其他更改,請告訴我。

您是否以Base64編碼的原始字節字符串形式傳遞AdvertisedId? 請注意AdvertisedIdProximity API文檔中的這一部分:

base64編碼應為二進制字節流,而不是其任何文本(例如十六進制)表示。

以下是使用交互式Ruby解釋器獲取此類字符串的方法:

irb(main):039:0> uuid = 'B9407F30-F5F8-466E-AFF9-25556B57FE6D'
=> "B9407F30-F5F8-466E-AFF9-25556B57FE6D"
irb(main):040:0> major = 123
=> 123
irb(main):041:0> minor = 456
=> 456
irb(main):047:0> raw_bytes = [uuid.gsub('-', ''), major, minor].pack('H*SS')
=> "\xB9@\x7F0\xF5\xF8Fn\xAF\xF9%UkW\xFEm{\x00\xC8\x01"
irb(main):048:0> require 'base64'
=> true
irb(main):049:0> Base64.encode64(raw_bytes).strip
=> "uUB/MPX4Rm6v+SVVa1f+bXsAyAE="

最后一個字符串是您需要傳遞的。

檢查您的ID是否有效。advertisedId的ID將是直接從二進制格式編碼的iBeacon UUID + major + minor base64的20個字節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM