Ambient API позволяет подключать устройства к аккаунту Google Фото пользователя и показывать на них выбранные фотографии.
Процесс работы Ambient API
Ниже описано, как Ambient API подключает устройство, а затем получает и показывает мультимедийные объекты.
Проверка наличия устройства (рекомендуется). Перед созданием нового устройства рекомендуется проверить, существует ли уже устройство для текущего пользователя. Ваше приложение должно поддерживать сопоставление между внутренним идентификатором пользователя и предоставленным Google идентификатором
deviceIdдля всех устройств, созданных через ваше приложение. Если для пользователя найден идентификаторdeviceId, вы можете обновить его токен авторизации (если это необходимо).Инициируйте авторизацию OAuth 2.0. Начните процесс OAuth 2.0 для телевизоров и устройств с ограниченными возможностями ввода, запросив код авторизации.
Создание устройства. Приложение создает устройство в аккаунте Google Фото пользователя, вызывая
CreateDeviceи предоставляя действительный UUID версии 4.После успешного создания устройства API вернет объект
AmbientDevice, содержащий назначенный GoogledeviceId. Ваше приложение должно сохранять этотdeviceIdи связывать его с пользователями.Покажите
settingsUri. ОбъектAmbientDeviceвключаетsettingsUri. Покажите пользователю этот URI, обычно в виде QR-кода, который можно отсканировать с помощью мобильного устройства. Этот URI направляет пользователя в приложение "Google Фото", где он может настроить источники медиаконтента (например, альбомы), которые хочет показывать на устройстве в режиме заставки.Опрос
mediaSourcesSet. Приложение должно периодически вызывать методGetDevice, предоставляяdeviceId, чтобы проверять статус устройства Ambient. Отслеживайте поле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. В подробной справочной документации описаны все доступные методы, параметры запросов и ответов, а также коды ошибок.