연락처를 사용하면 Glass웨어에서 생성하지 않은 타임라인 항목을 수신할 수 있습니다. 사용자는 카드의 타임라인 항목을 탭하여 연락처와 타임라인 항목을 명시적으로 공유해야 합니다. 공유 메뉴 항목을 엽니다.
작동 방식
공유 연락처를 만들면 다음과 같은 일반적인 절차에 따라 타임라인 카드를 공유할 수 있습니다.
- 연락처를 만들고 연락처에서 지원하는 MIME 유형을 정의합니다.
- 사용자의 타임라인에 연락처를 삽입합니다.
- 사용자가 공유 메뉴 항목이 있는 타임라인 항목을 받습니다. Glass 소프트웨어는 사용자가 이 메뉴 항목과 항목을 공유하도록 명시적으로 허용해야 합니다.
- 사용자가 타임라인 항목을 탭하고 공유 메뉴 항목을 선택한 다음 연락처를 선택합니다.
- Mirror API는 공유된 타임라인 카드의 사본을 만들고 연락처에 사본에 대한 액세스 권한을 부여하고 사본을 사용자의 타임라인에 삽입합니다. Glass 웨어가 원래 타임라인 항목에 액세스할 수 없습니다.
- 만약 알림 공유를 구독한 사용자 타임라인 카드의 식별 정보가 포함된 페이로드를 받게 됩니다. 그런 다음 Timeline.get으로 설정합니다.
- 공유된 타임라인 카드를 수정하고 기존 타임라인 카드를 업데이트합니다. Timeline.update를 사용합니다.
용도
기본적으로 Glass 소프트웨어는 자신이 생성하지 않은 타임라인 항목에 액세스할 수 없으며, 연락처에서 사용자의 동의를 받아 Glassware에서 데이터를 공유할 수 있도록 허용
Glass 소프트웨어는 두 가지 방법으로 연락처를 사용할 수 있습니다.
사용자가 타임라인 항목을 다른 연락처와 공유하도록 허용: 타임라인 항목을
SHARE
내장 메뉴 항목 타임라인 카드에 추가할 수도 있습니다. 사용자가 공유 메뉴 항목을 탭하면 Glass가 목록을 표시합니다. 연락처 정보를 추가할 수 있습니다.사용자가 타임라인 항목을 Glass 소프트웨어와 공유하도록 허용: 연락처 만들기 글래스웨어를 나타냅니다. 사용자가 타임라인 카드를 공유하려는 경우 연락처가 옵션으로 표시됩니다. 포드의 목록을 선언할 수도 허용되는 MIME 유형 관심 있는 카드에만 연락처가 표시됩니다. 사용자가 연락처와 타임라인 카드를 공유할 때 알림을 받으려면 다음 작업을 수행하세요. 타임라인 알림을 구독합니다.
연락처 만들기
사용자가 타임라인 항목을 Glass 소프트웨어와 공유할 수 있도록 하려면 사진을 게시하여 연락처의 JSON 표현 REST 엔드포인트 삽입을 사용하면 됩니다.
모든 연락처에는 Glass 소프트웨어에서 연락처를 식별하는 id
를 지정해야 합니다.
알림을 수신하기만 하면 됩니다. 또한
Glass가 표시하는 데 사용하는 displayName
및 하나 이상의 imageUrls
사용자에게 연락처 정보를 제공합니다.
원시 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에 200 OK
HTTP 상태로 응답해야 합니다.
오류가 발생하지 않을 경우 코드를 반환합니다.
서비스가 오류 코드로 응답하면 Mirror API가
서비스에 알림을 다시 전송해 보세요.
음성 스크립트 수신 중
사용자는 기본 음성 메뉴를 통해 스크립트가 작성된 음성을 연락처와 공유할 수 있습니다. 상대방이 사용할 수 있는 음성 명령은 현재 두 가지입니다.
- "메모 작성"
- "업데이트 게시"
예를 들어 사용자는 Chipotle의 "Ok Glass... 업데이트를 게시하세요..."라는 문구와 함께 다가오는 생일을 보내세요. 고양이 스트림... 치폴레의 생일은 내일입니다!"
음성 명령을 사용하려면 다음 단계를 따르세요.
acceptCommands
드림 속성을type
:{ ... "displayName": "Cat Stream", "id": "CAT_STREAM", "acceptCommands": [ {"type": "POST_AN_UPDATE"} ] }
타임라인 알림 구독 알림이 전송됩니다. Glass 소프트웨어는 알림을 받게 됩니다.
{ "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"} ] }
둘 이상의 Glass 소프트웨어에서 동일한 음성 명령으로 연락처를 등록하는 경우, Glass는 2단계 메뉴를 표시하여 각 연락처의
displayName
그러면 사용자는 자신이 선택한 연락처를 말할 수 있습니다. 연락처의displayName
에 다음 포함: 발음할 수 없는 문자이거나 표음이 아닌 경우speakableName
속성 공유 연락처의 예상 발음을 선언하세요.
공유된 사진의 설명
사용자는 기기에 연결된 Google 글래스 기기와 사진을 공유할 수 텍스트를 입력할 수도 있습니다 일반적인 사용자 흐름은 다음과 같습니다.