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
- Sprawdź konfigurację urządzenia: upewnij się, że urządzenie zostało utworzone i skonfigurowane dla użytkownika.
- Poznaj przepływ interfejsu Ambient API: zapoznaj się z przepływem interfejsu Ambient API, aby poznać cały proces, a zwłaszcza krok związany z odpytywaniem o
mediaSourcesSet.
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 pollingConfig z pollInterval, 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.
Użyj punktu końcowego
mediaItems.list: wyślij żądanie GET dohttps://photosambient.googleapis.com/v1/mediaItems, podając w ścieżcedeviceId.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 parametrupageTokenz poprzedniej odpowiedzi, aby pobrać kolejne strony wyników.Przetwarzanie elementów multimedialnych: odpowiedź będzie zawierać tablicę obiektów
AmbientMediaItem, 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ścicielamediaItem.
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 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 Jeśli chcesz przyciąć obraz do określonej szerokości i wysokości, połącz podstawowy adres URL z opcjonalnym parametrem 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 Jeśli chcesz pobrać obraz z zachowaniem wszystkich metadanych Exif z wyjątkiem metadanych lokalizacji, połącz podstawowy adres URL z parametrem 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 Parametr dv wysyła żądanie transkodowanej wersji oryginalnego filmu w wysokiej jakości. Parametr jest niezgodny z parametrami w i h. Zwrócenie bajtów przez podstawowe adresy URL pobierania filmów może potrwać kilka sekund. Zanim użyjesz tego parametru, sprawdź, czy pole 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 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 |
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
checkMediaSourcesSetifetch_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.