Danh bạ

Danh bạ cho phép Glassware của bạn nhận được các mục trên dòng thời gian mà Glassware không tạo ra. Người dùng phải chia sẻ rõ ràng mục trong dòng thời gian với người liên hệ của bạn bằng cách nhấn vào mục trong trình đơn Chia sẻ của thẻ.

Cách hoạt động

Sau khi bạn tạo một người liên hệ chia sẻ, việc chia sẻ thẻ dòng thời gian sẽ tuân theo quy trình chung này:

  1. Tạo một người liên hệ và xác định loại MIME mà người liên hệ đó hỗ trợ.
  2. Chèn mục liên hệ đó vào dòng thời gian của người dùng.
  3. Người dùng nhận được một mục trong dòng thời gian có mục trong trình đơn Chia sẻ. Glassware phải cho phép người dùng chia sẻ rõ ràng các mục của họ với mục này trong trình đơn.
  4. Người dùng nhấn vào mục dòng thời gian, chọn mục trong trình đơn Chia sẻ rồi chọn người liên hệ của bạn.
  5. API phản chiếu tạo một bản sao của thẻ dòng thời gian được chia sẻ, cấp cho người liên hệ của bạn quyền truy cập vào bản sao và chèn bản sao đó vào dòng thời gian của người dùng. Glassware của bạn không thể truy cập vào mục dòng thời gian ban đầu.
  6. Nếu đăng ký để chia sẻ thông báo, bạn sẽ nhận được gói dữ liệu chứa thông tin nhận dạng của thẻ dòng thời gian. Sau đó, bạn có thể truy xuất mục dòng thời gian bằng timeline.get.
  7. Bạn sửa đổi thẻ dòng thời gian đã chia sẻ và cập nhật thẻ dòng thời gian hiện tại bằng timeline.update.

Thời điểm nên sử dụng thành phần địa điểm của đơn vị liên kết

Theo mặc định, Glassware không thể truy cập các mục trong dòng thời gian mà Glassware không tạo ra, vì vậy, danh bạ cho phép Glassware chia sẻ dữ liệu của Glassware khi người dùng chưa đồng ý.

Glassware của bạn có thể sử dụng danh bạ theo hai cách chính:

  • Cho phép người dùng chia sẻ mục liên quan đến dòng thời gian của bạn với những người liên hệ khác: Thêm mục trình đơn tích hợp sẵn SHARE vào một thẻ dòng thời gian. Khi người dùng nhấn vào mục trong trình đơn chia sẻ, Glass sẽ hiển thị danh sách những người liên hệ có thể chia sẻ.

  • Cho phép người dùng chia sẻ các mục trên dòng thời gian với Glassware: Tạo một người liên hệ đại diện cho Glassware của bạn. Khi người dùng muốn chia sẻ thẻ dòng thời gian, người liên hệ của bạn sẽ xuất hiện dưới dạng tùy chọn. Bạn cũng có thể khai báo danh sách các loại MIME được chấp nhận để liên hệ của bạn chỉ xuất hiện cho các thẻ mà bạn quan tâm. Để nhận thông báo khi người dùng chia sẻ thẻ trên dòng thời gian với người liên hệ của bạn, bạn có thể đăng ký nhận thông báo về dòng thời gian.

Tạo người liên hệ

Để cho phép người dùng chia sẻ các mục trong dòng thời gian với Glassware, hãy chèn một người liên hệ bằng cách POST bản trình bày JSON của một người liên hệ vào điểm cuối REST.

Tất cả người liên hệ phải chỉ định một id để nhận dạng người liên hệ đó trên Glassware khi nhận thông báo. Bạn cũng phải chỉ định displayName và ít nhất một imageUrls mà Glass sử dụng để hiển thị thông tin liên hệ cho người dùng.

HTTP thô

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
}

Đăng ký nhận thông báo về việc chia sẻ

Mirror API cho phép bạn đăng ký các thông báo được gửi khi người dùng thực hiện hành động cụ thể trên Mục dòng thời gian hoặc khi vị trí người dùng đã được cập nhật. Khi đăng ký một thông báo, bạn sẽ cung cấp một URL gọi lại để xử lý thông báo đó.

