API Ambient позволяет вашему приложению подключать устройства Ambient к учетной записи Google Photos пользователя и отображать выбранные им фотографии.
Поток Ambient API
Вот как работает Ambient API для подключения к устройству, а затем для получения и отображения медиафайлов:
Проверка наличия существующего устройства (рекомендуется): Перед созданием нового устройства рекомендуется проверить, существует ли уже устройство для текущего пользователя. Ваше приложение должно поддерживать сопоставление между внутренним пользователем и предоставленным Google
deviceIdдля всех устройств, создаваемых пользователем через ваше приложение. ЕслиdeviceIdнайден для пользователя, вы можете приступить к обновлению его токена авторизации (при необходимости).Инициируйте авторизацию OAuth 2.0 (и при необходимости создайте устройство): Запустите процесс авторизации OAuth 2.0 для телевизоров и устройств с ограниченным набором входных данных, запросив код авторизации.
Создание нового устройства: Ваше приложение создает устройство в учетной записи Google Фото пользователя, вызывая функцию
CreateDeviceи указывая действительный UUID версии 4.После успешного создания устройства API вернет объект
AmbientDevice, содержащийdeviceId, присвоенный Google. Для вашего приложения крайне важно хранить этотdeviceIdи связывать его с пользователями.Отобразите
settingsUri: объектAmbientDeviceсодержитsettingsUri. Покажите этот URI пользователю, обычно в виде QR-кода, который пользователь может отсканировать с помощью своего мобильного устройства. Этот URI направляет пользователя в приложение Google Фото, где он может настроить источники мультимедиа (например, альбомы), которые он хочет отображать на своем устройстве AmbientDevice.Poll for
mediaSourcesSet: Your application should periodically call theGetDevicemethod, providing thedeviceId, to check the status of the ambient device. Monitor themediaSourcesSetfield in theAmbientDeviceresponse. It will initially be false.После того как пользователь успешно выберет источники мультимедиа в приложении Google Фото, значение этого поля изменится на «истина».
В ответе
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 для телевизоров и устройств с ограниченным набором входных данных .
- Ознакомьтесь со справочной документацией по API Ambient: изучите подробную справочную документацию по всем доступным методам, параметрам запроса и ответа, а также кодам ошибок.