Android-seadmed võtavad kindlasti maailma üle. Google'i avatud lähtekoodiga platvormil töötavad tuhanded nutitelefonid, tahvelarvutid, nutitelerid ja veel terve hulk muid seadmeid. Pealegi on Google'i kantav arvutusstiimul tõstnud maailma täiesti uutesse kõrgustesse. Google Glass on seade, mis on väga lähedal tehnoloogiaga suhtlemise muutmisele. Juba pikka aega oleme kõndinud langetatud peaga ja vahtinud oma väikseid telefoniekraane. Google Glass aitab meil oma kantava tehnoloogiaga suheldes pead kergitada ja uhkelt kõndida.
Esiteks, Androidi arendus piirdus ainult Java-teadmisi omavate arendajatega. Suur arendajate kogukond ehitas muid platvorme kasutades suurepäraseid veebirakendusi ja neil oli Androidi arenduse kasutuselevõtmisega suuri raskusi. On mõned lähenemisviisid, mis arenesid hiljem ja pakkusid mingisugust platvormidevahelist arengut, andes jõudu taibukad veebiarendajad hakata Androidile rakendusi ehitama ilma Java ja Android SDK teadmisteta. Kuid kas poleks tore arendada Google Glassi jaoks uut programmeerimiskeelt õppimata ja isegi lihtsalt veebiarendajatele tavalisi teadmisi kasutades? Jah, see on võimalik!
Google pakkus pilvepõhiseid RESTful teenuseid, mis võimaldavad veebiarendajatel klaasnõusid ehitada, vaid suheldes Google'i hostitud ja hallatavate veebiteenustega. Need teenused kannavad nime Mirror API ja on arendusplatvormidel sõltumatud. Glass's Mirror API kasutamise alustamiseks ei pea teil isegi olema Google Glassi seadet, kuigi mõned täpsemad funktsioonid nõuavad, et teil see oleks.
Peate teadma ainult kahte asja:
See Google Glassi arendusõpetus tutvustab teid tehnikatest, mida saate kasutada Glassi rakenduste loomiseks.
Kui te pole ikka veel Google Glassi kasutanud, vaadake neid kahte videot, kuna need peaksid andma teile piisavalt teavet kasutajaliidese põhitõdede mõistmiseks.
Seadistamiseks ja navigeerimiseks on veelgi rohkem kasulikke videoid siin ja palju muud teavet kasutajaliidese kohta siin .
Mirror API ja. Vahel on palju erinevusi Google Glass'i emakeelne arendus . Selle õpetuse eesmärk pole arutleda nende erinevuste üle, vaid anda veebiarendajatele ülevaade sellest, kuidas Google Glass töötab ja kuidas nad võimalikult kiiresti pardale pääsevad.
Esimene ja kõige tähtsam on see, et ehitate tavalist veebirakendust. Teie rakendus töötab veebiserveris ja see ei suhtle kunagi otse Google Glassi seadmega. Selle asemel suhtleb teie rakendus Mirror API teenustega. Peegli API-põhised rakendused ei vaja klaasi enda installimist ja kõik teenused on juba osa Glass OS-ist.
Google Glassi seade käivitab oma sünkroonimisteenused, et sisu Mirror API kaudu oma rakendusse tagasi lükata või tagasi tõmmata.
Te ei saa mõjutada sagedust, millal Google Glass kontrollib Mirror API värskendusi, ja keskmise mehe omamine maksab. Selle arhitektuuri otsene tagajärg on see, et te ei saa reaalajas suhelda klaasi kasutajatega. Alati peaksite ootama toimingu taotlemise ja Glass-seadme tegeliku sündmuse vahel viivitust.
Mirror API kasutamiseks veebiarenduses peate määratlema rakenduse identiteedi Google Developers Console'is. Ava Google API-de konsool ja logige sisse oma Google'i kontoga.
Looge oma uus projekt; nimetagem seda 'Peegli API demo'
Järgmine asi, mida peate tegema, on lubada oma Glassi veebirakenduse jaoks Mirror API. Selleks klõpsake projekti ülevaatlehel nuppu „Luba API“, leidke loendist peegli API ja lülitage see sisse.
Järgmisena looge Glassi veebirakenduste kliendi ID. Selleks klõpsake lihtsalt ekraanil Mandaadid nuppu „Loo uus kliendi ID”.
Märge : Teil võidakse paluda täita üksikasjad „Nõusoleku ekraan“. Selle vormi andmed esitatakse kasutajale teie rakendusele juurdepääsu lubamisel.
Testime peegli API-d Google Glass Playgroundi abil. Mänguväljaku lubamiseks peate volitama https://mirror-api-playground.appspot.com HTTP-päringute kehtiva lähtepunktina. Me ei kasuta selles demos OAuthi ümbersuunamist, seega võite väljale „Suunata URI-d” jätta kõik.
Klõpsake nuppu „Loo kliendi ID“ ja olete valmis esitama oma esimese Peegli API taotluse.
Tähtis : Ärge eksitage oma Mirror API arendajakontot Google Glasi omaniku kontoga. Võite seda harjutust teha ainult ühe kontoga, mis on arendaja ja Glassi omanik, kuid on oluline olla teadlik nende kahe konto eraldamisest.
Iga teie Windowsi veebirakendusest Mirror API-le saadetud HTTP-päring peab olema autoriseeritud. Mirror API kasutab standardset „Kandja autentimist”, mis tähendab, et peate iga taotlusega lisama märgi. Märgi annab välja Google API, kasutades standardset OAuth 2.0 protokolli.
Google Glassi mänguväljak võimaldab teil katsetada, kuidas sisu klaasil kuvatakse. Selle abil saate oma klaasile sisu lükata, kuid isegi kui teil pole seadet, näete, kuidas see klaasiekraanil välja näeb.
Peegli API mänguväljak asub aadressil see URL .
Oleme juba lubanud peegli API Playground lõpp-punkti kehtiva HTTP-päringu lähtepunktina. Mänguväljaku kasutamiseks peate oma kliendi ID esitades „tuvastama oma rakenduseks Mirror API Playgroundi”. Rakenduse kliendi ID leiate Google Developers Console'ist.
Kui klõpsate nupul „Volita”, kuvatakse teile OAuth 2.0 nõusolekukuva, mis on sarnane alloleva pildiga. Pange tähele, et peate sisse logima oma „Glass Owner“ kontot kasutades, kuna need on mandaadid, mida rakendus kasutab Glassiga suhtlemiseks.
Kui olete klõpsanud nupul „Nõustu”, tuvastatakse rakendus Mirror API Playground teie enda rakendusena; see saab juurdepääsu kasutaja klaasi ajaskaalale ja saate mänguväljakul suhelda Google Glassi seadmega.
Peegli API mänguväljak on täis eelnevalt määratletud malle, mida saate kasutada API proovimiseks. Sirvige loendit ja leidke näide, mis teile kõige rohkem meeldib. Selle demo jaoks valisin kaardi “Tere avastajad”.
Valitud üksust kuvatakse mänguväljakul koos selle vormingu koostamiseks kasutatud HTTP Request Body sisuga.
{ 'text': 'Hello Explorers,
Welcome to Glass!
+Project Glass
', 'creator': { 'displayName': 'Project Glass', 'imageUrls': [ 'https://lh3.googleusercontent.com/-quy9Ox8dQJI/T3xUHhub6PI/AAAAAAAAHAQ/YvjqA3Pw1sM/glass_photos.jpg?sz=360' ] }, 'menuItems': [ { 'action': 'REPLY' } ], 'notification': { 'level': 'DEFAULT' } }
Muutke julgelt taotlust ja kui olete kujundusega rahul, klõpsake nuppu „Lisa üksus”. Pärast taotluse töötlemist värskendatakse teie ajaskaala. Kui teil on Glass-seade, lisatakse üksus ka ajaskaalale.
Palju õnne! Te täitsite oma esimese Peegli API-päringu ja saatsite Google Glassile sõnumi, kirjutamata isegi ühtegi koodi.
Teeme asjad veidi huvitavamaks. Soovime eemaldada peegli API mänguväljaku ja panna oma kohale oma rakenduse.
Esiteks peame tagama, et Google API võtab vastu taotlusi meie rakendusest. Minge tagasi Google Developers Console'i ja lisage oma rakenduse URL volitatud JavaScripti päritolu loendisse. Kasutan http://localhost:3000
kuid saate seda oma seadistuste järgi muuta.
OAuth 2.0 päringu täitmiseks ja autoriseerimismärgi hankimiseks Google API-st kasutame Google API JavaScripti kliendikogu .
Looge järgmise sisuga lihtne HTML-leht, asendage kindlasti KLIENDI ID oma rakenduse ID-ga:
{{ title }} function auth() { var config = { 'client_id': ', 'scope': [ 'https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/glass.timeline', 'https://www.googleapis.com/auth/glass.location' ] }; gapi.auth.authorize(config, function () { console.log('login complete'); console.log(gapi.auth.getToken()); }); } Authorize
Rakenduse Google Glass käivitamisel (veenduge, et see töötab URL-il, mille määrasite Google Developers Console'is volitatud JavaScripti päritoluks) ja klõpsate nuppu „Luba”, käivitate voo OAuth 2.0. Logige sisse oma Google'i kontoga ja teie luba kuvatakse brauseri konsoolis.
Nüüd, oma relvaga relvastatud, olete valmis alustama Mirror API-sse postitamist! Teie luba aegub 60 minuti pärast, kuid see peaks olema demo lõpetamiseks rohkem kui piisav aeg. Alati saate uue loa, klõpsates uuesti nuppu „Volita”.
RESTful teenused ja HTTP-päringud on kõigi veebiarendajate seas levinud terminid, olenemata sellest, millist arendusplatvormi või programmeerimiskeelt nad kasutavad. Selle demo proovimiseks peate täitma standardsed HTTP-päringud Mirror API lõpp-punktide suunas. Valin kasutada Postimees selle jaoks. Võtke julgelt päringu üksikasjad ja rakendage Demo oma lemmik programmeerimiskeeles. Kasutage Postmani või mõnda muud HTTP-kliendi tööriista.
Glassile lükatud üksuste loendi saate alati hankida, käivitades HTTP GET-i https://www.googleapis.com/mirror/v1/timeline
-i.
Iga peegli API taotlus peab olema autoriseeritud. Volitusluba saadetakse väärtusena autoriseerimise HTTP päises, eesliitega sõna „Kandja“.
Postimehes näeks see välja umbes selline:
Kui täidate päringu, peaks vastus olema järgmine:
{ 'kind': 'mirror#timeline', 'nextPageToken': 'CsEBCqQBwnSXw3uyIAD__wAA_wG4k56MjNGKjJqN18bHzszIy8rMz8nIy9bRlouaktedxp2dyJrHmtLInsue0suZzZvSncvOxtLIyJnGnJyex57Px8zW_wD-__730HDTmv_7_v5HbGFzcy51c2VyKDk4MTM3NDUzMDY3NCkuaXRlbShiOWJiN2U4ZS03YTRhLTRmMmQtYjQxOS03N2Y5Y2NhOGEwODMpAAEQASG5sX4SXdVLF1AAWgsJsgPYYufX654QASAA8ISVfAE=', 'items': [ { 'kind': 'mirror#timelineItem', 'id': 'b9bb7e8e-7a4a-4f2d-b419-77f9cca8a083', 'selfLink': 'https://www.googleapis.com/mirror/v1/timeline/b9bb7e8e-7a4a-4f2d-b419-77f9cca8a083', 'created': '2014-11-04T19:11:07.554Z', 'updated': '2014-11-04T19:11:07.554Z', 'etag': '1415128267554', 'creator': { 'kind': 'mirror#contact', 'source': 'api:182413127917', 'displayName': 'Project Glass', 'imageUrls': [ 'https://lh3.googleusercontent.com/-quy9Ox8dQJI/T3xUHhub6PI/AAAAAAAAHAQ/YvjqA3Pw1sM/glass_photos.jpg?sz=360' ] }, 'text': 'Hello Explorers,
Welcome to Glass!
+Project Glass
', 'menuItems': [ { 'action': 'REPLY' } ], 'notification': { 'level': 'DEFAULT' } } ] }
Kui vaatate vastuse sisu, märkate, et see sisaldab mänguväljakult postitatud eset.
Uue üksuse loomiseks peate POSTi käivitama https://www.googleapis.com/mirror/v1/timeline
. Samuti peate määrama, et Content-Type
on application/json
ja esitage Authorization
päis, täpselt nagu eelmises näites.
Oletame, et oleme suured spordisõbrad ja meie lemmikvõistkond Tulnukad mängivad kiskjaid. Tahame kasutada Mirror API-d tulemuste saatmiseks kõigile fännidele.
Taotluse keha peaks välja nägema selline.
{ 'html': '
Aliens
0
miks c nii populaarne on
Predators
0
Final Score
', 'notification': { 'level': 'DEFAULT' } }
Ja Postimehe ekraan peaks olema sarnane sellega.
Taotluse täitmisel peaks Mirror API pakkuma sellele sarnast vastust.
{ kind: 'mirror#timelineItem', id: 'e15883ed-6ca4-4324-83bb-d79958258603', selfLink: https://www.googleapis.com/mirror/v1/timeline/e15883ed-6ca4-4324-83bb-d79958258603, created: '2014-11-04T19:29:54.152Z', updated: '2014-11-04T19:29:54.152Z', etag: '1415129394152', html: ' Aliens
0
Predators
0
Final Score
', notification: { level: 'DEFAULT' } }
Isegi kui teil pole Google Glassi, võite minna tagasi Mirror API mänguväljakule ja klõpsata nupul „Laadi ajaskaala üksused uuesti”. Te peaksite nägema kahte üksust täpselt nii, nagu need kuvatakse klaasiekraanil. Mõlemad üksused on loetletud, kui täidate esimese näite ja GET üksused.
Kui vaatate eelmise näite vastuse sisu, võite leida rea, mis on sarnane
id: 'e15883ed-6ca4-4324-83bb-d79958258603'
Peegli API määrab igale üksusele selle lisamisel globaalselt ainulaadse ID. See ID lisatakse vastusesse pärast POST-i käivitamist ja see lisatakse üksuse üksikasjadesse, kui käivitate GET ajaskaala üksuste loetlemiseks.
Oletame, et kiskjad asusid juhtima ja skoorisid. Punkti värskendamiseks peate täitma PUT väärtusele https://www.googleapis.com/mirror/v1/timeline
järgneb ID. Sarnane
https://www.googleapis.com/mirror/v1/timeline/e15883ed-6ca4-4324-83bb-d79958258603
Muutke üksuse sisu, et see kajastaks teie muudatust.
{ 'html': '
Aliens
0
Predators
1
Final Score
', 'notification': { 'level': 'DEFAULT' } }
Postimehe konfiguratsioon peaks välja nägema sarnane.
Pärast taotluse täitmist ja ajaskaala sisu kontrollimist peaksite märkama, et kiskjad juhivad 1: 0.
Siiani lükkasime sisu lihtsalt klaasi, ilma et kasutaja oleks vastastikuse suhtluse ja tagasiside saanud. Kahjuks ei saa te kasutajate tegevust simuleerida ja selle näite proovimiseks peate kasutama tõelist klaasiseadet.
Niisiis, mäng jätkub ja välismaalased skoorivad 1: 1. Tahame lubada mingisuguse funktsiooni 'Mulle meeldib', kus kasutajad saavad ajaskaala üksust vaadates teha lihtsaid toiminguid.
Esiteks peame lisama oma kaardile menüü, mis näitab skoori. Järgides eelmises näites toodud juhiseid, värskendage ajaskaala üksust järgmise sisuga:
{ 'html': '
Aliens
1
Predators
1
Final Score
', 'notification': { 'level': 'DEFAULT' }, 'menuItems':[ { 'action':'CUSTOM', 'id':'i_like', 'values':[ { 'displayName':'I Like!' } ] } ] }
Selle taotluse täitmisel näeb teie kasutaja, et tulemuseks on nüüd 1: 1. Kuid kui kasutaja klaasi klahvi koputab, kuvatakse menüü.
Kui puudutate nüüd valikut „Mulle meeldib”, ei juhtu midagi!
Olen juba maininud, et teie rakenduse ja Glassi seadme vahel on alati 'keskmine mees'. Kui valite „Mulle meeldib”, saadab Glass-seade teabe Mirror API-le, kuid te pole täpsustanud, kuhu Mirror API peaks selle teabe edastama.
See on koht Tellimused tuleb sisse. Kui kasutaja teie toimingu sooritab, peate Mirror API-lt märguannete saamiseks tellima.
Tellimuse loomiseks peate POSTi käivitama https://www.googleapis.com/mirror/v1/subscriptions
.
Taotluse keha peaks olema selline:
{ 'collection':'timeline', 'userToken':'toptal_test', 'operation': ['INSERT','UPDATE','DELETE'], 'callbackUrl': 'https://mirrornotifications.appspot.com/forward?url=' }
callbackUrl
sisaldab teie ümbersuunamise URL-i.
Märge : Peegli API nõuab URL-i jaoks SSL-krüptimist, kus sündmuste andmed edastatakse. Kuid testimiseks on Google esitanud puhverserveri aadressil https://mirrornotifications.appspot.com/forward
.
Peegli API käivitab POST-i teie tellimuses määratud URL-ile. Selle URL-i jaoks käitleja loomiseks peate kasutama eelistatud arenduskeskkonda. Esitasin lihtsa JavaScripti (NodeJS / ExpressJS) näidise, mis väljastab lihtsalt päringu sisu.
router.get('/notify', function(req, res) { console.log(req); res.send('OK'); });
Google Glass Mirror API on mitmes mõttes ainulaadne. Selle eesmärk on anda veebiarendajatele juurdepääs klaasi arendusele ilma igasuguste eeltingimusteta, see kuulub Glass OSi tuumikusse ja see ei tugine kolmandate osapoolte arendustööriistadele. Peegel-API-d haldab ja haldab täielikult Google ning see on osa Google API-platvormist, mis vabastab teid muredest seoses stabiilsuse ja mastaapsusega.
Kui olete veebiarendaja, kes pole kunagi Google Glassi kasutanud, vältisite tõenäoliselt Mirror API-st õppimist, kuna arvasite, et teil peab olema Glass-seade, või arvasite, et peate kulutama palju aega Google Glassi arendamise õppimisele. Loodan, et see peegli API õpetus aitas teil selle takistuse ületada ja andis teile tõuke, et veeta mõni minut seda tüüpi arendusi.
Kantav tehnoloogia on käes, Google Glass on selle piiril ja igal arendajal peaks olema võimalus sellest osa saada. Peegli API annab teile täpselt selle.
See artikkel annab teile tööriistad ja juhised oma rakenduse Mirror autentimiseks, Google Glassist andmete lugemiseks, Google Glassile andmete saatmiseks ja kasutajalt tagasiside saamiseks. Peegli API ja selle funktsioonide kohta lisateabe saamiseks külastage aadressi Peegli API juhendid .