Một thông báo từ Mirror API được gửi dưới dạng yêu cầu POST đến điểm cuối đã đăng ký chứa nội dung yêu cầu JSON.

HTTP thô

{
  "collection": "timeline",
  "itemId": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg",
  "operation": "INSERT",
  "userToken": "harold_penguin",
  "verifyToken": "random_hash_to_verify_referer",
  "userActions": [
    {
      "type": "SHARE"
    }
  ]
}

Thuộc tính itemIdID của mục trong dòng thời gian được chia sẻ, và bạn có thể dùng thuộc tính này cùng với timeline.get để lấy mục dòng thời gian. Ví dụ sau đây minh họa một mục dòng thời gian điển hình có tệp đính kèm là ảnh:

{
  "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>"
          ]
      }
  ]
}

Dịch vụ của bạn phải phản hồi API bằng mã trạng thái HTTP 200 OK nếu không có lỗi xảy ra. Nếu dịch vụ của bạn phản hồi bằng mã lỗi, API Mirror có thể thử gửi lại thông báo cho dịch vụ của bạn.

Nhận bản chép lời

Người dùng có thể chia sẻ lời nói được chép lời với người liên hệ của bạn thông qua trình đơn thoại chính. Hiện có hai lệnh thoại mà người liên hệ của bạn có thể sử dụng:

  • "Ghi chú"
  • "đăng thông tin cập nhật"

Ví dụ: người dùng có thể cho chúng tôi biết về ngày sinh nhật sắp tới của Chipotle với cụm từ: "Ok Glass... hãy đăng nội dung cập nhật lên... Phát trực tuyến của mèo... Ngày mai là sinh nhật của Chipotle!"

Cách sử dụng lệnh thoại:

  1. Chỉ định thuộc tính acceptCommands bằng type thích hợp:

    {
      ...
    
      "displayName": "Cat Stream",
      "id": "CAT_STREAM",
      "acceptCommands": [
        {"type": "POST_AN_UPDATE"}
      ]
    }
    
  2. Đăng ký nhận thông báo về dòng thời gian để nhận thông báo về bản chép lời có sẵn cho bản chép lời. Glassware của bạn sẽ nhận được thông báo khi điều này xảy ra:

    {
      "collection": "timeline",
      "operation": "UPDATE",
      "userToken": "<USER_TOKEN>",
      "verifyToken": "<VERIFY_TOKEN>",
      "itemId": "<ITEM_ID>",
      "userActions": [
        {"type": "LAUNCH"}
      ]
    }
    
  3. Sử dụng itemId để tìm nạp mục trong dòng thời gian:

    {
      "id": "<ITEM_ID>",
      "text": "Chipotle's birthday is tomorrow",
      "recipients": [
        {"id": "CAT_STREAM"}
      ]
    }
    
  4. Nếu có nhiều Glassware đăng ký một liên hệ bằng cùng một lệnh thoại, Glass sẽ hiển thị trình đơn cấp hai hiển thị displayName của từng liên hệ. Sau đó, người dùng có thể nói liên hệ của mình. Nếu displayName của địa chỉ liên hệ của bạn chứa các ký tự không được phát âm hoặc không theo phiên âm, hãy sử dụng thuộc tính speakableName để khai báo cách phát âm dự kiến cho địa chỉ liên hệ chia sẻ.

Phụ đề cho ảnh được chia sẻ

Người dùng có thể chia sẻ ảnh với Glassware của bạn bằng một chú thích đi kèm mà họ nhập bằng giọng nói. Quy trình chung của người dùng là:

  1. Người dùng nhấn vào một mục trên dòng thời gian chứa ảnh, chọn mục trong trình đơn Chia sẻ rồi chọn mục liên hệ của bạn.
  2. Người dùng nhấn lại trong một khoảng thời gian ngắn để thêm chú thích vào ảnh.
  3. Người dùng nói phụ đề.
  4. Mục dòng thời gian được chia sẻ với Glassware như bạn đã mô tả trước đó trong phần Cách chúng hoạt động. Ngoài ra, thuộc tính text của mục trên dòng thời gian được đặt bằng phụ đề chép lời của người dùng.