聯絡人

聯絡人會讓您的 Glassware 接收未建立的時間軸項目。 使用者必須輕觸資訊卡, [共用] 選單項目。

運作方式

建立共用聯絡人後,如要分享時間軸資訊卡,請按照下列一般流程進行:

  1. 建立聯絡人並定義聯絡人支援的 MIME 類型。
  2. 將聯絡人插入使用者的時間軸。
  3. 使用者收到含有「Share」選單項目的時間軸項目。Glassware 必須明確允許使用者透過這個選單項目共用項目。
  4. 使用者輕觸時間軸項目,選取「分享」選單項目,然後選取聯絡人。
  5. Mirror API 會建立共用時間軸資訊卡的副本,將副本的存取權授予聯絡人,然後將副本插入使用者的時間軸。你的 Glassware 無法存取原始時間軸項目。
  6. 如果發生以下情況: 已訂閱共享通知, 您會收到含有時間軸資訊卡識別資訊的酬載。 接著,您可以使用 Timeline.get
  7. 您修改共用時間軸資訊卡,並更新現有的時間軸資訊卡 Timeline.update

使用時機

根據預設,Glasware 無法存取非由 Glassware 建立的時間軸項目, 因此聯絡人允許 Glassware 在經過使用者同意的情況下分享 Glassware 資料。

Glassware 使用聯絡人的方式主要有兩種:

  • 允許使用者與其他聯絡人分享時間軸項目:新增 SHARE 個內建選單項目 或是時間軸資訊卡當使用者輕觸分享選單項目時,Glass 就會顯示一份清單 允許分享的聯絡人數量

  • 允許使用者與 Glassware 分享時間軸項目:建立聯絡人 代表您的 Glassware。當使用者想分享時間軸資訊卡時,您的 會出現一個選項。您也可以宣告 系統接受的 MIME 類型 ,這樣聯絡人就只會顯示在您感興趣的資訊卡上。 如要在使用者與聯絡人分享時間軸資訊卡時收到通知,您可以 訂閱時間軸通知。

建立聯絡人

如要允許使用者與 Glassware 分享時間軸項目,請插入 透過 POST 方法 聯絡人的 JSON 表示法插入 REST 端點

所有聯絡人都必須指定 id,用來識別 Glassware 的聯絡人 收到通知。您也必須指定 displayName 和至少一個 imageUrls,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 可讓您 訂閱通知 在使用者採取特定動作時傳送 時間軸項目或使用者位置時 已更新。訂閱通知後, 提供可處理通知的回呼網址。

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

您的服務必須以 200 OK HTTP 狀態回應 API 程式碼。 如果服務傳回錯誤代碼,Mirror API 可能會 請嘗試重新傳送通知給服務。

接收語音轉錄內容

使用者可以透過主要語音選單,將轉錄的語音內容提供給聯絡人。 您的聯絡人目前可以使用兩種語音指令:

  • 「新增記事」
  • 「張貼更新」

舉例來說,使用者可以將 Chipotle 的 即將到來的生日,內含「Ok Glass... 張貼更新... 貓咪串流...奇波特的生日是明天!」

如何使用語音指令:

  1. 請指定 acceptCommands敬上 加上適當的 type:

    {
      ...
    
      "displayName": "Cat Stream",
      "id": "CAT_STREAM",
      "acceptCommands": [
        {"type": "POST_AN_UPDATE"}
      ]
    }
    
  2. 訂閱時間軸通知 即可聽取語音通知。你的 Glassware 已獲得 出現這種情況時,系統會發送通知:

    {
      "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 使用相同的語音指令註冊聯絡人, Glass 顯示的是第二層選單, 每位聯絡人的 displayName。 接著,使用者即可透過自己選擇的聯絡人對話。如果聯絡人的 displayName 包含 或非拼音的字元,請使用 speakableName 資源 聲明共用聯絡人的預期發音。

共享相片的說明文字

使用者可將與 Glassware 的相關相片分享 用語音生成說明文字一般使用者流程如下:

  1. 使用者輕觸含有相片的時間軸項目,選取「分享」 選單項目,然後選取聯絡人。
  2. 使用者在短時間內再次輕觸即可新增說明文字 相片。
  3. 使用者說出說明文字。
  4. 時間軸項目會與 Glassware 共用,如先前所述 運作方式:此外, 時間軸項目的 text 屬性為 利用使用者轉錄的說明文字