บทช่วยสอน Mirror API: Google Glass สำหรับนักพัฒนาเว็บ
เผยแพร่แล้ว: 2022-03-11อุปกรณ์ Android กำลังครองโลกอย่างแน่นอน สมาร์ทโฟน แท็บเล็ต สมาร์ททีวีหลายพันเครื่อง และอุปกรณ์อื่นๆ ทั้งหมดขับเคลื่อนโดยแพลตฟอร์มโอเพ่นซอร์สของ Google ยิ่งไปกว่านั้น สิ่งจูงใจด้านการประมวลผลแบบสวมใส่ได้ของ Google กำลังผลักดันให้โลกก้าวไปอีกขั้น Google Glass เป็นอุปกรณ์ที่ใกล้เคียงกับการเปลี่ยนแปลงวิธีที่เราโต้ตอบกับเทคโนโลยี เป็นเวลานานมากแล้วที่เราเดินก้มหน้ามองหน้าจอโทรศัพท์เล็กๆ ของเรา Google Glass ช่วยให้เราเงยหน้าขึ้นและเดินอย่างภาคภูมิใจในขณะที่โต้ตอบกับเทคโนโลยีที่สวมใส่ได้ของเรา
ในตอนแรก การพัฒนา Android นั้นจำกัดเฉพาะนักพัฒนาที่มีความรู้เกี่ยวกับ Java เท่านั้น ชุมชนนักพัฒนาขนาดใหญ่กำลังสร้างเว็บแอปพลิเคชันที่ยอดเยี่ยมโดยใช้แพลตฟอร์มอื่น และประสบปัญหาอย่างมากในการนำการพัฒนา Android มาใช้ มีแนวทางสองสามวิธีที่พัฒนาขึ้นในภายหลังและให้การพัฒนาข้ามแพลตฟอร์มบางประเภท ซึ่งช่วยให้นักพัฒนาเว็บที่เชี่ยวชาญสามารถเริ่มสร้างแอปสำหรับ Android โดยไม่ต้องใช้ Java และ Android SDK แต่จะดีหรือไม่ที่จะพัฒนา Google Glass โดยไม่ต้องเรียนรู้ภาษาการเขียนโปรแกรมใหม่ หรือแม้แต่ใช้ความรู้ทั่วไปสำหรับนักพัฒนาเว็บ ใช่ เป็นไปได้!
Google ให้บริการ RESTful บนคลาวด์ที่ช่วยให้นักพัฒนาเว็บสร้าง Glassware ได้ เพียงแค่โต้ตอบกับบริการเว็บที่โฮสต์และจัดการโดย Google บริการเหล่านี้มีชื่อว่า Mirror API และเป็นอิสระบนแพลตฟอร์มการพัฒนา ในการเริ่มใช้ Mirror API ของ Glass คุณไม่จำเป็นต้องมีอุปกรณ์ Google Glass ด้วยซ้ำ แม้ว่าคุณสมบัติขั้นสูงบางอย่างจะต้องการให้คุณมี
มีเพียงสองสิ่งที่คุณต้องรู้:
- ดำเนินการตามคำขอ OAuth 2.0 และรับ Authentication Token
- ดำเนินการคำขอ HTTP ไปยังจุดสิ้นสุดที่กำหนดไว้ล่วงหน้า
บทแนะนำการพัฒนา Google Glass นี้จะแนะนำเทคนิคต่างๆ ที่คุณสามารถใช้เพื่อสร้างแอปพลิเคชันสำหรับ Glass
หากคุณยังไม่ได้ใช้ Google Glass ให้ดูวิดีโอทั้งสองนี้ เนื่องจากวิดีโอเหล่านี้จะให้ข้อมูลที่เพียงพอแก่คุณในการทำความเข้าใจพื้นฐานของอินเทอร์เฟซผู้ใช้
ข้อมูลเบื้องต้นเกี่ยวกับ Google Glass
วิธีใช้งาน Google Glass: เริ่มต้นใช้งาน
มีวิดีโอที่มีประโยชน์มากกว่าสำหรับการตั้งค่าและการนำทางที่นี่ และรายละเอียดเพิ่มเติมมากมายเกี่ยวกับอินเทอร์เฟซผู้ใช้ที่นี่
มีความแตกต่างมากมายระหว่าง Mirror API และการพัฒนา Google Glass ดั้งเดิม จุดประสงค์ของบทช่วยสอนนี้ไม่ใช่เพื่ออภิปรายเกี่ยวกับความแตกต่างเหล่านี้ แต่เพื่อให้นักพัฒนาเว็บได้รับข้อมูลเชิงลึกเกี่ยวกับวิธีการทำงานของ Google Glass และวิธีที่พวกเขาสามารถเข้าร่วมได้โดยเร็วที่สุด
Mirror API ทำงานอย่างไร
สิ่งแรกและสำคัญที่สุดคือ คุณกำลังสร้างเว็บแอปพลิเคชันมาตรฐาน แอปพลิเคชันของคุณจะทำงานบนเว็บเซิร์ฟเวอร์และจะไม่โต้ตอบกับอุปกรณ์ Google Glass โดยตรง แอปพลิเคชันของคุณจะโต้ตอบกับบริการ Mirror API แทน แอปพลิเคชันที่ใช้ Mirror API ไม่จำเป็นต้องติดตั้งใดๆ บนตัว Glass เอง และบริการทั้งหมดเป็นส่วนหนึ่งของ Glass OS แล้ว
อุปกรณ์ Google Glass จะเรียกใช้บริการซิงค์ของตัวเองเพื่อส่งหรือดึงเนื้อหากลับไปที่แอปพลิเคชันของคุณผ่าน Mirror API
คุณไม่สามารถส่งผลกระทบต่อความถี่ของเวลาที่ Google Glass ตรวจสอบการอัปเดตใน Mirror API และการมี "คนกลาง" มีค่าใช้จ่าย ผลที่ตามมาโดยตรงของสถาปัตยกรรมนี้คือคุณไม่สามารถโต้ตอบกับผู้ใช้ Glass แบบเรียลไทม์ได้ คุณควรคาดหวังให้เกิดความล่าช้าระหว่างคำขอสำหรับการดำเนินการกับเหตุการณ์จริงที่กำลังดำเนินการบนอุปกรณ์ Glass
การตั้งค่าและการตรวจสอบสิทธิ์
ในการใช้ Mirror API สำหรับการพัฒนาเว็บ คุณต้องกำหนดเอกลักษณ์ของแอปพลิเคชันบน Google Developers Console เปิดคอนโซล Google API และลงชื่อเข้าใช้ด้วยบัญชี Google ของคุณ
สร้างโครงการใหม่ของคุณ ตั้งชื่อมันว่า "การสาธิต Mirror API"
สิ่งต่อไปที่คุณต้องทำคือเปิดใช้งาน Mirror API สำหรับเว็บแอปพลิเคชัน Glass ของคุณ ในการทำเช่นนั้น ให้คลิกปุ่ม "เปิดใช้งาน API" ในหน้าภาพรวมของโครงการ ค้นหา Mirror API ในรายการและเปิดใช้งาน
จากนั้น สร้าง Client ID สำหรับเว็บแอปพลิเคชัน Glass ในการดำเนินการนี้ เพียงคลิกปุ่ม "สร้างรหัสลูกค้าใหม่" ในหน้าจอข้อมูลรับรอง
หมายเหตุ : คุณอาจถูกขอให้กรอกรายละเอียด "หน้าจอยินยอม" ข้อมูลในแบบฟอร์มนี้จะแสดงต่อผู้ใช้เมื่อให้สิทธิ์เข้าถึงแอปพลิเคชันของคุณ
เราจะทดสอบ Mirror API โดยใช้ Google Glass Playground ในการเปิดใช้งาน Playground คุณจะต้องอนุญาต https://mirror-api-playground.appspot.com เป็นแหล่งที่มาที่ถูกต้องสำหรับคำขอ HTTP เราจะไม่ใช้การเปลี่ยนเส้นทาง OAuth ในการสาธิตนี้ ดังนั้นคุณสามารถทิ้งอะไรก็ได้ไว้ในฟิลด์ "Redirect URI"
คลิก “สร้างรหัสลูกค้า” และคุณพร้อมที่จะส่งคำขอ Mirror API ครั้งแรกของคุณ
กำลังตรวจสอบแอปพลิเคชัน Mirror API
สำคัญ : อย่าเข้าใจผิดว่าบัญชีนักพัฒนา Mirror API ของคุณเป็นบัญชีเจ้าของ Google Glass คุณอาจทำแบบฝึกหัดนี้ด้วยบัญชีเดียวที่เป็นนักพัฒนาและเจ้าของ Glass แต่สิ่งสำคัญคือต้องตระหนักถึงการแยกบัญชีสองบัญชีนี้
ทุกคำขอ HTTP ที่ส่งจากเว็บแอปพลิเคชัน Glass ของคุณไปยัง Mirror API จะต้องได้รับอนุญาต Mirror API กำลังใช้ "Bearer Authentication" มาตรฐาน ซึ่งหมายความว่าคุณต้องจัดเตรียมโทเค็นสำหรับคำขอแต่ละรายการ โทเค็นออกโดย Google API โดยใช้โปรโตคอล OAuth 2.0 มาตรฐาน
- ผู้ใช้ (Glass Owner) จะเปิดหน้าเว็บในเว็บแอปพลิเคชันของคุณและคลิก "เข้าสู่ระบบ"
- แอปพลิเคชันของคุณจะออกคำขอไปยัง Google API และผู้ใช้จะได้รับหน้าจอแสดงความยินยอมที่สร้างโดย Google API (โดยปกติในหน้าจอป๊อปอัปใหม่)
- หากอนุญาตให้เข้าถึงแอปพลิเคชันของคุณ Google API จะออกโทเค็นที่คุณจะใช้สำหรับเรียก Mirror API
Mirror API Playground
Google Glass Playground ให้คุณทดลองวิธีแสดงเนื้อหาบน Glass คุณสามารถใช้เพื่อส่งเนื้อหาไปยัง Glass ของคุณได้ แต่ถึงแม้ว่าคุณจะไม่มีอุปกรณ์ คุณก็ยังสามารถเห็นลักษณะที่ปรากฏบนหน้าจอ Glass ได้
สามารถดู Mirror API Playground ได้ที่ URL นี้
เราได้อนุญาตปลายทาง Mirror API Playground เป็นแหล่งกำเนิดคำขอ HTTP ที่ถูกต้องแล้ว ในการใช้ Playground คุณจะต้อง "ระบุ Mirror API Playground เป็นแอปพลิเคชันของคุณ" โดยระบุรหัสลูกค้าของคุณ คุณสามารถค้นหา Client ID ของแอปพลิเคชันของคุณได้ที่ Google Developers Console
เมื่อคุณคลิก "อนุญาต" คุณจะเห็นหน้าจอยินยอม OAuth 2.0 คล้ายกับภาพด้านล่าง โปรดทราบว่าคุณควรเข้าสู่ระบบโดยใช้บัญชี "เจ้าของแก้ว" เนื่องจากเป็นข้อมูลประจำตัวที่แอปพลิเคชันจะใช้เพื่อโต้ตอบกับ Glass
หลังจากที่คุณคลิก "ยอมรับ" Mirror API Playground จะถูกระบุเป็นแอปพลิเคชันของคุณเอง จะเข้าถึงไทม์ไลน์ Glass ของผู้ใช้ และคุณจะสามารถโต้ตอบกับอุปกรณ์ Google Glass จาก Playground ได้
สวัสดีนักสำรวจแก้ว!
Mirror API Playground เต็มไปด้วยเทมเพลตที่กำหนดไว้ล่วงหน้า ซึ่งคุณสามารถใช้เพื่อลองใช้ API ได้ เลื่อนดูรายการและค้นหาตัวอย่างที่คุณชอบมากที่สุด สำหรับการสาธิตนี้ ฉันเลือกการ์ด “สวัสดีนักสำรวจ”
รายการที่เลือกจะแสดงใน Playground พร้อมกับเนื้อหาคำขอ HTTP ที่ใช้สร้างเลย์เอาต์
{ "text": "Hello Explorers,\n\nWelcome to Glass!\n\n+Project Glass\n", "creator": { "displayName": "Project Glass", "imageUrls": [ "https://lh3.googleusercontent.com/-quy9Ox8dQJI/T3xUHhub6PI/AAAAAAAAHAQ/YvjqA3Pw1sM/glass_photos.jpg?sz=360" ] }, "menuItems": [ { "action": "REPLY" } ], "notification": { "level": "DEFAULT" } }
ปรับเปลี่ยนคำขอได้ตามสบาย และเมื่อคุณพอใจกับการออกแบบแล้ว ให้คลิกปุ่ม "แทรกรายการ" หลังจากประมวลผลคำขอแล้ว “ไทม์ไลน์” ของคุณจะได้รับการอัปเดต หากคุณมีอุปกรณ์ Glass รายการจะถูกแทรกในไทม์ไลน์ด้วย
การเขียน Mirror API Web Application ของคุณเอง
ยินดีด้วย! คุณดำเนินการตามคำขอ Mirror API ครั้งแรกและส่งข้อความไปยัง Google Glass ของคุณ โดยไม่ต้องเขียนโค้ดใดๆ
มาทำให้สิ่งที่น่าสนใจขึ้นอีกหน่อย เราต้องการลบ Mirror API Playground และนำแอปพลิเคชันของเรามาแทนที่
อันดับแรก เราต้องมั่นใจว่า Google API จะยอมรับคำขอจากแอปพลิเคชันของเรา กลับไปที่ Google Developers Console และเพิ่ม URL ของแอปพลิเคชันของคุณในรายการ JavaScript Origins ที่ได้รับอนุญาต ฉันจะใช้ http://localhost:3000
แต่คุณสามารถแก้ไขสิ่งนี้เป็นการตั้งค่าของคุณเองได้
การรับ Authorization Token
ในการดำเนินการคำขอ OAuth 2.0 และรับโทเค็นการให้สิทธิ์จาก Google API เราจะใช้ไลบรารีไคลเอ็นต์ JavaScript ของ Google API
สร้างหน้า HTML อย่างง่ายด้วยเนื้อหาต่อไปนี้ อย่าลืมแทนที่ CLIENT ID ด้วย ID แอปพลิเคชันของคุณ:
<!DOCTYPE html> <html> <head> <title>{{ title }}</title> <link rel='stylesheet' href='/stylesheets/style.css' /> <script src="https://apis.google.com/js/client.js"></script> <script> function auth() { var config = { 'client_id': <YOUR APPLICATION 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()); }); } </script> </head> <body> <h1>{{ title }}</h1> <button>Authorize</button> </body> </html>
เมื่อคุณเริ่มแอปพลิเคชัน Google Glass (ตรวจสอบให้แน่ใจว่าแอปพลิเคชันนั้นทำงานบน URL ที่คุณระบุเป็นแหล่งที่มาของ JavaScript ที่ได้รับอนุญาตใน Google Developers Console) และคลิก "อนุญาต" คุณจะเริ่มโฟลว์ OAuth 2.0 เข้าสู่ระบบด้วยบัญชี Google ของคุณและโทเค็นของคุณจะแสดงในคอนโซลของเบราว์เซอร์
ตอนนี้ ติดอาวุธด้วยโทเค็นของคุณแล้ว คุณก็พร้อมที่จะเริ่มโพสต์ไปยัง Mirror API แล้ว! โทเค็นของคุณจะหมดอายุใน 60 นาที แต่นั่นน่าจะเกินเวลาพอที่จะทำให้การสาธิตเสร็จสิ้น คุณสามารถรับโทเค็นอื่นได้ตลอดเวลาโดยคลิก "อนุญาต" อีกครั้ง

