Kontakte ermöglichen es Ihrer Glassware, Zeitachsenelemente zu empfangen, die nicht von ihr erstellt wurden. Nutzer müssen explizit ein Zeitachsenelement für Ihren Kontakt freigeben, indem sie auf den Menüpunkt Teilen der Karte tippen.
Funktionsweise
Nachdem Sie einen Kontakt für die Freigabe erstellt haben, werden Zeitachsenkarten folgendermaßen geteilt:
- Erstellen Sie einen Kontakt und definieren Sie die MIME-Typen, die Ihr Kontakt unterstützt.
- Fügen Sie den Kontakt in die Zeitachse des Nutzers ein.
- Der Nutzer erhält eine Zeitachse mit dem Menüpunkt Teilen. Glassware muss Nutzern ausdrücklich erlauben, ihre Elemente mit diesem Menüpunkt freizugeben.
- Der Nutzer tippt auf die Zeitachse, wählt den Menüpunkt Teilen und dann Ihren Kontakt aus.
- 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.
- Wenn Sie Benachrichtigungen geteilt haben, erhalten Sie eine Nutzlast mit den personenidentifizierbaren Informationen der Zeitachse. Anschließend können Sie das Zeitachsenelement mit Timeline.get abrufen.
- Sie ändern die geteilte Zeitachse und aktualisieren die vorhandene Zeitachse mit Timeline.update.
Verwendung
Standardmäßig kann Glassware nicht auf Zeitachsenelemente zugreifen, die nicht von ihnen erstellt wurden. Daher erlauben die Kontakte die Weitergabe von Glassware-Daten mit Nutzereinwilligung.
Es gibt zwei Möglichkeiten, wie Ihre Glassware Kontakte verwenden kann:
Nutzern erlauben, Zeitachsenelemente mit anderen Kontakten zu teilen: Fügen Sie einer Zeitachse den integrierten Menüpunkt
SHARE
hinzu. Wenn Nutzer auf den Menüpunkt zum Teilen tippen, wird in Glass eine Liste möglicher Kontakte angezeigt, mit denen sie etwas teilen können.Nutzern erlauben, Zeitachsenelemente für Glassware freizugeben: Erstellen Sie einen Kontakt, der Ihre Glassware repräsentiert. Wenn Nutzende eine Zeitachse teilen möchten, wird Ihr Kontakt als Option angezeigt. Sie können auch eine Liste zulässiger MIME-Typen angeben, damit 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, können Sie Zeitachsenbenachrichtigungen abonnieren.
Kontakt erstellen
Damit Nutzer Zeitachsenelemente für Ihre Glassware freigeben können, fügen Sie einen Kontakt ein, indem Sie eine JSON-Darstellung eines Kontakts an den REST-Endpunkt einfügen POSTEN.
Alle Kontakte müssen einen id
angeben, der den Kontakt für die Glassware identifiziert, die die Benachrichtigungen erhält. Sie müssen außerdem eine displayName
und mindestens eine imageUrls
angeben, die Glass verwendet, um dem Nutzer die Kontaktdaten anzuzeigen.
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 für ein Zeitachsenelement ausführt oder der Nutzerstandort 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 mit dem Text der JSON
-Anfrage an den abonnierten Endpunkt gesendet.
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 der ID
des freigegebenen Zeitachsenelements, das Sie mit Timeline.get verwenden können, 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>"
]
}
]
}
Wenn kein Fehler aufgetreten ist, muss Ihr Dienst mit dem HTTP-Statuscode 200 OK
an die API antworten.
Wenn der Dienst einen Fehlercode zurückgibt, versucht die Mirror API möglicherweise, die Benachrichtigung noch einmal an den 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 kann ein Nutzer Chipotles Geburtstag mit folgendem Satz erwähnen: "Ok Glass... Update posten an... Katzenstream... Morgen hat Chipotle Geburtstag!“
So verwenden Sie Sprachbefehle:
Geben Sie das Attribut
acceptCommands
mit dem entsprechendentype
an:{ ... "displayName": "Cat Stream", "id": "CAT_STREAM", "acceptCommands": [ {"type": "POST_AN_UPDATE"} ] }
Abonnieren Sie Zeitachsenbenachrichtigungen, um informiert zu werden, dass 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"} ] }
Rufen Sie mit
itemId
das Zeitachsenelement ab:{ "id": "<ITEM_ID>", "text": "Chipotle's birthday is tomorrow", "recipients": [ {"id": "CAT_STREAM"} ] }
Wenn mehrere Glassware einen Kontakt mit demselben Sprachbefehl registrieren, wird in Glass ein Menü auf zweiter Ebene mit den
displayName
jedes Kontakts angezeigt. Nutzende können dann den Kontakt ihrer Wahl sprechen. Wenn derdisplayName
Ihres Kontakts nicht aussprechbare Zeichen enthält oder keine Lautschrift enthält, verwenden Sie die PropertyspeakableName
, um die erwartete Aussprache des gemeinsamen Kontakts zu deklarieren.
Bildunterschriften für geteilte Fotos
Nutzer können mit Ihrer Glassware Fotos mit einem Begleitkommentar teilen, den sie per Spracheingabe eingeben. Der allgemeine User Flow sieht so aus:
- Der Nutzer tippt auf ein Zeitachsenelement mit einem Foto, wählt den Menüpunkt Teilen und dann Ihren Kontakt aus.
- Der Nutzer tippt innerhalb kurzer Zeit noch einmal, um dem Foto eine Bildunterschrift hinzuzufügen.
- Der Nutzer spricht eine Bildunterschrift.
- Das Zeitachsenelement wird wie unter Funktionsweise beschrieben für Ihre Glassware freigegeben. Außerdem wird das Attribut
text
der Zeitachse durch den vom Nutzer transkribierten Untertitel festgelegt.