Contatti

I contatti consentono a Glassware di ricevere elementi della sequenza temporale che non ha creato. Gli utenti devono condividere esplicitamente un elemento della cronologia con il tuo contatto toccando l'icona della scheda voce di menu Condividi.

Funzionamento

Dopo aver creato un contatto per la condivisione, la condivisione delle schede della cronologia segue questa procedura generale:

  1. Creare un contatto e definire i tipi MIME supportati.
  2. Inserisci il contatto nella sequenza temporale dell'utente.
  3. L'utente riceve una voce della sequenza temporale che ha una voce di menu Condividi. I bicchieri devono consentire esplicitamente agli utenti di condividere i loro elementi con questa voce di menu.
  4. L'utente tocca la voce della sequenza temporale, seleziona la voce di menu Condividi e poi il contatto.
  5. L'API Mirror crea una copia della scheda della sequenza temporale condivisa, concede al contatto l'accesso alla copia e la inserisce nella sequenza temporale dell'utente. I tuoi Glassware non possono accedere all'elemento della sequenza temporale originale.
  6. Se si è iscritto per condividere notifiche, ricevi un payload contenente le informazioni identificative della scheda della cronologia. Puoi quindi recuperare l'elemento della sequenza temporale con Timeline.get.
  7. Puoi modificare la scheda della sequenza temporale condivisa e aggiornare quella esistente con Timeline.update.

Quando utilizzarle

Per impostazione predefinita, Glassware non può accedere agli elementi della sequenza temporale che non ha creato. pertanto i contatti consentono la condivisione dei dati da Glassware a Glassware con il consenso dell'utente.

Esistono due modi principali in cui Glassware può utilizzare i contatti:

  • Consenti agli utenti di condividere i tuoi elementi della cronologia con altri contatti: aggiungi il Voce di menu integrata SHARE in una scheda della cronologia. Quando gli utenti toccano la voce di menu Condividi, Glass mostra un elenco. di possibili contatti con cui condividere qualcosa.

  • Consenti agli utenti di condividere elementi della cronologia con Glassware: crea un contatto che rappresenta i tuoi bicchieri. Quando gli utenti vogliono condividere una scheda della cronologia, contatto. Puoi anche dichiarare un elenco tipi MIME accettati in modo che il tuo contatto venga visualizzato solo per le schede che ti interessano. Per ricevere notifiche quando gli utenti condividono una scheda della cronologia con il tuo contatto, puoi: iscriviti alle notifiche della cronologia.

Creazione di un contatto

Per consentire agli utenti di condividere gli elementi della sequenza temporale con Glassware, inserisci un contatto PUBBLICAndo Rappresentazione JSON di un contatto per inserisci l'endpoint REST.

Tutti i contatti devono specificare un id, che identifica il contatto con Glassware la ricezione delle notifiche. Devi inoltre specificare displayName e almeno un imageUrls, che Glass utilizza per mostrare le informazioni di contatto all'utente.

HTTP non elaborato

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
}

Iscrizione alle notifiche di condivisione

L'API Mirror ti consente di iscriversi alle notifiche inviate quando l'utente intraprende azioni specifiche su una Elemento della sequenza temporale o quando la posizione dell'utente è stato aggiornato. Quando ti iscrivi a una notifica, fornisci un URL di callback che elabora la notifica.

Una notifica dall'API Mirror viene inviata come richiesta POST all'utente endpoint a cui è stata effettuata la sottoscrizione contenente un corpo di richiesta JSON.

HTTP non elaborato

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

L'attributo itemId è il ID dell'elemento della sequenza temporale condivisa, che puoi utilizzare con Timeline.get per ottenere l'elemento della sequenza temporale. L'esempio seguente mostra un tipico elemento della sequenza temporale con una foto allegata:

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

Il servizio deve rispondere all'API con uno stato HTTP 200 OK se non si è verificato alcun errore. Se il servizio risponde con un codice di errore, l'API Mirror potrebbe prova a inviare di nuovo la notifica al tuo servizio.

Ricezione di trascrizione vocale in corso...

Gli utenti possono condividere la trascrizione vocale con il tuo contatto tramite il menu vocale principale. Al momento sono disponibili due comandi vocali che il tuo contatto può utilizzare:

  • "prendi nota"
  • "pubblica un aggiornamento"

Ad esempio, un utente può comunicarci compleanno imminente con la frase: "Hey Glass... pubblica un aggiornamento a... Stream di gatti... Il compleanno di Chipotle è domani!"

Per utilizzare i comandi vocali:

  1. Specifica acceptCommands con le informazioni appropriate type:

    {
      ...
    
      "displayName": "Cat Stream",
      "id": "CAT_STREAM",
      "acceptCommands": [
        {"type": "POST_AN_UPDATE"}
      ]
    }
    
  2. Iscriviti alle notifiche della cronologia per ricevere una notifica relativa alla disponibilità della trascrizione vocale. Il tuo Glassware riceve una notifica quando ciò si verifica:

    {
      "collection": "timeline",
      "operation": "UPDATE",
      "userToken": "<USER_TOKEN>",
      "verifyToken": "<VERIFY_TOKEN>",
      "itemId": "<ITEM_ID>",
      "userActions": [
        {"type": "LAUNCH"}
      ]
    }
    
  3. Utilizza itemId per recuperare l'elemento della sequenza temporale:

    {
      "id": "<ITEM_ID>",
      "text": "Chipotle's birthday is tomorrow",
      "recipients": [
        {"id": "CAT_STREAM"}
      ]
    }
    
  4. Se più di un Glassware registra un contatto con lo stesso comando vocale, Glass mostra un menu di secondo livello con displayName di ogni contatto. Gli utenti possono quindi parlare con il contatto che preferiscono. Se il tuo contatto displayName contiene caratteri non pronunciabili o non sono fonetici, utilizza Proprietà speakableName per dichiarare la pronuncia prevista del tuo contatto per la condivisione.

Didascalie per le foto condivise

Gli utenti hanno la possibilità di condividere foto con i tuoi Glassware con un didascalia inserita con il parlato. La procedura generale è:

  1. L'utente tocca un elemento della sequenza temporale contenente una foto, quindi seleziona l'opzione Condividi voce di menu e seleziona il contatto.
  2. L'utente tocca di nuovo entro un breve periodo di tempo per aggiungere un sottotitolo foto.
  3. L'utente pronuncia una didascalia.
  4. L'elemento della sequenza temporale viene condiviso con Glassware come descritto in precedenza in Come funzionano. Inoltre, la proprietà text dell'elemento della sequenza temporale è impostato con la didascalia trascritta dall'utente.