2015-07-23 9 views
7

Google'ın Yakınlık Beacon API belgeleri her yerde örnek olarak Eddystone kullanır:Google Yakınlık Beacon API: iBeacon'a nasıl kayıt olunur?

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

Ancak documentation mentions two more types of beacons, AltBeacon ve iBeacon. Doğru anladıysam,

, böyle bir şey kullanılmış (Google'ın örnekten uyarlanan) edilmelidir:

{ 
    "advertisedId": { 
    "type":"IBEACON", 
    "id":"base 64 of what???"}, 
    "status":"ACTIVE", 
    "latLng": { 
    "latitude": 51.4935657, 
    "longitude": -0.1465538 
    } 
} 

Ancak, ne base64' olmalıdır iBeacon en UUID Binbaşı, Minor (kabul edilebilir ikili biçimidir d)?

+0

İyi soru. UUID/major/minor (boşluk, virgül veya alt çizgi ile) ve bunu kodlayan Base64'i birleştirmeyi denediniz mi? – davidgyoung

+0

Dokümanlara göre, ikili (bayt) olmalı, bu yüzden boşluklar vb. Hayır, henüz denemedim. Bu soru, birinin bileceği umudda. Cevabını ne zaman bulacağımı söyleyeceğim. –

cevap

8

advertisedId'un kimliği, doğrudan ikili formdan kodlanan iBeacon UUID + major + minor base64'ün 20 bayt'ı olacaktır. (yani base64 kodlamasından önce ilk olarak hex veya text olarak yazdırmayın. Sadece blob ve base64'ü alın).

Aksi takdirde isteğiniz doğru görünüyor!

+0

Biraz daha ayrıntılı açıklar mısınız? Bu API'yi OAuth oyun alanında test ediyorum, bu yüzden istek gövdesini metne vermek zorundayım. Bahsettiğiniz baytlara UUID, major ve minor olmaktan nasıl yararlanabilirim? – Mathijs

+0

Çocuk, oyun alanından biraz zorlanacak - büyük bir minör olan bir iBeacon UUID almanız ve daha sonra hepsini tamamlamanız, bunları ikiliye dönüştürmeniz ve daha sonra sonuçları temel almanız gerekir. Bunu küçük bir PHP veya Node betiği ile yapmak için en iyisi. – MarcWan

+0

Tamam Bunu deneyebilirim. Teşekkürler! Yani boşluk veya ayırıcı olmadan concat? Büyük 111 ve minör 222 için 9D07149D23D54B30BA5A5214346460AF111222 gibi mi? Google, ana uzmanın 1112 ve reşit olmayan 22 olduğunu nasıl biliyor? – Mathijs