2015-07-23 16 views
7

del Google documentazione delle API di prossimità Beacon utilizza Eddystone come esempio in tutto il mondo:API Google Proximity Beacon: come registrare iBeacon?

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

Tuttavia, documentation mentions two more types of beacons, AltBeacon e IBeacon.

Se ho capito bene, qualcosa di simile deve essere usato (adattato da l'esempio di Google):

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

Tuttavia, ciò che è il formato binario accettabile per UUID di IBeacon, Maggiore, Minore (che dovrebbe essere base64' d)?

+0

Buona domanda. Hai provato a concatenare l'UUID/maggiore/minore (con spazi, virgole o caratteri di sottolineatura) e codifica Base64 che? – davidgyoung

+0

Secondo i documenti, dovrebbe essere binario (byte), quindi gli spazi, ecc. Sono fuori questione. No, non ho ancora provato. Questa domanda è nella speranza che qualcuno lo sappia. Pubblicherò la risposta se/quando lo scoprirò. –

risposta

8

L'id dello advertisedId corrisponderà ai 20 byte dell'UUID iBeacon + principale + minore base64 codificato direttamente dal modulo binario. (Ad esempio, non stamparlo come esadecimale o testo prima della codifica base64. Prendi solo il blob e base64).

Altrimenti la richiesta sembra giusta!

+0

Potresti spiegarci un po 'di più in dettaglio? Sto testando questa API nel parco giochi di OAuth, quindi devo fornire il corpo della richiesta nel testo. Come faccio ad avere un UUID, maggiore o minore rispetto ai byte che menzioni? – Mathijs

+0

Ragazzi, sarà un po 'duro per il parco giochi: dovrete ottenere un iBeacon UUID, il maggiore + minore, e quindi concatenarli tutti, convertirli in binario e poi fare base64 ai risultati. Meglio farlo con un piccolo script PHP o Node. – MarcWan

+0

Ok, posso provarlo. Grazie! Quindi concatenare senza spazi o separatori? Come 9D07149D23D54B30BA5A5214346460AF111222 per le principali 111 e minori 222? Come fa Google a sapere che il maggiore non è il 1112 e il minore 22? – Mathijs