Ambient API를 사용하면 애플리케이션이 주변 기기를 사용자의 Google 포토 계정에 연결하고 선택한 사진을 표시할 수 있습니다.
Ambient API 흐름
다음은 Ambient API가 기기를 연결한 후 미디어 항목을 가져와 표시하는 방식에 관한 분석입니다.
기존 기기 확인 (권장): 새 기기를 만들기 전에 현재 사용자의 기기가 이미 있는지 확인하는 것이 좋습니다. 애플리케이션은 내부 사용자와 Google에서 제공하는
deviceId간의 매핑을 유지해야 합니다. 사용자의deviceId가 발견되면 필요한 경우 승인 토큰을 새로고침할 수 있습니다.OAuth 2.0 승인 시작 (선택적으로 기기 생성): 승인 코드를 요청하여 TV 및 제한된 입력 기기용 OAuth 2.0 흐름을 시작합니다.
새 기기 만들기: 앱이
CreateDevice를 호출하고 유효한 v4 UUID를 제공하여 사용자의 Google 포토 계정에 기기를 만듭니다.기기 생성이 성공하면 API는 Google에서 할당한
deviceId이 포함된AmbientDevice객체를 반환합니다. 애플리케이션이 이deviceId를 저장하고 사용자와 연결하는 것이 중요합니다.settingsUri표시:AmbientDevice객체에settingsUri가 포함됩니다. 이 URI를 사용자에게 표시합니다(일반적으로 사용자가 휴대기기를 사용하여 스캔할 수 있는 QR 코드). 이 URI는 사용자를 Google 포토 앱으로 안내합니다. 여기에서 사용자는 화면 보호 모드 기기에 표시할 미디어 소스 (예: 앨범)를 구성할 수 있습니다.mediaSourcesSet폴링: 애플리케이션은 주기적으로GetDevice메서드를 호출하여deviceId를 제공하여 주변 기기의 상태를 확인해야 합니다.AmbientDevice응답에서mediaSourcesSet필드를 모니터링합니다. 처음에는 false입니다.사용자가 Google 포토 앱에서 미디어 소스를 선택하면 이 필드가 true로 변경됩니다.
AmbientDevice응답에는pollInterval이 포함된pollingConfig이 포함되어 있으며, 이를 폴링 빈도의 가이드라인으로 사용해야 합니다.미디어 항목 가져오기:
mediaSourcesSet가 true를 반환하면 애플리케이션이 사용자가 선택한 미디어 항목을 가져오기 시작할 수 있습니다.ListMediaItems메서드를 호출하여deviceId을 제공합니다. API는AmbientMediaItem객체 목록이 포함된ListMediaItemsResponse를 반환합니다. 각AmbientMediaItem에는id,createTime, 추가 메타데이터가 포함된MediaFile객체와 같은 세부정보가 포함됩니다.MediaFile에는 미디어 항목의 실제 바이트를 가져오는 데 사용할 수 있는baseUrl가 포함되어 있습니다. 추가baseUrl매개변수에 관한 자세한 내용은 미디어 항목 나열 및 검색 가이드를 참고하세요.미디어 항목 표시:
MediaFile의baseUrl를 사용하여 앰비언트 기기에 미디어 콘텐츠를 다운로드하고 표시합니다.
중요한 고려사항
기기 한도 및 관리:
- 기기 제한: 애플리케이션 사용자당 기기 제한이 100개임을 알아야 합니다.
- 기기 활동 및 토큰: 기기 및 사용자 승인 토큰의 수명 주기를 관리해야 합니다. 기기가 활성 상태로 유지되는 기간과 기기가 비활성화되거나 토큰이 만료되는 경우 토큰 갱신 또는 재인증을 처리하는 방법을 고려하세요.
기기 만들기 및 관리 가이드에 자세한 내용이 나와 있습니다.
미디어 항목 작업:
- 미디어 항목 사용: 필요한 인증 또는 매개변수를 포함하여
baseUrl를 사용하여 미디어 항목 콘텐츠를 올바르게 가져오고 처리하는 방법을 이해합니다. - 오류 처리: 기기의 경우
NOT_FOUND, 미디어 소스가 설정되지 않은 경우FAILED_PRECONDITION, 기기 한도에 도달한 경우RESOURCE_EXHAUSTED와 같은 시나리오를 포함하여 API 호출에 대한 강력한 오류 처리를 구현합니다.
미디어 항목 나열 및 검색 가이드에는 콘텐츠 정책 및 필터링에 관한 정보를 비롯한 추가 세부정보가 있습니다.
다음 단계
- 애플리케이션 구성: 필요한 사용자 인증 정보가 있고 TV 및 제한된 입력 기기용 OAuth 2.0에 맞게 애플리케이션을 구성했는지 확인합니다.
- Ambient API 참조 문서 검토: 사용 가능한 모든 메서드, 요청 및 응답 매개변수, 오류 코드에 관한 자세한 참조 문서를 살펴보세요.