2015-07-23 13 views
7

dokumentacja API Google bliskość Beacon wykorzystuje Eddystone jako przykład wszędzie:Google Beximity Beacon API: jak zarejestrować iBeacon?

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

Jednak documentation mentions two more types of beacons, AltBeacon i iBeacon.

Jeśli dobrze rozumiem, coś jak to powinno być stosowane (adaptacja przykład Google):

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

Jednak to, co jest dopuszczalne w formacie binarnym dla UUID iBeacon'S, dur-moll (która powinna być base64' re)?

+0

Dobre pytanie. Czy próbowałeś połączyć identyfikator UUID/major/minor (ze spacjami, przecinkami lub podkreśleniami) i kodowanie Base64? – davidgyoung

+0

Według dokumentów powinna być binarna (bajty), więc spacje itp. Nie wchodzą w grę. Nie, jeszcze nie próbowałem. To pytanie jest w nadziei, że ktoś wie. Opublikuję odpowiedź, jeśli/kiedy się dowiem. –

Odpowiedz

8

Identyfikator advertisedId będzie 20 bajtami UUID iBeacon + major + minor base64 zakodowanymi bezpośrednio z postaci binarnej. (tj. nie drukuj go jako szesnastkowy lub tekst pierwszy przed kodowaniem base64.) Wystarczy wziąć obiekt typu blob i bazę64).

W przeciwnym razie Twoja prośba wygląda prawidłowo!

+0

Czy mógłbyś wyjaśnić nieco więcej szczegółów? Testuję ten interfejs API na placu zabaw OAuth, więc muszę podać treść żądania w tekście. Jak uzyskać dostęp do identyfikatora UUID, większego i mniejszego, do podanych bajtów? – Mathijs

+0

Chłopcze, to będzie trudne przez plac zabaw - musisz zdobyć UUID i-beone, główny + mniejszy, a następnie połączyć je wszystkie, przekonwertować je na wynik binarny, a następnie base64. Najlepiej zrobić to przy pomocy skryptu PHP lub Node. – MarcWan

+0

OK Mogę to wypróbować. Dzięki! Tak więc bez spacji i separatorów? Podobnie jak 9D07149D23D54B30BA5A5214346460AF111222 dla głównych 111 i mniejszych 222? Skąd Google wie, że major nie jest 1112 a mniejszy 22? – Mathijs