รายชื่อติดต่อช่วยให้ Glassware ของคุณรับรายการในไทม์ไลน์ที่ไม่ได้สร้างขึ้นได้ ผู้ใช้ต้องแชร์รายการในไทม์ไลน์กับรายชื่อติดต่ออย่างชัดเจนโดยแตะรายการเมนู แชร์ ของการ์ด
วิธีการทำงาน
เมื่อสร้างรายชื่อติดต่อสำหรับการแชร์แล้ว การแชร์การ์ดในไทม์ไลน์จะเป็นไปตามขั้นตอนทั่วไปดังนี้
- สร้างรายชื่อติดต่อและกำหนดประเภท MIME ที่รายชื่อติดต่อนั้นรองรับ
- แทรกรายชื่อติดต่อลงในไทม์ไลน์ของผู้ใช้
- ผู้ใช้จะได้รับรายการในไทม์ไลน์ที่มีรายการเมนูแชร์ Glassware ต้องอนุญาตให้ผู้ใช้แชร์รายการของตนเองด้วยรายการเมนูนี้อย่างชัดเจน
- ผู้ใช้แตะรายการในไทม์ไลน์ เลือกรายการเมนูแชร์ แล้วเลือกรายชื่อติดต่อของคุณ
- Mirror API จะสร้างสำเนาของการ์ดในไทม์ไลน์ที่แชร์ ให้สิทธิ์เข้าถึงสำเนาแก่รายชื่อติดต่อของคุณ และแทรกสำเนาลงในไทม์ไลน์ของผู้ใช้ Glassware ของคุณจะเข้าถึงรายการในไทม์ไลน์เดิมไม่ได้
- หากคุณ สมัครรับข้อมูลการแจ้งเตือนการแชร์, คุณจะได้รับเพย์โหลดที่มีข้อมูลระบุตัวตนของการ์ดในไทม์ไลน์ จากนั้นคุณจะดึงข้อมูลรายการในไทม์ไลน์ด้วย Timeline.get ได้
- คุณแก้ไขการ์ดในไทม์ไลน์ที่แชร์และอัปเดตการ์ดในไทม์ไลน์ที่มีอยู่ ด้วย Timeline.update
ควรใช้ในกรณีใด
โดยค่าเริ่มต้น Glassware จะเข้าถึงรายการในไทม์ไลน์ที่ไม่ได้สร้างขึ้นไม่ได้ ดังนั้นรายชื่อติดต่อจึงช่วยให้ Glassware สามารถแชร์ข้อมูล Glassware กับ Glassware ได้ด้วยความยินยอมของผู้ใช้
Glassware ของคุณใช้รายชื่อติดต่อได้ 2 วิธีหลักๆ ดังนี้
อนุญาตให้ผู้ใช้แชร์รายการในไทม์ไลน์ของคุณกับรายชื่อติดต่ออื่นๆ: เพิ่มรายการเมนู
SHAREในตัว ลงในการ์ดในไทม์ไลน์ เมื่อผู้ใช้แตะรายการเมนูแชร์ Glass จะแสดงรายชื่อติดต่อที่เป็นไปได้เพื่อแชร์ด้วยอนุญาตให้ผู้ใช้แชร์รายการในไทม์ไลน์กับ Glassware ของคุณ: สร้างรายชื่อติดต่อ ที่เป็นตัวแทนของ Glassware เมื่อผู้ใช้ต้องการแชร์การ์ดในไทม์ไลน์ รายชื่อติดต่อของคุณจะปรากฏเป็นตัวเลือก นอกจากนี้ คุณยังประกาศรายการประเภท MIME ที่ยอมรับได้เพื่อให้รายชื่อติดต่อของคุณปรากฏเฉพาะในการ์ดที่คุณสนใจเท่านั้น หากต้องการรับการแจ้งเตือนเมื่อผู้ใช้แชร์การ์ดในไทม์ไลน์กับรายชื่อติดต่อของคุณ คุณสามารถสมัครรับข้อมูลการแจ้งเตือนในไทม์ไลน์ได้
การสร้างรายชื่อติดต่อ
หากต้องการอนุญาตให้ผู้ใช้แชร์รายการในไทม์ไลน์กับ Glassware ของคุณ ให้แทรก รายชื่อติดต่อโดย POST การแสดง JSON ของรายชื่อติดต่อไปยัง ปลายทาง REST สำหรับการแทรก
รายชื่อติดต่อทั้งหมดต้องระบุ id ซึ่งระบุรายชื่อติดต่อกับ Glassware ที่รับการแจ้งเตือน นอกจากนี้ คุณต้องระบุ displayName และ imageUrls อย่างน้อย 1 รายการ ซึ่ง Glass ใช้เพื่อแสดงข้อมูลรายชื่อติดต่อแก่ผู้ใช้
HTTP ดิบ
POST /mirror/v1/contacts HTTP/1.1
Authorization: Bearer {auth token}
Content-Type: application/json
Content-Length: {length}
{
"id": "harold"
"displayName": "Harold Penguin",
"iconUrl": "https://developers.google.com/glass/images/harold.jpg"
"priority": 7
}
การสมัครรับข้อมูลการแจ้งเตือนการแชร์
Mirror API ช่วยให้คุณ สมัครรับข้อมูลการแจ้งเตือน ที่จะส่งเมื่อผู้ใช้ดำเนินการบางอย่างกับ รายการในไทม์ไลน์ หรือเมื่อมีการอัปเดตตำแหน่งของผู้ใช้ เมื่อสมัครรับข้อมูลการแจ้งเตือน คุณจะต้องระบุ URL เรียกกลับที่จะประมวลผลการแจ้งเตือน
ระบบจะส่งการแจ้งเตือนจาก Mirror API เป็นคำขอ POST ไปยังปลายทางที่สมัครรับข้อมูลซึ่งมีเนื้อหาคำขอ JSON
HTTP ดิบ
{
"collection": "timeline",
"itemId": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg",
"operation": "INSERT",
"userToken": "harold_penguin",
"verifyToken": "random_hash_to_verify_referer",
"userActions": [
{
"type": "SHARE"
}
]
}
แอตทริบิวต์ itemId คือ ID ของรายการในไทม์ไลน์ที่แชร์ ซึ่งคุณใช้
กับ Timeline.get เพื่อรับรายการในไทม์ไลน์ได้
ตัวอย่างต่อไปนี้แสดงรายการในไทม์ไลน์ทั่วไปที่มีไฟล์แนบเป็นรูปภาพ
{
"id": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg",
"attachments": [
{
"contentType": "image/jpeg",
"id": "<ATTACHMENT_ID>"
}
],
"recipients": [
{
"kind": "glass#contact",
"source": "api:<SERVICE_ID>",
"id": "<CONTACT_ID>",
"displayName": "<CONTACT_DISPLAY_NAME>",
"imageUrls": [
"<CONTACT_ICON_URL>"
]
}
]
}
บริการของคุณต้องตอบกลับ API ด้วยรหัสสถานะ HTTP 200 OK หากไม่มีข้อผิดพลาดเกิดขึ้น
หากบริการของคุณตอบกลับด้วยรหัสข้อผิดพลาด Mirror API อาจพยายามส่งการแจ้งเตือนไปยังบริการของคุณอีกครั้ง
การรับข้อความถอดเสียง
ผู้ใช้สามารถแชร์ข้อความถอดเสียงกับรายชื่อติดต่อของคุณผ่านเมนูเสียงหลัก ปัจจุบันรายชื่อติดต่อของคุณใช้คำสั่งเสียงได้ 2 คำสั่ง ได้แก่
- "จดโน้ต"
- "โพสต์การอัปเดต"
ตัวอย่างเช่น ผู้ใช้สามารถบอกเราเกี่ยวกับวันเกิดที่กำลังจะมาถึงของ Chipotle ด้วยวลี "Ok Glass... โพสต์การอัปเดตไปยัง... Cat Stream... วันเกิดของ Chipotle คือพรุ่งนี้!"


