Kontakte

Kontakte ermöglichen es Ihrer Glassware, Zeitachsenelemente zu empfangen, die nicht von ihr erstellt wurden. Nutzer müssen explizit ein Zeitachsenelement mit Ihrem Kontakt teilen, indem sie auf das Freigeben.

Funktionsweise

Nachdem Sie einen Kontakt für die Freigabe erstellt haben, werden Zeitachsenkarten folgendermaßen geteilt:

  1. Erstellen Sie einen Kontakt und definieren Sie die MIME-Typen, die Ihr Kontakt unterstützt.
  2. Fügen Sie den Kontakt in die Zeitachse des Nutzers ein.
  3. Der Nutzer erhält eine Zeitachse mit dem Menüpunkt Teilen. Glassware muss Nutzern ausdrücklich erlauben, ihre Elemente mit diesem Menüpunkt freizugeben.
  4. Der Nutzer tippt auf die Zeitachse, wählt den Menüpunkt Teilen und dann Ihren Kontakt aus.
  5. Die Mirror API erstellt eine Kopie der freigegebenen Zeitachsenkarte, gewährt Ihrem Kontakt Zugriff darauf und fügt die Kopie in die Zeitachse des Nutzers ein. Ihre Glassware kann nicht auf das ursprüngliche Zeitachsenelement zugreifen.
  6. Wenn Sie haben Benachrichtigungen abonniert, erhalten Sie eine Nutzlast mit den personenidentifizierbaren Informationen der Zeitachse. Anschließend können Sie das Zeitachsenelement Timeline.get
  7. Sie ändern die geteilte Zeitachse und aktualisieren die vorhandene Zeitachse durch Timeline.update.

Verwendung

Standardmäßig kann Glassware nicht auf Zeitachsenelemente zugreifen, die nicht erstellt wurden. Kontakte erlauben es, Glassware-Daten mit Zustimmung des Nutzers freizugeben.

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

  • Nutzern erlauben, Ihre Zeitachsenelemente mit anderen Kontakten zu teilen: Fügen Sie die SHARE integrierter Menüpunkt zu einer Zeitachse hinzufügen. Wenn Nutzer auf den Menüpunkt zum Teilen tippen, wird in Glass eine Liste angezeigt. mit möglichen Kontakten teilen.

  • Nutzern erlauben, Zeitachsenelemente für Ihre Glassware freizugeben: Erstellen Sie einen Kontakt. das Ihre Glassware darstellt. Wenn Nutzer eine Zeitachse teilen möchten, wird als Option angezeigt. Sie können auch eine Liste mit zulässige MIME-Typen sodass Ihr Kontakt nur für Karten angezeigt wird, an denen Sie interessiert sind. Wenn Sie benachrichtigt werden möchten, wenn Nutzer eine Zeitachse mit Ihrem Kontakt teilen, haben Sie folgende Möglichkeiten: Zeitachsenbenachrichtigungen zu abonnieren.

Kontakt erstellen

Damit Nutzer Zeitachsenelemente für Ihre Glassware freigeben können, fügen Sie durch POSTEN eines JSON-Darstellung eines Kontakts in den REST-Endpunkt einfügen.

Alle Kontakte müssen eine id angeben, die den Kontakt für die Glassware identifiziert. Benachrichtigungen erhalten. Sie müssen auch eine displayName und mindestens ein imageUrls, das Glass zur Darstellung verwendet die Kontaktinformationen an den Nutzer zu übermitteln.

HTTP-Rohdaten

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
}

Freigabebenachrichtigungen abonnieren

Mit der Mirror API können Sie Benachrichtigungen abonnieren die gesendet werden, wenn der Nutzer bestimmte Aktionen Zeitachsenelement oder wenn der Nutzerstandort wurde aktualisiert. Wenn Sie eine Benachrichtigung abonnieren, eine Callback-URL angeben, die die Benachrichtigung verarbeitet.

Von der Mirror API wird eine Benachrichtigung als POST-Anfrage an den abonnierten Endpunkt mit einem JSON-Anfragetext.

HTTP-Rohdaten

{
  "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 gemeinsam genutzten Zeitachsenelements, die Sie verwenden können mit Timeline.get, um das Zeitachsenelement abzurufen. Das folgende Beispiel zeigt ein typisches Zeitachsenelement 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>"
          ]
      }
  ]
}

Der Dienst muss der API mit dem HTTP-Status 200 OK antworten wenn kein Fehler aufgetreten ist. Wenn der Dienst einen Fehlercode zurückgibt, kann es sein, dass die Mirror API versuchen Sie, die Benachrichtigung noch einmal an Ihren Dienst zu senden.

Sprachtranskription wird empfangen

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

  • "eine Notiz machen"
  • „poste eine Aktualisierung“

Zum Beispiel können Nutzende uns von Chipotle's anstehender Geburtstag mit dem Satz: "Ok Glass... Update posten an... Katzenstream... Morgen hat Chipotle Geburtstag!“

So verwenden Sie Sprachbefehle:

  1. Geben Sie die acceptCommands mit den entsprechenden type:

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

    {
      "collection": "timeline",
      "operation": "UPDATE",
      "userToken": "<USER_TOKEN>",
      "verifyToken": "<VERIFY_TOKEN>",
      "itemId": "<ITEM_ID>",
      "userActions": [
        {"type": "LAUNCH"}
      ]
    }
    
  3. Rufen Sie mit itemId das Zeitachsenelement ab:

    {
      "id": "<ITEM_ID>",
      "text": "Chipotle's birthday is tomorrow",
      "recipients": [
        {"id": "CAT_STREAM"}
      ]
    }
    
  4. Wenn mehrere Glassware-Geräte einen Kontakt mit demselben Sprachbefehl registrieren, In Glass wird ein Menü auf der zweiten Ebene angezeigt, displayName jedes Kontakts. Nutzende können dann den Kontakt ihrer Wahl sprechen. Wenn die displayName enthält nicht aussprechbare Zeichen oder nicht phonetisch sind, verwenden Sie speakableName-Property , um die erwartete Aussprache Ihres Kontakts zum Teilen zu deklarieren.

Bildunterschriften für geteilte Fotos

Nutzer können Fotos auf Ihrer Glassware mit einem gesprochene Untertitel. Der allgemeine User Flow sieht so aus:

  1. Der Nutzer tippt auf eine Zeitachse mit einem Foto und wählt die Option Teilen aus. und wählt den Kontakt aus.
  2. Der Nutzer tippt innerhalb kurzer Zeit erneut, um eine Bildunterschrift hinzuzufügen. Foto.
  3. Der Nutzer spricht eine Bildunterschrift.
  4. Das Zeitachsenelement wird wie oben unter beschrieben für Ihre Glassware freigegeben. Funktionsweise Darüber hinaus enthält der Die Eigenschaft text des Zeitachsenelements ist mit dem Untertitel des Nutzers festgelegt.