API Ambient позволяет вашему приложению подключать внешние устройства к учетной записи пользователя Google Фото и отображать выбранные им фотографии.
Поток API Ambient
Ниже приведено описание того, как работает Ambient API для подключения устройства, а затем извлечения и отображения элементов мультимедиа:
Проверка существующего устройства (рекомендуется): перед созданием нового устройства рекомендуется проверить, существует ли уже устройство для текущего пользователя. Ваше приложение должно поддерживать сопоставление между вашим внутренним пользователем и предоставленным Google
deviceIdдля любых устройств, которые они создают через ваше приложение. ЕслиdeviceIdдля пользователя найден, вы можете приступить к обновлению его токена авторизации (при необходимости).Инициируйте авторизацию OAuth 2.0 (и при необходимости создайте устройство): начните процесс авторизации OAuth 2.0 для телевизоров и устройств с ограниченными возможностями ввода, запросив код авторизации.
Создание нового устройства: Ваше приложение создает устройство в аккаунте Google Фото пользователя, вызывая
CreateDeviceи предоставляя действительный UUID v4.После успешного создания устройства API вернет объект
AmbientDevice, содержащий назначенный GoogledeviceId. Для вашего приложения крайне важно сохранить этотdeviceIdи связать его с вашими пользователями.Отображение
settingsUri: объектAmbientDeviceвключаетsettingsUri. Предоставьте этот URI пользователю, обычно в виде QR-кода, который пользователь может отсканировать с помощью своего мобильного устройства. Этот URI направляет пользователя в приложение Google Photos, где он может настроить источники мультимедиа (например, альбомы), которые он хочет отображать на своем внешнем устройстве.Опрос
mediaSourcesSet: Ваше приложение должно периодически вызывать методGetDevice, предоставляяdeviceId, чтобы проверить состояние окружающего устройства. Отслеживайте полеmediaSourcesSetв ответеAmbientDevice. Изначально оно будет иметь значение false.После того, как пользователь успешно выбрал источники мультимедиа в приложении Google Фото, это поле изменится на true.
Ответ
AmbientDeviceвключаетpollingConfigсpollInterval, который следует использовать в качестве ориентира для частоты опроса.Извлечение элементов мультимедиа: когда
mediaSourcesSetвозвращает значение true, ваше приложение может начать извлечение элементов мультимедиа, выбранных пользователем.Вызовите метод
ListMediaItems, указавdeviceId. API вернетListMediaItemsResponse, содержащий список объектовAmbientMediaItem. КаждыйAmbientMediaItemвключает такие данные, какid,createTimeи объектMediaFileс дополнительными метаданными.MediaFileсодержитbaseUrl, который можно использовать для извлечения фактических байтов элемента мультимедиа. Ознакомьтесь с руководством по списку и извлечению элементов мультимедиа для получения подробной информации о дополнительных параметрахbaseUrl.Отображение элементов мультимедиа: используйте
baseUrlизMediaFileдля загрузки и отображения медиаконтента на внешнем устройстве.
Важные соображения
Ограничение и управление устройством:
- Ограничения по количеству устройств: помните, что на одного пользователя вашего приложения действует ограничение в 100 устройств.
- Активность устройства и токены: вам нужно будет управлять жизненным циклом устройств и токенов авторизации пользователей. Подумайте, как долго устройства остаются активными и как вы будете обрабатывать обновления токенов или повторную авторизацию, если устройство станет неактивным или истечет срок действия токена.
Дополнительные сведения см. в руководстве по созданию и управлению устройствами .
Работа с медиа-элементами:
- Использование медиа-элемента: узнайте, как правильно извлекать и обрабатывать содержимое медиа-элемента с помощью
baseUrl, включая необходимую аутентификацию или параметры. - Обработка ошибок: реализуйте надежную обработку ошибок для вызовов API, включая такие сценарии, как
NOT_FOUNDдля устройств,FAILED_PRECONDITIONесли источники мультимедиа не установлены, иRESOURCE_EXHAUSTEDесли достигнуты ограничения устройств.
Дополнительные сведения см. в руководстве по составлению списка и извлечению элементов мультимедиа .
Следующие шаги
- Настройте приложение: убедитесь, что у вас есть необходимые учетные данные и вы настроили приложение для OAuth 2.0 для ТВ и устройств с ограниченными возможностями ввода .
- Ознакомьтесь со справочной документацией Ambient API: изучите подробную справочную документацию по всем доступным методам, параметрам запросов и ответов, а также кодам ошибок.