บริการ RESTful และคำขอ HTTP เป็นข้อกำหนดทั่วไปสำหรับนักพัฒนาเว็บทั้งหมด ไม่ว่าพวกเขาจะใช้แพลตฟอร์มการพัฒนาหรือภาษาการเขียนโปรแกรมใดก็ตาม หากต้องการลองใช้การสาธิตนี้ คุณจะต้องดำเนินการคำขอ HTTP มาตรฐานไปยังปลายทาง Mirror API ฉันเลือกใช้บุรุษไปรษณีย์เพื่อการนี้ อย่าลังเลที่จะใช้รายละเอียดคำขอและใช้การสาธิตในภาษาการเขียนโปรแกรมที่คุณชื่นชอบ ใช้บุรุษไปรษณีย์หรือเครื่องมือไคลเอ็นต์ HTTP อื่นๆ
รับรายการไทม์ไลน์
คุณสามารถดึงข้อมูลรายการที่คุณพุชไปที่ Glass ได้ตลอดเวลาโดยเรียกใช้ HTTP GET ไปที่ https://www.googleapis.com/mirror/v1/timeline
ทุกคำขอที่มีต่อ Mirror API จะต้องได้รับอนุญาต โทเค็นการให้สิทธิ์จะถูกส่งเป็นค่าใน Authorization HTTP Header นำหน้าด้วยคำว่า "Bearer"
ในบุรุษไปรษณีย์จะมีลักษณะดังนี้:
หากคุณดำเนินการตามคำขอ การตอบกลับควรคล้ายกับสิ่งนี้:
{ "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,\n\nWelcome to Glass!\n\n+Project Glass\n", "menuItems": [ { "action": "REPLY" } ], "notification": { "level": "DEFAULT" } } ] }
หากคุณดูเนื้อหาของคำตอบ คุณจะสังเกตเห็นว่ามีรายการที่คุณโพสต์จาก Playground
การสร้างรายการใหม่
ในการสร้างรายการใหม่ คุณต้องดำเนินการ POST ไปที่ https://www.googleapis.com/mirror/v1/timeline
คุณจะต้องระบุว่า Content-Type
คือ application/json
และระบุส่วนหัวการให้ Authorization
เช่นเดียวกับในตัวอย่างก่อนหน้านี้
สมมติว่าเราเป็นแฟนตัวยงของกีฬา และทีมโปรดของเราที่ทีม Aliens กำลังเล่น The Predators เราต้องการใช้ Mirror API เพื่อส่งผลไปยังแฟน ๆ ทุกคน
ร่างกายที่ร้องขอควรมีลักษณะเช่นนี้
{ "html": "<article>\n <section>\n <div class=\"layout-two-column\">\n <div class=\"align-center\">\n <p>Aliens</p>\n <p class=\"text-x-large\">0</p>\n </div>\n <div class=\"align-center\">\n <p>Predators</p>\n <p class=\"text-x-large\">0</p>\n </div>\n </div>\n </section>\n <footer>\n <p>Final Score</p>\n </footer>\n</article>\n", "notification": { "level": "DEFAULT" } }
และหน้าจอบุรุษไปรษณีย์ควรจะประมาณนี้
เมื่อคุณดำเนินการตามคำขอ Mirror API ควรให้การตอบสนองในลักษณะนี้
{ 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: "<article>\ <section>\ <div class=\"layout-two-column\">\ <div class=\"align-center\">\ <p>Aliens</p>\ <p class=\"text-x-large\">0</p>\ </div>\ <div class=\"align-center\">\ <p>Predators</p>\ <p class=\"text-x-large\">0</p>\ </div>\ </div>\ </section>\ <footer>\ <p>Final Score</p>\ </footer>\ </article>\ ", notification: { level: "DEFAULT" } }
แม้ว่าคุณจะไม่มี Google Glass คุณสามารถกลับไปที่ Mirror API Playground แล้วคลิกปุ่ม "โหลดรายการไทม์ไลน์ซ้ำ" คุณควรเห็นสองรายการ เหมือนกับที่จะแสดงบนจอแก้ว ทั้งสองรายการจะถูกแสดงรายการหากคุณดำเนินการตัวอย่างแรกและรับรายการ
หากคุณดูเนื้อหาของคำตอบจากตัวอย่างก่อนหน้านี้ คุณจะพบบรรทัดที่คล้ายกับ
id: "e15883ed-6ca4-4324-83bb-d79958258603"
Mirror API จะกำหนด ID ที่ไม่ซ้ำกันทั่วโลกให้กับทุกรายการเมื่อถูกแทรก ID นี้จะรวมอยู่ในการตอบสนองหลังจากดำเนินการ POST และจะรวมอยู่ในรายละเอียดของรายการเมื่อคุณเรียกใช้ GET เพื่อแสดงรายการไทม์ไลน์
สมมุติว่า Predators ขึ้นนำและทำคะแนน ในการอัปเดตคะแนน คุณจะต้องดำเนินการ PUT ไปที่ https://www.googleapis.com/mirror/v1/timeline
ตามด้วย ID คล้ายกับ
https://www.googleapis.com/mirror/v1/timeline/e15883ed-6ca4-4324-83bb-d79958258603
แก้ไขเนื้อหาของรายการเพื่อให้สอดคล้องกับการเปลี่ยนแปลงของคุณ
{ "html": "<article>\n <section>\n <div class=\"layout-two-column\">\n <div class=\"align-center\">\n <p>Aliens</p>\n <p class=\"text-x-large\">0</p>\n </div>\n <div class=\"align-center\">\n <p>Predators</p>\n <p class=\"text-x-large\">1</p>\n </div>\n </div>\n </section>\n <footer>\n <p>Final Score</p>\n </footer>\n</article>\n", "notification": { "level": "DEFAULT" } }
การกำหนดค่าบุรุษไปรษณีย์ควรมีลักษณะเช่นนี้
หลังจากที่คุณดำเนินการตามคำขอ และตรวจสอบเนื้อหาของไทม์ไลน์ของคุณ คุณควรสังเกตว่า Predators เป็นผู้นำโดย 1:0
เมนูและการโต้ตอบกับผู้ใช้
จนถึงตอนนี้ เราแค่ส่งเนื้อหาไปที่ Glass โดยไม่มีการโต้ตอบหรือคำติชมจากผู้ใช้ ขออภัย คุณไม่สามารถจำลองการโต้ตอบของผู้ใช้ได้ และคุณจะต้องใช้อุปกรณ์ Glass จริงเพื่อลองใช้ตัวอย่างนี้
ดังนั้นเกมยังคงดำเนินต่อไปและเอเลี่ยนได้คะแนน 1:1 เราต้องการเปิดใช้งานฟังก์ชัน "ฉันชอบ" บางประเภท ซึ่งผู้ใช้จะสามารถดำเนินการอย่างง่าย ๆ ขณะดูรายการไทม์ไลน์ได้
อันดับแรก เราต้องเพิ่มเมนูที่แสดงคะแนนลงในการ์ดของเรา ทำตามขั้นตอนจากตัวอย่างก่อนหน้านี้ อัปเดตรายการไทม์ไลน์ด้วยเนื้อหาต่อไปนี้:
{ "html": "<article>\n <section>\n <div class=\"layout-two-column\">\n <div class=\"align-center\">\n <p>Aliens</p>\n <p class=\"text-x-large\">1</p>\n </div>\n <div class=\"align-center\">\n <p>Predators</p>\n <p class=\"text-x-large\">1</p>\n </div>\n </div>\n </section>\n <footer>\n <p>Final Score</p>\n </footer>\n</article>\n", "notification": { "level": "DEFAULT" }, "menuItems":[ { "action":"CUSTOM", "id":"i_like", "values":[ { "displayName":"I Like!" } ] } ] }
เมื่อคุณดำเนินการตามคำขอนี้ ผู้ใช้ของคุณจะเห็นว่าคะแนนได้รับการอัปเดตเป็น 1:1 แล้ว แต่เมื่อผู้ใช้แตะกระจก เมนูจะปรากฏขึ้น
ถ้าตอนนี้คุณแตะ "ฉันชอบ" จะไม่มีอะไรเกิดขึ้น!
ฉันได้กล่าวไปแล้วว่ามี "คนกลาง" อยู่ระหว่างแอปพลิเคชันและอุปกรณ์ Glass ของคุณอยู่เสมอ เมื่อคุณเลือก “ฉันชอบ” อุปกรณ์ Glass จะส่งข้อมูลไปยัง Mirror API แต่คุณไม่ได้ระบุตำแหน่งที่ Mirror API ควรส่งต่อข้อมูลนี้
นี่คือที่มาของ การสมัคร คุณต้องสมัครรับการแจ้งเตือนจาก Mirror API เมื่อผู้ใช้ของคุณดำเนินการ
ในการสร้างการสมัคร คุณต้องดำเนินการ POST ไปที่ https://www.googleapis.com/mirror/v1/subscriptions
เนื้อหาคำขอควรเป็นดังนี้:
{ "collection":"timeline", "userToken":"toptal_test", "operation": ["INSERT","UPDATE","DELETE"], "callbackUrl": "https://mirrornotifications.appspot.com/forward?url=<YOUR URL>" }
callbackUrl
มี URL เปลี่ยนเส้นทางของคุณ
หมายเหตุ : Mirror API ต้องการการเข้ารหัส SSL สำหรับ URL ที่มีการส่งต่อข้อมูลเหตุการณ์ อย่างไรก็ตาม เพื่อวัตถุประสงค์ในการทดสอบ Google ได้จัดเตรียมพร็อกซีไว้ที่ https://mirrornotifications.appspot.com/forward
Mirror API จะดำเนินการ POST ไปยัง URL ที่คุณระบุในการสมัครสมาชิก คุณจะต้องใช้สภาพแวดล้อมการพัฒนาที่คุณต้องการเพื่อสร้างตัวจัดการสำหรับ URL นั้น ฉันได้จัดเตรียมตัวอย่าง JavaScript (NodeJS/ExpressJS) อย่างง่ายที่จะส่งออกเนื้อหาคำขอ
router.get('/notify', function(req, res) { console.log(req); res.send("OK"); });
ปิด
Google Glass Mirror API มีเอกลักษณ์ในหลาย ๆ ด้าน ออกแบบมาเพื่อให้นักพัฒนาเว็บเข้าถึงการพัฒนา Glass โดยไม่ต้องมีข้อกำหนดเบื้องต้นใดๆ โดยรวมอยู่ในแกนหลักของ Glass OS และไม่พึ่งพาเครื่องมือการพัฒนาของบุคคลที่สาม Mirror API ได้รับการจัดการและดูแลอย่างสมบูรณ์โดย Google และเป็นส่วนหนึ่งของแพลตฟอร์ม Google API ซึ่งช่วยลดความกังวลใดๆ เกี่ยวกับความเสถียรและความสามารถในการปรับขนาด
หากคุณเป็นนักพัฒนาเว็บที่ไม่เคยใช้ Google Glass คุณอาจหลีกเลี่ยงการเรียนรู้เกี่ยวกับ Mirror API เพราะคุณคิดว่าคุณจำเป็นต้องมีอุปกรณ์ Glass หรือคุณคิดว่าคุณจะต้องใช้เวลามากมายในการเรียนรู้เกี่ยวกับการพัฒนา Google Glass ฉันหวังว่าบทช่วยสอน Mirror API นี้จะช่วยคุณทำลายอุปสรรคนั้น และให้คุณใช้เวลาสักครู่เพื่อดูการพัฒนาประเภทนี้
เทคโนโลยีที่สวมใส่ได้มาถึงแล้ว Google Glass อยู่ในขอบเขต และนักพัฒนาทุกคนควรมีโอกาสได้เป็นส่วนหนึ่ง Mirror API ให้สิ่งนั้นกับคุณอย่างแน่นอน
บทความนี้ให้เครื่องมือและคำแนะนำในการตรวจสอบสิทธิ์แอปพลิเคชัน Mirror API ของคุณ อ่านข้อมูลจาก Google Glass ส่งข้อมูลไปยัง Google Glass และรับคำติชมจากผู้ใช้ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Mirror API และคุณลักษณะต่างๆ โปรดไปที่คู่มือ Mirror API