Kontakty

Kontakty umożliwiają urządzeniu Glassware otrzymywanie elementów osi czasu, które nie zostały utworzone. Użytkownicy muszą jawnie udostępnić kontaktowi element osi czasu, klikając pozycję Udostępnij w menu karty.

Jak działają

Po utworzeniu kontaktu do udostępnienia karty z osią czasu będą udostępniane w następujący sposób:

  1. Utwórz kontakt i określ, które typy MIME są obsługiwane przez ten kontakt.
  2. Wstaw kontakt na osi czasu użytkownika.
  3. Użytkownik otrzymuje pozycję na osi czasu z pozycją menu Udostępnij. Oprogramowanie Glassware musi wyraźnie zezwalać użytkownikom na udostępnianie elementów za pomocą tego elementu menu.
  4. Użytkownik klika element osi czasu, wybiera pozycję menu Udostępnij i wybiera kontakt.
  5. Interfejs Mirror API tworzy kopię udostępnionej osi czasu, przyznaje kontaktowi dostęp do tej kopii i umieszcza ją na osi czasu użytkownika. Urządzenie Glassware nie ma dostępu do oryginalnego elementu osi czasu.
  6. Jeśli masz zasubskrybowaną opcję udostępniania powiadomień, otrzymasz ładunek zawierający informacje identyfikujące kartę osi czasu. Następnie możesz pobrać element osi czasu za pomocą Timeline.get.
  7. Modyfikujesz udostępnioną kartę osi czasu i aktualizujesz dotychczasową kartę osi czasu za pomocą pliku 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 Ciebie, dlatego kontakty pozwalają na udostępnianie danych przez oprogramowanie Glassware do Glassware za zgodą użytkownika.

Urządzenia Glassware mogą korzystać z kontaktów na dwa główne sposoby:

  • Zezwalaj użytkownikom na udostępnianie elementów osi czasu innym kontaktom: dodaj wbudowaną pozycję menu SHARE do karty osi czasu. Gdy użytkownik kliknie opcję Udostępnij w menu, Glass wyświetli listę kontaktów, którym możesz udostępnić treści.

  • Zezwalaj użytkownikom na udostępnianie elementów osi czasu usłudze Glassware: utwórz kontakt reprezentujący oprogramowanie Glassware. Gdy użytkownicy chcą udostępnić kartę osi czasu, Twój kontakt pojawi się jako opcja. Możesz też zadeklarować listę akceptowanych typów MIME, aby kontakt pojawiał się tylko w przypadku interesujących Cię kart. Aby otrzymywać powiadomienia, gdy użytkownicy udostępnią kontaktowi kartę osi czasu, możesz zasubskrybować powiadomienia z osią czasu.

Tworzenie kontaktu

Aby umożliwić użytkownikom udostępnianie elementów osi czasu usłudze Glassware, wstaw kontakt, POSTĘPując reprezentację kontaktu w formacie JSON w punkcie końcowym REST.

Wszystkie kontakty muszą mieć określony identyfikator id, który identyfikuje kontakt odbierający powiadomienia przez Glassware. Musisz też określić displayName i co najmniej 1 imageUrls, za pomocą których Glass będzie wyświetlać informacje kontaktowe użytkownikowi.

Nieprzetworzony kod 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 subskrybowanie powiadomień wysyłanych, gdy użytkownik wykona określone działania na elemencie osi czasu lub po zaktualizowaniu lokalizacji użytkownika. Gdy subskrybujesz powiadomienie, podajesz adres URL wywołania zwrotnego, który przetwarza powiadomienie.

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

Nieprzetworzony kod HTTP

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

Atrybut itemId to element ID udostępnionego elementu osi czasu, którego możesz użyć z plikiem Timeline.get, aby uzyskać ten element. Poniższy przykład pokazuje typowy element osi czasu z załączonym 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, Twoja usługa musi odpowiedzieć na interfejs API kodem stanu HTTP 200 OK. Jeśli usługa w odpowiedzi wyświetli kod błędu, interfejs Mirror API może spróbować ponownie wysłać powiadomienie do usługi.

Odbieram transkrypcję mowy

Użytkownicy mogą udostępniać kontaktom transkrypcję mowy za pomocą głównego menu głosowego. Twój kontakt może obecnie używać dwóch poleceń głosowych:

  • „zanotuj”
  • „Opublikuj aktualizację”

Użytkownik może na przykład poinformować nas o zbliżających się urodzinach Chipotle'a, mówiąc: „OK Glass... opublikuj aktualizację... Kocie strumień... Chipotle ma jutro urodziny!”

Aby użyć poleceń głosowych:

  1. Określ właściwość acceptCommands za pomocą odpowiedniego parametru type:

    {
      ...
    
      "displayName": "Cat Stream",
      "id": "CAT_STREAM",
      "acceptCommands": [
        {"type": "POST_AN_UPDATE"}
      ]
    }
    
  2. Zasubskrybuj powiadomienia z osią czasu, aby otrzymywać powiadomienia o dostępności transkrypcji mowy. 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 narzędzia 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 oprogramowanie Glassware rejestruje kontakt za pomocą tego samego polecenia głosowego, Glass wyświetla menu drugiego poziomu z displayName każdego kontaktu. Użytkownik może następnie odczytać na głos wybrany kontakt. Jeśli element displayName kontaktu zawiera niedozwolone znaki lub nie jest fonetyczny, użyj właściwości speakableName, by zadeklarować oczekiwaną wymowę kontaktu udostępniającego.

Napisy do udostępnionych zdjęć

Użytkownicy mogą udostępniać zdjęcia za pomocą Google Glassware z napisem wpisywanym za pomocą mowy. Ogólna procedura użytkownika wygląda tak:

  1. Użytkownik klika element na osi czasu ze zdjęciem, wybiera pozycję menu Udostępnij i wybiera kontakt.
  2. W krótkim czasie użytkownik ponownie klika przycisk, aby dodać do zdjęcia podpis.
  3. Użytkownik wypowiada podpis.
  4. Element osi czasu jest udostępniany usłudze Glassware w sposób opisany powyżej w sekcji Jak działają. Dodatkowo właściwość text elementu osi czasu zawiera napisy utworzone przez użytkownika.