Os Contatos permitem que o Glassware receba itens da linha do tempo que não foram criados por ele. Os usuários precisam compartilhar explicitamente um item da linha do tempo com seu contato tocando no Compartilhar.
Como funcionam
Depois de criar um contato de compartilhamento, o compartilhamento de cards de linha do tempo segue este fluxo geral:
- Criar um contato e definir os tipos MIME com suporte do contato.
- Insira o contato na linha do tempo do usuário.
- O usuário recebe um item da linha do tempo que tem um item de menu Compartilhar. O Glassware precisa permitir explicitamente que os usuários compartilhem seus itens com esse item de menu.
- O usuário toca no item da linha do tempo, seleciona o item de menu Compartilhar e o contato.
- A API Mirror cria uma cópia do card da linha do tempo compartilhada, dá ao seu contato acesso à cópia e a insere na linha do tempo do usuário. Seu Glassware não pode acessar o item original da linha do tempo.
- Se você se inscreveram para compartilhar notificações, Você recebe um payload com as informações de identificação do card da linha do tempo. É possível recuperar o item da linha do tempo com Timeline.get (link em inglês).
- Você modifica o card da linha do tempo compartilhada e atualiza o card atual. com Timeline.update.
Quando usar as extensões
Por padrão, o Glassware não pode acessar itens do cronograma que não tenham sido criados, para que os contatos permitam o compartilhamento de dados do Glassware com o Glassware com o consentimento do usuário.
O Glassware pode usar os contatos de duas maneiras principais:
Permitir que os usuários compartilhem itens da linha do tempo com outros contatos: adicione o
SHARE
item de menu integrado a um card de linha do tempo. Quando os usuários tocam no item de menu de compartilhamento, o Glass exibe uma lista possíveis contatos para compartilhar.Permitir que os usuários compartilhem itens da linha do tempo com seu Glassware: criar um contato que representa seu Glassware. Quando os usuários querem compartilhar um card de linha do tempo, seu contato aparece como uma opção. Também é possível declarar uma lista tipos MIME aceitáveis para que seu contato apareça somente nos cards de seu interesse. Para receber notificações de quando os usuários compartilham um card de linha do tempo com seu contato, você pode inscrever-se para receber notificações da linha do tempo.
Como criar um contato
Para permitir que os usuários compartilhem itens da linha do tempo com seu Glassware, insira um contato pelo POST de um representação JSON de um contato para o endpoint REST de inserção.
Todos os contatos devem especificar um id
, que identifica o contato com o Glassware
receber as notificações. Você também deve especificar um
displayName
e pelo menos um imageUrls
, que o Glass usa para exibir
os dados de contato para o usuário.
HTTP bruto
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
}
Como se inscrever para receber notificações de compartilhamento
A API Mirror permite inscrever-se para receber notificações que são enviadas quando o usuário realiza ações específicas em uma Item da linha do tempo ou quando o local do usuário foi atualizado. Ao se inscrever para receber uma notificação, forneça um URL de retorno de chamada que processe a notificação.
Uma notificação da API Mirror é enviada como uma solicitação POST
ao
endpoint inscrito contendo um corpo de solicitação JSON
.
HTTP bruto
{
"collection": "timeline",
"itemId": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg",
"operation": "INSERT",
"userToken": "harold_penguin",
"verifyToken": "random_hash_to_verify_referer",
"userActions": [
{
"type": "SHARE"
}
]
}
O atributo itemId
é o ID
do item da linha do tempo compartilhado, que você pode usar
com Timeline.get para acessar o item da linha do tempo.
O exemplo a seguir mostra um item típico da linha do tempo com um anexo de fotos:
{
"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>"
]
}
]
}
Seu serviço precisa responder à API com um status HTTP 200 OK
se nenhum erro tiver ocorrido.
Se o serviço responder com um código de erro, é possível que a API Mirror
tente reenviar a notificação ao serviço.
Recebendo transcrição de fala
Os usuários podem compartilhar a transcrição com seu contato pelo menu de voz principal. No momento, seu contato pode usar dois comandos de voz:
- "criar uma nota"
- "postar uma atualização"
Por exemplo, um usuário pode nos contar sobre as próximo aniversário com a frase: "Ok Glass... poste uma atualização para... Fluxo de gatos... O aniversário do Chipotle é amanhã!"
Para usar comandos de voz:
Especifique o
acceptCommands
com as propriedades detype
:{ ... "displayName": "Cat Stream", "id": "CAT_STREAM", "acceptCommands": [ {"type": "POST_AN_UPDATE"} ] }
Inscrever-se nas notificações da Linha do tempo receber a notificação de que a transcrição está disponível. Seu Glassware recebe uma notificação quando isso ocorrer:
{ "collection": "timeline", "operation": "UPDATE", "userToken": "<USER_TOKEN>", "verifyToken": "<VERIFY_TOKEN>", "itemId": "<ITEM_ID>", "userActions": [ {"type": "LAUNCH"} ] }
Use o
itemId
para buscar o item da linha do tempo:{ "id": "<ITEM_ID>", "text": "Chipotle's birthday is tomorrow", "recipients": [ {"id": "CAT_STREAM"} ] }
Se mais de um Glassware registrar um contato com o mesmo comando de voz, O Google Glass exibe um menu de segundo nível mostrando
displayName
de cada contato. Os usuários podem, então, falar o contato que escolherem. Se seu contatodisplayName
contém caracteres não pronunciados ou não fonético, use o PropriedadespeakableName
para declarar a pronúncia esperada do contato de compartilhamento.
Legendas para fotos compartilhadas
Os usuários podem compartilhar fotos com seu Glassware com um legenda que inserem por voz. O fluxo geral do usuário é:
- O usuário toca em um item da linha do tempo que contém uma foto e seleciona a opção Compartilhar e seleciona seu contato.
- O usuário toca novamente dentro de um curto período para adicionar uma legenda ao foto.
- O usuário fala uma legenda.
- O item do cronograma é compartilhado com seu Glassware conforme descrito anteriormente em
Como funcionam. Além disso,
a propriedade
text
do item da linha do tempo é com a legenda transcrita do usuário.