Wyświetlanie i pobieranie elementów multimedialnych

Gdy użytkownik skonfiguruje urządzenie w trybie otoczenia i wybierze źródła multimediów w Zdjęciach Google, Twoja aplikacja może wyświetlać te multimedia i je pobierać.

Zanim rozpoczniesz

Ankieta dotycząca mediaSourcesSet

Zanim będzie można wyświetlić elementy multimedialne na urządzeniu, użytkownik musi wybrać w aplikacji Zdjęcia Google zdjęcia, które chce udostępnić Twojej aplikacji. Twoja aplikacja musi odpytywać urządzenie, aby określić, kiedy dokonano wyboru.

Okresowo wywołuj metodę devices.get dla konkretnego deviceId. Monitoruj pole mediaSourcesSet w odpowiedzi AmbientDevice. Początkowo będzie to false. Gdy użytkownik wybierze źródła multimediów, to pole zmieni się na true.

Odpowiedź AmbientDevice zawiera pollingConfigpollInterval, które powinny być dla Ciebie wskazówką dotyczącą częstotliwości odpytywania.

Wyświetlanie listy elementów multimedialnych

Gdy stan mediaSourcesSet urządzenia zmieni się na true, możesz zacząć pobierać elementy multimedialne wybrane przez użytkownika.

  1. Użyj punktu końcowego mediaItems.list: wyślij żądanie GET do https://photosambient.googleapis.com/v1/mediaItems, podając w ścieżce deviceId.

  2. Obsługa podziału na strony (w razie potrzeby): odpowiedź może być podzielona na strony. Użyj parametru pageSize, aby określić maksymalną liczbę elementów do zwrócenia, oraz parametru pageToken z poprzedniej odpowiedzi, aby pobrać kolejne strony wyników.

  3. Przetwarzanie elementów multimedialnych: odpowiedź będzie zawierać tablicę obiektówAmbientMediaItem, z których każdy reprezentuje wybrany element multimedialny. Obiekty te zawierają podstawowe informacje, takie jak:

    • id: unikalny identyfikator elementu multimedialnego.
    • creationTime: sygnatura czasowa utworzenia elementu multimedialnego.
    • mediaFile: obiekt zawierający szczegóły dostępu do rzeczywistej treści.

Pole mediaFile zawiera baseUrl. Ten baseUrl posłuży Ci do tworzenia adresów URL umożliwiających dostęp do treści elementu multimedialnego w różnych rozdzielczościach i formatach.

Podstawowe URL-e

Podstawowe adresy URL w interfejsach API Zdjęć Google zapewniają dostęp do surowych bajtów elementów multimedialnych, dzięki czemu aplikacja może je pobierać lub wyświetlać. Te adresy URL są uwzględniane w odpowiedziach podczas wyświetlania listy albumów (interfejs Library API) lub uzyskiwania dostępu do plików multimedialnych (interfejsy Library API i Picker API). Pamiętaj, że podstawowe adresy URL wymagają dodatkowych parametrów, aby działać prawidłowo.

W przypadku interfejsu Picker API:

Wszystkie obiekty PickedMediaItem.mediaFile zawierają atrybut baseUrl.

Podstawowe adresy URL pozostają aktywne przez 60 minut, ale mogą wygasnąć wcześniej, jeśli użytkownik cofnie uprawnienia aplikacji w ustawieniach konta Google.

W przypadku interfejsu Library API:

Adresy URL pozostają aktywne przez 60 minut.

Oto różne podstawowe adresy URL:

  • baseUrl: bezpośredni dostęp do zdjęcia, miniatury filmu lub pobieranie bajtów filmu.
  • coverPhotoBaseUrl: bezpośredni dostęp do zdjęcia na okładce albumu;
  • profilePictureBaseUrl: bezpośredni dostęp do zdjęcia profilowego właściciela mediaItem.

Podstawowe adresy URL obrazów

Oto lista opcji, których możesz używać z podstawowymi adresami URL obrazów:

Parametr
w, h

Opis

Parametry szerokości w i wysokości h.

Aby uzyskać dostęp do elementu multimedialnego w postaci obrazu, np. zdjęcia lub miniatury filmu, musisz określić wymiary, w jakich chcesz go wyświetlać w aplikacji (aby można było przeskalować obraz do tych wymiarów przy zachowaniu współczynnika proporcji). Aby to zrobić, połącz podstawowy adres URL z wymaganymi wymiarami, jak pokazano w przykładach.

Przykłady:

base-url=wmax-width-hmax-height

Oto przykład wyświetlania elementu multimedialnego o szerokości nie większej niż 2048 pikseli i wysokości nie większej niż 1024 piksele:

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

Opis

Parametr przycięcia c.

Jeśli chcesz przyciąć obraz do określonej szerokości i wysokości, połącz podstawowy adres URL z opcjonalnym parametrem -c oraz obowiązkowymi parametrami wh.

