รายชื่อติดต่อ

รายชื่อติดต่อช่วยให้ Glassware ได้รับรายการไทม์ไลน์ที่ไม่ได้สร้าง ผู้ใช้ต้องแชร์รายการลำดับเวลากับผู้ติดต่อของคุณอย่างชัดแจ้งโดยแตะที่การ์ด รายการในเมนูแชร์

วิธีการทำงาน

เมื่อสร้างรายชื่อติดต่อสำหรับการแชร์แล้ว การแชร์การ์ดไทม์ไลน์จะเป็นไปตามขั้นตอนทั่วไปนี้

  1. สร้างรายชื่อติดต่อและกำหนดประเภท MIME ที่รายชื่อติดต่อของคุณรองรับ
  2. แทรกรายชื่อติดต่อลงในไทม์ไลน์ของผู้ใช้
  3. ผู้ใช้ได้รับรายการในไทม์ไลน์ที่มีรายการในเมนูแชร์ เครื่องแก้วต้องอนุญาตให้ผู้ใช้แชร์รายการกับรายการในเมนูนี้อย่างชัดแจ้ง
  4. ผู้ใช้แตะรายการในไทม์ไลน์ เลือกรายการในเมนูแชร์ แล้วเลือกรายชื่อติดต่อของคุณ
  5. Mirror API จะสร้างสําเนาของการ์ดไทม์ไลน์ที่แชร์ ให้สิทธิ์ผู้ติดต่อเข้าถึงสําเนา และแทรกสําเนาดังกล่าวลงในไทม์ไลน์ของผู้ใช้ Glassware ของคุณไม่สามารถเข้าถึงรายการไทม์ไลน์เดิม
  6. หากคุณ ได้สมัครรับการแจ้งเตือนการแชร์ไว้ คุณจะได้รับเพย์โหลดที่มีข้อมูลระบุตัวตนของการ์ดไทม์ไลน์ จากนั้นคุณสามารถดึงข้อมูลรายการในไทม์ไลน์ด้วย Timeline.get
  7. คุณแก้ไขการ์ดไทม์ไลน์ที่แชร์และอัปเดตการ์ดไทม์ไลน์ที่มีอยู่ ด้วย Timeline.update

ควรใช้ในกรณีใด

โดยค่าเริ่มต้น Glassware ไม่สามารถเข้าถึงรายการลำดับเวลาที่ Glassware ไม่ได้สร้างขึ้น ดังนั้นผู้ติดต่ออนุญาตให้ Glassware แชร์ข้อมูล Glassware โดยต้องได้รับความยินยอมจากผู้ใช้

วิธีที่ Glassware สามารถใช้รายชื่อติดต่อมี 2 วิธีหลักๆ ดังนี้

  • อนุญาตให้ผู้ใช้แชร์รายการในไทม์ไลน์ของคุณกับผู้ติดต่อรายอื่นๆ: เพิ่มแอตทริบิวต์ รายการในเมนูในตัว SHARE รายการ ลงในการ์ดไทม์ไลน์ เมื่อผู้ใช้แตะรายการในเมนูแชร์ Glass จะแสดงรายการ ของรายชื่อติดต่อที่เป็นไปได้ที่จะแชร์ด้วย

  • อนุญาตให้ผู้ใช้แชร์รายการในไทม์ไลน์กับ 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 รายการที่ผู้ที่คุณติดต่อใช้ได้อยู่ ได้แก่

  • "จดบันทึก"
  • "โพสต์การอัปเดต"

เช่น ผู้ใช้สามารถบอกเราเกี่ยวกับ กำลังจะถึงวันเกิดโดยมีวลี "Ok Glass... โพสต์อัปเดตถึง... สตรีมแมว... พรุ่งนี้วันเกิด Chipotle แล้ว"

วิธีใช้คำสั่งเสียง

  1. ระบุ acceptCommands พร้อม type:

    {
      ...
    
      "displayName": "Cat Stream",
      "id": "CAT_STREAM",
      "acceptCommands": [
        {"type": "POST_AN_UPDATE"}
      ]
    }
    
  2. ติดตามการแจ้งเตือนไทม์ไลน์ เพื่อรับการแจ้งเตือนว่ามีข้อความถอดเสียงให้ใช้งาน เครื่องแก้วของคุณจะได้รับ การแจ้งเตือนเมื่อเกิดเหตุการณ์นี้ขึ้น:

    {
      "collection": "timeline",
      "operation": "UPDATE",
      "userToken": "<USER_TOKEN>",
      "verifyToken": "<VERIFY_TOKEN>",
      "itemId": "<ITEM_ID>",
      "userActions": [
        {"type": "LAUNCH"}
      ]
    }
    
  3. ใช้ itemId เพื่อดึงข้อมูลรายการในไทม์ไลน์

    {
      "id": "<ITEM_ID>",
      "text": "Chipotle's birthday is tomorrow",
      "recipients": [
        {"id": "CAT_STREAM"}
      ]
    }
    
  4. หากมี Glassware มากกว่า 1 รายการลงทะเบียนรายชื่อติดต่อด้วยคำสั่งเสียงเดียวกัน Glass แสดงเมนูระดับที่ 2 ซึ่งแสดงให้เห็น displayName ของรายชื่อติดต่อแต่ละรายการ จากนั้นผู้ใช้จะสามารถพูดผู้ติดต่อที่ตนเลือก หากรายชื่อติดต่อของคุณ displayName มี อักขระที่ออกเสียงไม่ได้หรือไม่ใช่การออกเสียง ให้ใช้ พร็อพเพอร์ตี้ speakableName เพื่อประกาศการออกเสียงที่คาดไว้สำหรับรายชื่อติดต่อที่แชร์

คำบรรยายภาพสำหรับรูปภาพที่แชร์

ผู้ใช้สามารถแชร์รูปภาพกับ Glassware ของคุณได้ด้วย คำบรรยายที่ผู้ใช้ป้อนด้วยเสียงพูด ขั้นตอนการใช้งานทั่วไปของผู้ใช้มีดังนี้

  1. ผู้ใช้แตะรายการไทม์ไลน์ที่มีรูปภาพ แล้วเลือกแชร์ รายการในเมนู แล้วเลือกรายชื่อติดต่อของคุณ
  2. ผู้ใช้แตะอีกครั้งภายในช่วงเวลาสั้นๆ เพื่อเพิ่มคำบรรยายลงใน รูปภาพ
  3. ผู้ใช้พูดคำบรรยาย
  4. รายการไทม์ไลน์จะแชร์กับ Glassware ของคุณตามที่อธิบายไว้ก่อนหน้านี้ใน วิธีการทำงาน นอกจากนี้ พร็อพเพอร์ตี้ text ของรายการไทม์ไลน์คือ ตั้งค่าด้วยคำบรรยายที่ผู้ใช้แปล