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