วิธีใช้คำสั่งเสียง
ระบุพร็อพเพอร์ตี้
acceptCommandsด้วยtypeที่เหมาะสม:{ ... "displayName": "Cat Stream", "id": "CAT_STREAM", "acceptCommands": [ {"type": "POST_AN_UPDATE"} ] }สมัครรับข้อมูลการแจ้งเตือนในไทม์ไลน์เพื่อรับการแจ้งเตือนว่ามีข้อความถอดเสียงให้ใช้งาน Glassware ของคุณจะได้รับการแจ้งเตือนเมื่อเกิดเหตุการณ์นี้
{ "collection": "timeline", "operation": "UPDATE", "userToken": "<USER_TOKEN>", "verifyToken": "<VERIFY_TOKEN>", "itemId": "<ITEM_ID>", "userActions": [ {"type": "LAUNCH"} ] }ใช้
itemIdเพื่อดึงข้อมูลรายการในไทม์ไลน์{ "id": "<ITEM_ID>", "text": "Chipotle's birthday is tomorrow", "recipients": [ {"id": "CAT_STREAM"} ] }หาก Glassware มากกว่า 1 รายการลงทะเบียนรายชื่อติดต่อด้วยคำสั่งเสียงเดียวกัน Glass จะแสดงเมนูระดับที่ 2 ซึ่งแสดง
displayNameของรายชื่อติดต่อแต่ละรายการ จากนั้นผู้ใช้จะพูดชื่อรายชื่อติดต่อที่ต้องการได้ หากdisplayNameของรายชื่อติดต่อมี อักขระที่ออกเสียงไม่ได้หรือไม่เป็นไปตามหลักสัทศาสตร์ ให้ใช้พร็อพเพอร์ตี้speakableNameเพื่อประกาศการออกเสียงที่คาดหวังของรายชื่อติดต่อสำหรับการแชร์
คำบรรยายสำหรับรูปภาพที่แชร์
ผู้ใช้สามารถแชร์รูปภาพกับ Glassware ของคุณพร้อมคำบรรยายที่ป้อนด้วยเสียง ขั้นตอนทั่วไปของผู้ใช้มีดังนี้
- ผู้ใช้แตะรายการในไทม์ไลน์ที่มีรูปภาพ เลือกรายการเมนูแชร์ แล้วเลือกรายชื่อติดต่อของคุณ
- ผู้ใช้แตะอีกครั้งภายในระยะเวลาสั้นๆ เพื่อเพิ่มคำบรรยายลงในรูปภาพ
- ผู้ใช้พูดคำบรรยาย
- ระบบจะแชร์รายการในไทม์ไลน์กับ Glassware ของคุณตามที่อธิบายไว้ก่อนหน้านี้ใน
ส่วนวิธีการทำงาน นอกจากนี้ ระบบจะตั้งค่าพร็อพเพอร์ตี้
textของรายการในไทม์ไลน์ด้วยคำบรรยายที่ถอดเสียงของผู้ใช้