Kontakte

Mit Kontakten kann Ihre Glassware Zeitachsen-Elemente empfangen, die sie nicht selbst erstellt hat. Nutzer müssen ein Zeitachsen-Element explizit für Ihren Kontakt freigeben. Dazu tippen sie auf das Menüelement Teilen einer Karte.

Funktionsweise

Wenn Sie einen Kontakt für die Freigabe erstellt haben, folgt die Freigabe von Zeitachsenkarten diesem allgemeinen Ablauf:

  1. Erstellen Sie einen Kontakt und definieren Sie die MIME-Typen, die von Ihrem Kontakt unterstützt werden.
  2. Fügen Sie den Kontakt der Zeitachse Ihres Nutzers hinzu.
  3. Der Nutzer erhält ein Zeitachsen-Element mit dem Menüelement Teilen. Glassware muss Nutzern explizit erlauben, ihre Elemente über dieses Menüelement freizugeben.
  4. Der Nutzer tippt auf das Zeitachsen-Element, wählt das Menüelement Teilen aus und wählt Ihren Kontakt aus.
  5. Die Mirror API erstellt eine Kopie der freigegebenen Zeitachsenkarte, gewährt Ihrem Kontakt Zugriff auf die Kopie und fügt die Kopie in die Zeitachse des Nutzers ein. Ihre Glassware kann nicht auf das ursprüngliche Zeitachsen-Element zugreifen.
  6. Wenn Sie Benachrichtigungen über die Freigabe abonniert haben, erhalten Sie eine Nutzlast mit den Identifikationsinformationen der Zeitachsenkarte. Anschließend können Sie das Zeitachsen-Element mit Timeline.get abrufen.
  7. Sie ändern die freigegebene Zeitachsenkarte und aktualisieren die vorhandene Zeitachsenkarte mit Timeline.update.

Verwendung

Standardmäßig kann Glassware nicht auf Zeitachsen-Elemente zugreifen, die sie nicht selbst erstellt hat. Mit Kontakten kann Glassware Daten mit Zustimmung des Nutzers für andere Glassware freigeben.

Es gibt zwei Hauptmöglichkeiten, wie Ihre Glassware Kontakte verwenden kann:

Kontakt erstellen

Wenn Sie Nutzern erlauben möchten, Zeitachsen-Elemente für Ihre Glassware freizugeben, fügen Sie einen Kontakt ein, indem Sie eine JSON-Darstellung eines Kontakts an den REST-Endpunkt „Einfügen“ senden.

Für alle Kontakte muss eine id angegeben werden, die den Kontakt für die Glassware identifiziert, die die Benachrichtigungen empfängt. Sie müssen auch einen displayName und mindestens eine imageUrls angeben, die von Glass verwendet werden, um dem Nutzer die Kontaktinformationen anzuzeigen.

Unformatierte HTTP-Anfrage

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
}

Benachrichtigungen über die Freigabe abonnieren

Mit der Mirror API können Sie Benachrichtigungen abonnieren , die gesendet werden, wenn der Nutzer bestimmte Aktionen für ein Zeitachsen-Element ausführt oder wenn der Standort des Nutzers aktualisiert wurde. Wenn Sie eine Benachrichtigung abonnieren, geben Sie eine Callback-URL an, die die Benachrichtigung verarbeitet.

Eine Benachrichtigung von der Mirror API wird als POST-Anfrage an den abonnierten Endpunkt gesendet und enthält einen JSON-Anfragetext.

Unformatierte HTTP-Anfrage

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

Das Attribut itemId ist die ID des freigegebenen Zeitachsen-Elements. Mit Timeline.get können Sie das Zeitachsen-Element abrufen. Das folgende Beispiel zeigt ein typisches Zeitachsen-Element mit einem Fotoanhang:

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

Ihr Dienst muss der API mit dem HTTP-Statuscode 200 OK antworten, wenn kein Fehler aufgetreten ist. Wenn Ihr Dienst mit einem Fehlercode antwortet, versucht die Mirror API möglicherweise, die Benachrichtigung noch einmal an Ihren Dienst zu senden.

Sprachtranskription empfangen

Nutzer können transkribierte Sprache über das Hauptmenü für Sprachbefehle für Ihren Kontakt freigeben. Derzeit gibt es zwei Sprachbefehle, die Ihr Kontakt verwenden kann:

  • „Notiz erstellen“
  • „Status aktualisieren“

Ein Nutzer kann uns beispielsweise mit dem folgenden Satz über den bevorstehenden Geburtstag von Chipotle informieren: „Ok Glass... Status für... Cat Stream aktualisieren... Chipotle hat morgen Geburtstag!“

So verwenden Sie Sprachbefehle:

  1. Geben Sie die acceptCommands Eigenschaft mit dem entsprechenden typean:

    {
      ...
    
      "displayName": "Cat Stream",
      "id": "CAT_STREAM",
      "acceptCommands": [
        {"type": "POST_AN_UPDATE"}
      ]
    }
    
  2. Abonnieren Sie Zeitachsenbenachrichtigungen, um benachrichtigt zu werden, wenn transkribierte Sprache verfügbar ist. In diesem Fall erhält Ihre Glassware eine Benachrichtigung:

    {
      "collection": "timeline",
      "operation": "UPDATE",
      "userToken": "<USER_TOKEN>",
      "verifyToken": "<VERIFY_TOKEN>",
      "itemId": "<ITEM_ID>",
      "userActions": [
        {"type": "LAUNCH"}
      ]
    }
    
  3. Verwenden Sie die itemId, um das Zeitachsen-Element abzurufen:

    {
      "id": "<ITEM_ID>",
      "text": "Chipotle's birthday is tomorrow",
      "recipients": [
        {"id": "CAT_STREAM"}
      ]
    }
    
  4. Wenn mehr als eine Glassware einen Kontakt mit demselben Sprachbefehl registriert, zeigt Glass ein Menü der zweiten Ebene mit dem displayName jedes Kontakts an. Nutzer können dann den gewünschten Kontakt nennen. Wenn der Kontakt displayName Ihres Kontakts nicht aussprechbare Zeichen enthält oder nicht phonetisch ist, verwenden Sie die Eigenschaft speakableName, um die erwartete Aussprache Ihres Kontakts für die Freigabe zu deklarieren.

Bildunterschriften für freigegebene Fotos

Nutzer können Fotos für Ihre Glassware freigeben und eine Bildunterschrift hinzufügen, die sie per Sprachbefehl eingeben. Der allgemeine Ablauf für den Nutzer ist wie folgt:

  1. Der Nutzer tippt auf ein Zeitachsen-Element mit einem Foto, wählt das Menüelement Teilen aus und wählt Ihren Kontakt aus.
  2. Der Nutzer tippt innerhalb kurzer Zeit noch einmal, um dem Foto eine Bildunterschrift hinzuzufügen.
  3. Der Nutzer spricht eine Bildunterschrift.
  4. Das Zeitachsen-Element wird wie zuvor unter Funktionsweise beschrieben für Ihre Glassware freigegeben. Außerdem wird die Eigenschaft text des Zeitachsen-Elements mit der transkribierten Bildunterschrift des Nutzers festgelegt.