聯絡人可讓 Glassware 接收不是由自己建立的時間軸項目。 使用者必須輕觸資訊卡的「分享」選單項目,才能明確與聯絡人分享時間軸項目。
運作方式
建立分享對象後,分享時間軸資訊卡的一般流程如下:
- 建立聯絡人,並定義聯絡人支援的 MIME 類型。
- 將聯絡人插入使用者的時間軸。
- 使用者會收到含有「分享」選單項目的時間軸項目。Glassware 必須明確允許使用者透過這個選單項目共用項目。
- 使用者輕觸時間軸項目,選取「分享」選單項目,然後選取您的聯絡人。
- Mirror API 會建立共用時間軸資訊卡的副本,並授予聯絡人副本存取權,然後將副本插入使用者的時間軸。你的 Glassware 無法存取原始時間軸項目。
- 如果您訂閱分享通知,就會收到含有時間軸資訊卡的識別資訊的酬載。然後,您可以使用 Timeline.get 擷取時間軸項目。
- 修改共用時間軸資訊卡,並使用 Timeline.update 更新現有時間軸資訊卡。
使用時機
根據預設,Glassware 無法存取自己未建立的時間軸項目,因此聯絡人可讓 Glassware 在使用者同意的情況下,與其他 Glassware 分享資料。
Glassware 主要有兩種使用聯絡人的方式:
允許使用者與其他聯絡人分享時間軸項目:在時間軸資訊卡中新增
SHARE內建選單項目。使用者輕觸分享選單項目時,Glass 會顯示可分享的聯絡人清單。允許使用者與 Glassware 分享時間軸項目:建立代表 Glassware 的聯絡人。使用者想分享時間軸資訊卡時,您的聯絡人會顯示為選項。您也可以宣告可接受的 MIME 類型清單,這樣聯絡人只會顯示在您感興趣的資訊卡上。如要在使用者與聯絡人分享時間軸資訊卡時收到通知,可以訂閱時間軸通知。
建立聯絡人
如要允許使用者與 Glassware 分享時間軸項目,請將聯絡人的 JSON 表示法 POST 到插入 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 可能會嘗試將通知重新傳送至服務。
接收語音轉錄內容
使用者可以透過主語音選單,與聯絡人分享轉錄的語音內容。目前聯絡人可以使用兩項語音指令:
- 「新增記事」
- 「發布最新消息」
舉例來說,使用者可以說出「Ok Glass... post an update to...」(Ok Glass... 貼文更新到...),向我們告知 Chipotle 即將到來的生日。Cat Stream... 明天是 Chipotle 的生日!」


如要使用語音指令,請按照下列步驟操作:
使用適當的
type指定acceptCommands屬性:{ ... "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 透過相同語音指令註冊聯絡人,Glass 會顯示第二層選單,列出每個聯絡人的
displayName。接著說出要撥打電話的聯絡人。如果聯絡人的displayName包含無法發音的字元或不符合語音規則,請使用speakableName屬性, 宣告分享聯絡人的預期發音。
共享相片的說明文字
使用者可以透過語音輸入說明文字,並將相片分享到 Glassware。一般使用者流程如下: