Kontakty

Kontakty umożliwiają Glassware otrzymywanie elementów osi czasu, których nie utworzył. Użytkownicy muszą wyraźnie udostępnić kontakt na osi czasu kontaktowi, klikając pozycję menu Udostępnij na karcie.

Działanie

Po utworzeniu kontaktu do udostępniania karty z osią czasu udostępniają go w ten sposób:

  1. Utwórz kontakt i określ typy MIME, które obsługuje.
  2. Wstaw kontakt na osi czasu użytkownika.
  3. Użytkownik otrzymuje pozycję na osi czasu, która zawiera pozycję menu Udostępnij. Glassware musi wyraźnie zezwalać użytkownikom na udostępnianie elementów w ramach tego elementu menu.
  4. Użytkownik klika element osi czasu, następnie element menu Udostępnij i kontakt.
  5. Interfejs Mirror API tworzy kopię udostępnionej karty osi czasu, daje kontaktowi dostęp do kopii i wstawia ją na osi czasu użytkownika. Urządzenie Glassware nie ma dostępu do oryginalnego elementu na osi czasu.
  6. Jeśli subskrybowano powiadomienia, otrzymasz ładunek z danymi identyfikacyjnymi karty osi czasu. Następnie możesz pobrać element osi czasu za pomocą Timeline.get.
  7. Zmodyfikuj udostępnioną kartę osi czasu i zaktualizuj istniejącą kartę osi czasu za pomocą Timeline.update.

Kiedy ich używać

Domyślnie Glassware nie ma dostępu do elementów osi czasu, które nie zostały utworzone przez tę osobę, więc kontakty pozwalają jej na udostępnianie danych za zgodą użytkownika.

Istnieją 2 główne sposoby, na jakie Glassware może korzystać z kontaktów:

  • Zezwalaj użytkownikom na udostępnianie elementów osi czasu innym kontaktom: dodaj wbudowany element menuSHARE do karty osi czasu. Gdy użytkownik kliknie element menu udostępniania, Google Glass wyświetli listę kontaktów, którym ten wpis może zostać udostępniony.

  • Zezwalaj użytkownikom na udostępnianie elementów osi czasu w Google Glass: utwórz kontakt, który reprezentuje Twoje oprogramowanie. Jeśli użytkownik chce udostępnić kartę osi czasu, jego kontakt pojawi się jako opcja. Możesz też zadeklarować listę akceptowanych typów MIME, aby kontakt pojawiał się tylko na kartach, które Cię interesują. Aby otrzymywać powiadomienia o tym, że użytkownik udostępnił kontakt z Twoją kartą osi czasu, możesz zasubskrybować powiadomienia na osi czasu.

Tworzenie kontaktu

Aby zezwolić użytkownikom na udostępnianie elementów osi czasu w Google Glass, wstaw kontakt, wysyłając POST w formacie JSON kontaktu do punktu końcowego REST.

Wszystkie kontakty muszą określać właściwość id, który identyfikuje kontakt z oprogramowaniem Glassware odbierającym powiadomienia. Musisz też określić właściwość displayName i przynajmniej jeden obiekt imageUrls, którego Google Glass używa do wyświetlania informacji kontaktowych użytkownikowi.

Nieprzetworzony protokół HTTP

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
}

Subskrybowanie powiadomień o udostępnianiu

Interfejs Mirror API umożliwia subskrypcję powiadomień wysyłanych, gdy użytkownik wykona określone działania dotyczące Elementu osi czasu lub po zaktualizowaniu lokalizacji użytkownika. Gdy subskrybujesz powiadomienie, podajesz adres URL wywołania zwrotnego, który je przetwarza.

Powiadomienie z interfejsu Mirror API jest wysyłane jako żądanie POST do subskrybowanego punktu końcowego zawierającego treść żądania JSON.

Nieprzetworzony protokół HTTP

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

Atrybut itemId to ID udostępnianego elementu na osi czasu, którego możesz użyć w połączeniu z Timeline.get. Poniższy przykład pokazuje typowy element na osi czasu z załącznikiem ze zdjęciem:

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

Jeśli nie wystąpił błąd, usługa musi odpowiedzieć na interfejs API za pomocą kodu stanu HTTP 200 OK. Jeśli usługa zwróci kod błędu, interfejs Mirror API może spróbować ponownie wysłać powiadomienie do Twojej usługi.

Odbieranie transkrypcji mowy

Użytkownicy mogą udostępniać transkrypcję mowy kontaktowi za pomocą głównego menu głosowego. Istnieją 2 polecenia głosowe, których może używać kontakt:

  • „zanotuj”
  • „Opublikuj aktualizację”

Użytkownik może na przykład opowiedzieć nam o nadchodzących urodzinach Chipotle w postaci frazy „Ok Google Glass... Strumień kota... Chipotle ma jutro urodziny!

Aby używać poleceń głosowych:

  1. Określ właściwość acceptCommands z odpowiednią wartością type:

    {
      ...
    
      "displayName": "Cat Stream",
      "id": "CAT_STREAM",
      "acceptCommands": [
        {"type": "POST_AN_UPDATE"}
      ]
    }
    
  2. Zasubskrybuj powiadomienia z osią czasu, aby otrzymywać powiadomienia o transkrypcji. Urządzenie Glassware otrzyma powiadomienie, gdy:

    {
      "collection": "timeline",
      "operation": "UPDATE",
      "userToken": "<USER_TOKEN>",
      "verifyToken": "<VERIFY_TOKEN>",
      "itemId": "<ITEM_ID>",
      "userActions": [
        {"type": "LAUNCH"}
      ]
    }
    
  3. Użyj elementu itemId, aby pobrać element osi czasu:

    {
      "id": "<ITEM_ID>",
      "text": "Chipotle's birthday is tomorrow",
      "recipients": [
        {"id": "CAT_STREAM"}
      ]
    }
    
  4. Jeśli więcej niż 1 urządzenie Glass zarejestruje kontakt za pomocą tego samego polecenia głosowego, Google Glass wyświetli menu drugiego poziomu, gdzie zobaczysz ikonę displayName każdego kontaktu. Użytkownicy mogą powiedzieć wybranym przez siebie kontaktom. Jeśli znak displayName kontaktu jest niezrozumiały lub nie ma fonetycznego znaczenia, użyj właściwości speakableName, aby zadeklarować oczekiwaną wymowę osoby kontaktowej.

Napisy do udostępnionych zdjęć

Użytkownicy mogą udostępniać zdjęcia do Google Glass wraz z dołączonymi napisami. Ogólny przepływ użytkowników wygląda tak:

  1. Użytkownik klika element osi czasu zawierający zdjęcie, następnie wpisuje pozycję w menu Udostępnij i zaznacza kontakt.
  2. Po krótkim czasie ponownie klika użytkownik, aby dodać podpis do zdjęcia.
  3. Użytkownik pisze napis.
  4. Element na osi czasu jest udostępniany urządzeniu Glassware zgodnie z opisem w sekcji Jak to działa. Oprócz tego właściwość text osi czasu jest dodawana do napisów utworzonych przez użytkownika.