[英]Register Estimote Beacons (Eddystone) with Google's Proximity Beacon API
[英]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? 請注意AdvertisedId的Proximity 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.