Rozmiar (w pikselach) powinien mieścić się w zakresie [1, 16383]. Jeśli szerokość lub wysokość obrazu przekracza żądany rozmiar, obraz jest zmniejszany i przycinany (przy zachowaniu współczynnika proporcji).

Przykłady:

base-url=wmax-width-hmax-height-c

W tym przykładzie aplikacja wyświetla element multimedialny o wymiarach dokładnie 256 × 256 pikseli, np. miniaturę:

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

Opis

Parametr pobierania d.

Jeśli chcesz pobrać obraz z zachowaniem wszystkich metadanych Exif z wyjątkiem metadanych lokalizacji, połącz podstawowy adres URL z parametrem d.

Przykłady:

base-url=d

W tym przykładzie aplikacja pobiera obraz ze wszystkimi metadanymi z wyjątkiem metadanych lokalizacji:

https://lh3.googleusercontent.com/p/Az....XabC=d

Podstawowe adresy URL filmów

Oto lista opcji, których możesz używać z podstawowymi adresami URL filmów:

Parametr
dv

Opis

Aby uzyskać dostęp do bajtów filmu mediaItem, połącz parametr baseUrl z parametrem pobierania filmu dv.

Parametr dv wysyła żądanie transkodowanej wersji oryginalnego filmu w wysokiej jakości. Parametr jest niezgodny z parametrami wh.

Zwrócenie bajtów przez podstawowe adresy URL pobierania filmów może potrwać kilka sekund.

Zanim użyjesz tego parametru, sprawdź, czy pole mediaMetadata.status w przypadku elementów multimedialnych ma wartość READY. W przeciwnym razie, jeśli plik multimedialny nie został jeszcze przetworzony, może pojawić się błąd.

Przykłady:

base-url=dv

Poniższy przykład pokazuje, jak pobrać bajty filmu:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w, h, c i d

Opis

Aby uzyskać dostęp do miniatury filmu, użyj dowolnego z parametrów podstawowego adresu URL obrazu.

Domyślnie wszystkie miniatury filmów zawierają nakładkę z przyciskiem odtwarzania. Aby usunąć tę nakładkę, użyj parametru -no.

Przykłady:

Przykłady znajdziesz w tabeli podstawowych adresów URL obrazów.

no

Opis

Parametr remove thumbnail overlay no.

Jeśli chcesz pobrać miniaturę filmu bez nakładki przycisku odtwarzania, połącz podstawowy adres URL z parametrem no.

Parametr no musi być używany z co najmniej jednym z parametrów podstawowego adresu URL obrazu.

Przykłady:

base-url=wmax-width-hmax-height-no

Poniższy przykład przedstawia miniaturę filmu o szerokości dokładnie 1280 pikseli i wysokości 720 pikseli, która nie zawiera nakładki z przyciskiem odtwarzania:

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

Podstawowe adresy URL zdjęć ruchomych

Zdjęcia ruchome zawierają elementy zdjęć i filmów. W przypadku żądań dotyczących zdjęć z ruchem baseUrl możesz używać parametrów z podstawowych adresów URL obrazów lub podstawowych adresów URL filmów.

Parametr
dv

Opis

Aby pobrać element wideo z elementu multimedialnego w postaci zdjęcia w ruchu, użyj parametru dv tak jak w przypadku pobierania z podstawowych adresów URL filmów.

w, h, c i d

Opis

Aby pobrać element zdjęcia z multimediów w postaci zdjęcia w ruchu, użyj formatu podstawowych adresów URL obrazów.

Zasady dotyczące treści i filtrowanie

Zdjęcia Google domyślnie stosują standardowe filtrowanie treści w przypadku zdjęć i filmów wyświetlanych na urządzeniu współdzielonym, takim jak telewizor lub wyświetlacz cyfrowy. Ten filtr został zaprojektowany z myślą o optymalizacji komfortu oglądania przez wykluczanie treści takich jak:

  • Obrazy funkcjonalne (np. zrzuty ekranu, dokumenty, rachunki).
  • Obrazy, które mogą być słabo wyświetlane na dużym ekranie (np. bardzo niska rozdzielczość, rozmycie, nadmierne ziarno).
  • Treści uznane za wysoce osobiste lub wrażliwe, które mogą nie być przeznaczone do ogólnego wyświetlania w miejscach publicznych.

Filtrowanie treści jest w pełni zautomatyzowane. Aby dać użytkownikom większą kontrolę nad wyświetlanymi treściami, możesz zezwolić im na ręczne wybieranie i aktualizowanie źródeł multimediów używanych na ekranie ambientowym.

Następne kroki

  • Przykładowa aplikacja: nasza przykładowa aplikacja zawiera przykład wyświetlania i pobierania elementów multimedialnych. Więcej informacji znajdziesz w opisach funkcji checkMediaSourcesSetfetch_media_item_list.
  • Dokumentacja: zapoznaj się z obszerną dokumentacją referencyjną dotyczącą elementów multimedialnych, aby uzyskać szczegółowe informacje o wszystkich dostępnych metodach, parametrach żądań i odpowiedzi oraz kodach błędów.