Contacts

Les contacts permettent à votre Glassware de recevoir des éléments chronologiques qu'il n'a pas créés. Les utilisateurs doivent partager explicitement un élément de l'historique avec votre contact en appuyant sur l'icône d'une fiche Élément de menu Share (Partager).

Fonctionnement

Une fois que vous avez créé un contact de partage, les fiches de la chronologie de partage suivent cette procédure générale:

  1. Créez un contact et définissez les types MIME pris en charge par votre contact.
  2. Insérez le contact dans la chronologie de l'utilisateur.
  3. L'utilisateur reçoit un élément de chronologie comportant un élément de menu Share (Partager). Glassware doit explicitement autoriser les utilisateurs à partager leurs plats avec cet élément de menu.
  4. L'utilisateur appuie sur l'élément de la chronologie, sélectionne l'élément de menu Partager, puis sélectionne votre contact.
  5. L'API Mirror crée une copie de la fiche de la chronologie partagée, autorise votre contact à accéder à la copie et l'insère dans la chronologie de l'utilisateur. Votre Glassware ne peut pas accéder à l'élément de la chronologie d'origine.
  6. Si vous s'est abonné aux notifications de partage, vous recevez une charge utile contenant les informations d'identification de la fiche chronologique. Vous pouvez ensuite récupérer l'élément de la chronologie Timeline.get
  7. vous modifiez la fiche de la chronologie partagée et mettez à jour la fiche existante. avec Timeline.update.

Quand les utiliser

Par défaut, Glassware ne peut pas accéder aux éléments de la chronologie qu'il n'a pas créés. Ainsi, les contacts autorisent le partage de données Glassware avec le consentement de l'utilisateur.

Votre Glassware peut utiliser des contacts de deux manières:

  • Autoriser les utilisateurs à partager les éléments de votre historique avec d'autres contacts: ajoutez l'icône Élément de menu intégré SHARE à une fiche chronologique. Lorsque les utilisateurs appuient sur l'élément du menu de partage, Glass affiche une liste de contacts possibles avec qui partager.

  • Autoriser les utilisateurs à partager des éléments chronologiques avec votre Glassware: créez un contact. qui représente vos appareils Glassware. Lorsqu'un utilisateur souhaite partager une fiche chronologique, contact s'affiche en option. Vous pouvez également déclarer une liste Types MIME autorisés afin que votre contact n'apparaisse que pour les fiches qui vous intéressent. Pour recevoir une notification lorsqu'un utilisateur partage une fiche chronologique avec votre contact, vous pouvez : vous abonner aux notifications de chronologie.

Création d'un contact

Pour permettre aux utilisateurs de partager des éléments de chronologie avec votre Glassware, insérez un contact en publiant Représentation JSON d'un contact pour Insérer le point de terminaison REST.

Tous les contacts doivent spécifier la valeur id, qui identifie le contact avec les lunettes Glassware. recevoir les notifications. Vous devez également spécifier displayName et au moins un imageUrls, que les lunettes Glass utilisent pour afficher les coordonnées à l'utilisateur.

HTTP brut

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
}

S'abonner aux notifications de partage

L'API Mirror vous permet d'effectuer les opérations suivantes : s'abonner aux notifications envoyés lorsque l'utilisateur effectue des actions spécifiques élément de chronologie ou la position géographique de l'utilisateur a été mis à jour. Lorsque vous vous abonnez à une notification, vous fournir une URL de rappel qui traite la notification.

Une notification de l'API Mirror est envoyée sous forme de requête POST au point de terminaison abonné contenant un corps de requête JSON.

HTTP brut

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

L'attribut itemId correspond au ID de l'élément de chronologie partagé, que vous pouvez utiliser avec Timeline.get pour obtenir l'élément de la timeline. L'exemple suivant montre un élément de timeline classique avec une photo en pièce jointe:

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

Votre service doit répondre à l'API avec l'état HTTP 200 OK. si aucune erreur ne s'est produite. Si votre service renvoie un code d'erreur, l'API Mirror peut essayez de renvoyer la notification à votre service.

Réception de la transcription vocale...

Les utilisateurs peuvent partager une transcription de voix avec votre contact via le menu vocal principal. Votre contact peut actuellement utiliser deux commandes vocales:

  • "créer une note"
  • "publier une mise à jour"

Par exemple, un utilisateur peut nous parler de Chipotle anniversaire à venir avec la phrase : "Ok Glass... publie une mise à jour pour... Flux pour chat... Demain, c'est l'anniversaire de Chipotle !"

Pour utiliser les commandes vocales:

  1. Spécifiez le paramètre acceptCommands avec la propriété type:

    {
      ...
    
      "displayName": "Cat Stream",
      "id": "CAT_STREAM",
      "acceptCommands": [
        {"type": "POST_AN_UPDATE"}
      ]
    }
    
  2. S'abonner aux notifications de chronologie pour être averti que la transcription de l'audio est disponible. Votre Glassware reçoit une notification lorsque cela se produit:

    {
      "collection": "timeline",
      "operation": "UPDATE",
      "userToken": "<USER_TOKEN>",
      "verifyToken": "<VERIFY_TOKEN>",
      "itemId": "<ITEM_ID>",
      "userActions": [
        {"type": "LAUNCH"}
      ]
    }
    
  3. Utilisez itemId pour récupérer l'élément de chronologie:

    {
      "id": "<ITEM_ID>",
      "text": "Chipotle's birthday is tomorrow",
      "recipients": [
        {"id": "CAT_STREAM"}
      ]
    }
    
  4. Si plusieurs Glassware enregistrent un contact avec la même commande vocale, Glass affiche un menu de deuxième niveau montrant le displayName de chaque contact. Les utilisateurs peuvent alors énoncer le contact de leur choix. Si l'adresse e-mail de votre contact displayName contient caractères imprononçables ou non phonétique, utilisez l'opérateur Propriété speakableName pour déclarer la prononciation attendue du contact de partage.

Légendes pour les photos partagées

Les utilisateurs ont la possibilité de partager des photos avec votre appareil Glassware en l'accompagnant. des sous-titres qu'ils saisissent par la voix. Le flux utilisateur général est le suivant:

  1. L'utilisateur appuie sur un élément de la chronologie contenant une photo, puis sélectionne l'option Partager et sélectionne votre contact.
  2. Dans un court laps de temps, l'utilisateur appuie à nouveau pour ajouter des sous-titres. photo.
  3. L'utilisateur prononce un sous-titre.
  4. L'élément de la chronologie est partagé avec votre Glassware, comme décrit précédemment dans Fonctionnement En outre, La propriété text de l'élément de chronologie est avec les sous-titres transcrits de l'utilisateur.