Ambient API memungkinkan aplikasi Anda menghubungkan perangkat standby ke akun Google Foto pengguna dan menampilkan foto yang dipilih.
Alur Ambient API
Berikut adalah perincian cara kerja Ambient API untuk menghubungkan perangkat, lalu mengambil dan menampilkan item media:
Periksa perangkat yang ada (direkomendasikan): Sebelum membuat perangkat baru, sebaiknya periksa apakah perangkat untuk pengguna saat ini sudah ada. Aplikasi Anda harus mempertahankan pemetaan antara pengguna internal dan
deviceIdyang disediakan Google untuk perangkat apa pun yang mereka buat melalui aplikasi Anda. JikadeviceIdditemukan untuk pengguna, Anda dapat melanjutkan untuk memuat ulang token otorisasi mereka (jika diperlukan).Memulai otorisasi OAuth 2.0 (dan secara opsional membuat perangkat): Mulai alur OAuth 2.0 untuk TV dan Perangkat Input Terbatas dengan meminta kode otorisasi.
Membuat perangkat baru: Aplikasi Anda membuat perangkat di akun Google Foto pengguna dengan memanggil
CreateDevicedan memberikan UUID v4 yang valid.Setelah pembuatan perangkat berhasil, API akan menampilkan objek
AmbientDeviceyang berisideviceIdyang ditetapkan Google. Aplikasi Anda harus menyimpandeviceIdini dan mengaitkannya dengan pengguna.Menampilkan
settingsUri: objekAmbientDevicemenyertakansettingsUri. Tampilkan URI ini kepada pengguna, biasanya sebagai kode QR, yang dapat dipindai pengguna menggunakan perangkat seluler mereka. URI ini mengarahkan pengguna ke aplikasi Google Foto tempat mereka dapat mengonfigurasi sumber media (misalnya, album) yang ingin ditampilkan di perangkat standby.Melakukan polling untuk
mediaSourcesSet: Aplikasi Anda harus memanggil metodeGetDevicesecara berkala, yang menyediakandeviceId, untuk memeriksa status perangkat standby. Pantau kolommediaSourcesSetdalam responsAmbientDevice. Awalnya, nilainya akan salah.Setelah pengguna berhasil memilih sumber media di aplikasi Google Foto, kolom ini akan berubah menjadi benar.
Respons
AmbientDevicemenyertakanpollingConfigdenganpollIntervalyang harus Anda gunakan sebagai panduan untuk frekuensi polling.Mengambil item media: Jika
mediaSourcesSetmenampilkan true, aplikasi Anda dapat mulai mengambil item media yang dipilih oleh pengguna.Panggil metode
ListMediaItems, yang menyediakandeviceId. API akan menampilkanListMediaItemsResponseyang berisi daftar objekAmbientMediaItem. SetiapAmbientMediaItemmenyertakan detail seperti objekid,createTime, danMediaFiledengan metadata tambahan.MediaFileberisibaseUrlyang dapat Anda gunakan untuk mengambil byte item media yang sebenarnya. Tinjau panduan untuk Mencantumkan dan mengambil item media untuk mengetahui detail tentang parameterbaseUrltambahan.Menampilkan Item Media: Gunakan
baseUrldariMediaFileuntuk mendownload dan menampilkan konten media di perangkat standby.
Pertimbangan Penting
Batasan dan pengelolaan perangkat:
- Batas perangkat: Perhatikan batas 100 perangkat per pengguna aplikasi Anda.
- Aktivitas dan token perangkat: Anda harus mengelola siklus proses perangkat dan token otorisasi pengguna. Pertimbangkan berapa lama perangkat tetap aktif dan cara Anda menangani pembaruan token atau otorisasi ulang jika perangkat menjadi tidak aktif atau token berakhir masa berlakunya.
Panduan untuk Membuat dan mengelola perangkat memiliki detail tambahan.
Menggunakan item media:
- Penggunaan item media: Pahami cara mengambil dan menangani konten item media
dengan benar menggunakan
baseUrl, termasuk autentikasi atau parameter yang diperlukan. - Penanganan error: Terapkan penanganan error yang andal untuk panggilan API, termasuk
skenario seperti
NOT_FOUNDuntuk perangkat,FAILED_PRECONDITIONjika sumber media tidak ditetapkan, danRESOURCE_EXHAUSTEDjika batas perangkat tercapai.
Panduan untuk Mencantumkan dan mengambil item media memiliki detail tambahan.
Langkah Berikutnya
- Konfigurasi aplikasi Anda: Pastikan Anda memiliki kredensial yang diperlukan dan telah mengonfigurasi aplikasi untuk OAuth 2.0 untuk TV dan Perangkat Input Terbatas.
- Tinjau Dokumentasi Referensi Ambient API: Jelajahi dokumentasi referensi mendetail untuk semua metode, parameter permintaan dan respons, serta kode error yang tersedia.