رابط برنامهنویسی کاربردی Ambient به برنامه شما این امکان را میدهد که دستگاههای محیطی را به حساب Google Photos کاربر متصل کرده و عکسهای انتخاب شده او را نمایش دهد.
جریان API محیطی
در اینجا خلاصهای از نحوهی عملکرد Ambient API برای اتصال یک دستگاه و سپس بازیابی و نمایش آیتمهای رسانهای آمده است:
بررسی وجود دستگاه موجود (توصیه شده): قبل از ایجاد یک دستگاه جدید، توصیه میشود بررسی کنید که آیا دستگاهی برای کاربر فعلی از قبل وجود دارد یا خیر. برنامه شما باید نگاشتی بین کاربر داخلی شما و
deviceIdارائه شده توسط گوگل برای هر دستگاهی که از طریق برنامه شما ایجاد میشود، حفظ کند. اگرdeviceIdبرای کاربر پیدا شد، میتوانید توکن مجوز او را (در صورت نیاز) بهروزرسانی کنید.شروع مجوز OAuth 2.0 (و در صورت تمایل ایجاد دستگاه): با درخواست یک کد مجوز، جریان OAuth 2.0 برای تلویزیون و دستگاههای ورودی محدود را آغاز کنید.
ایجاد یک دستگاه جدید: برنامه شما با فراخوانی
CreateDeviceو ارائه یک UUID معتبر v4، یک دستگاه در حساب Google Photos کاربر ایجاد میکند.پس از ایجاد موفقیتآمیز دستگاه، API یک شیء
AmbientDeviceحاوی یکdeviceIdاختصاص داده شده توسط گوگل را برمیگرداند. برای برنامه شما بسیار مهم است که اینdeviceIdذخیره کرده و آن را با کاربران خود مرتبط کند.نمایش
settingsUri: یک شیءAmbientDeviceشامل یکsettingsUriاست. این URI را به کاربر ارائه میدهد، معمولاً به صورت یک کد QR که کاربر میتواند با استفاده از دستگاه تلفن همراه خود آن را اسکن کند. این URI کاربر را به برنامه Google Photos هدایت میکند که در آنجا میتواند منابع رسانهای (مثلاً آلبومها) را که میخواهد در دستگاه محیطی خود نمایش دهد، پیکربندی کند.نظرسنجی برای
mediaSourcesSet: برنامه شما باید به صورت دورهای متدGetDeviceرا فراخوانی کند وdeviceIdرا برای بررسی وضعیت دستگاه محیطی ارائه دهد. فیلدmediaSourcesSetرا در پاسخAmbientDeviceنظارت کنید. در ابتدا مقدار آن false خواهد بود.زمانی که کاربر با موفقیت منابع رسانه را در برنامه Google Photos انتخاب کرد، این فیلد به true تغییر خواهد کرد.
پاسخ
AmbientDeviceشامل یکpollingConfigبه همراهpollIntervalاست که باید از آن به عنوان راهنما برای فرکانس polling خود استفاده کنید.بازیابی آیتمهای رسانهای: وقتی
mediaSourcesSetمقدار true را برمیگرداند، برنامه شما میتواند شروع به دریافت آیتمهای رسانهای انتخاب شده توسط کاربر کند.متد
ListMediaItemsفراخوانی کنید وdeviceIdرا ارائه دهید. API یکListMediaItemsResponseحاوی لیستی از اشیاءAmbientMediaItemرا برمیگرداند. هرAmbientMediaItemشامل جزئیاتی مانندid،createTimeو یک شیءMediaFileبا فرادادههای اضافی است.MediaFileحاوی یکbaseUrlاست که میتوانید از آن برای دریافت بایتهای واقعی یک آیتم رسانهای استفاده کنید. برای جزئیات بیشتر در مورد پارامترهایbaseUrlاضافی، راهنمای List and retrieve media items را مرور کنید.نمایش موارد رسانهای: از
baseUrlازMediaFileبرای دانلود و نمایش محتوای رسانهای در دستگاه محیطی استفاده کنید.
ملاحظات مهم
محدودیت و مدیریت دستگاه:
- محدودیتهای دستگاه: از محدودیت ۱۰۰ دستگاه برای هر کاربر برنامه خود آگاه باشید.
- فعالیت دستگاه و توکنها: شما باید چرخه عمر دستگاهها و توکنهای مجوز کاربر را مدیریت کنید. در نظر بگیرید که دستگاهها چه مدت فعال میمانند و چگونه بهروزرسانی توکن یا مجوزدهی مجدد را در صورت غیرفعال شدن دستگاه یا انقضای توکن مدیریت خواهید کرد.
راهنمای ایجاد و مدیریت دستگاهها جزئیات بیشتری دارد.
کار با آیتمهای رسانهای:
- استفاده از آیتم رسانه: نحوهی صحیح دریافت و مدیریت محتوای آیتم رسانه با استفاده از
baseUrl، شامل هرگونه احراز هویت یا پارامترهای لازم را بیاموزید. - مدیریت خطا: مدیریت خطای قوی برای فراخوانیهای API پیادهسازی کنید، از جمله سناریوهایی مانند
NOT_FOUNDبرای دستگاهها،FAILED_PRECONDITIONدر صورت تنظیم نشدن منابع رسانهای، وRESOURCE_EXHAUSTEDدر صورت رسیدن به محدودیتهای دستگاه.
راهنمای فهرست کردن و بازیابی موارد رسانهای جزئیات بیشتری دارد، از جمله اطلاعاتی در مورد سیاست محتوا و فیلتر کردن .
مراحل بعدی
- پیکربندی برنامه: تأیید کنید که اعتبارنامههای لازم را دارید و برنامه خود را برای OAuth 2.0 برای تلویزیون و دستگاههای ورودی محدود پیکربندی کردهاید.
- مستندات مرجع Ambient API را بررسی کنید: مستندات مرجع دقیق را برای همه روشهای موجود، پارامترهای درخواست و پاسخ و کدهای خطا بررسی کنید.