Sessions در قلب Picker API قرار دارد و راهی ایمن و کنترلشده را برای کاربران فراهم میکند تا عکسها و ویدیوها را از کتابخانه Google Photos خود انتخاب کنند. این راهنما نحوه ایجاد، مدیریت و به طور موثر جلسات نظرسنجی را برای فعال کردن انتخاب یکپارچه عکس در برنامه شما شرح می دهد.
قبل از شروع
- برنامه خود را پیکربندی کنید: API را فعال کنید و احراز هویت را تنظیم کنید. برای جزئیات مراحل ، به پیکربندی برنامه خود مراجعه کنید.
- جریان را درک کنید: برای مروری بر کل فرآیند انتخاب عکس ، با Picker API شروع به بازبینی کنید.
- بررسی محدوده مجوز مورد نیاز : کار با جلسات به محدوده
photospicker.mediaitems.readonly
نیاز دارد. برای اطلاعات بیشتر در مورد دامنه ها، به محدوده مجوز مراجعه کنید.
چرخه عمر جلسه
Picker API روش هایی را برای ایجاد، بازیابی اطلاعات و حذف جلسات ارائه می دهد. پس از احراز هویت کاربران خود، می توانید از جلسات برای مدیریت چرخه حیات انتخاب عکس استفاده کنید.
- یک جلسه ایجاد کنید تا کاربر بتواند موارد رسانه را انتخاب کند.
- از جلسه نظرسنجی کنید تا بررسی کنید که کاربر انتخاب آیتم های رسانه را چه زمانی تمام کرده است.
- موارد رسانه را فهرست و بازیابی کنید .
- جلسه را با حذف آن پاک کنید .
ایجاد جلسات
یک جلسه ایجاد کنید تا کاربرانتان بتوانند بهطور ایمن عکسها را مستقیماً از برنامه Google Photos خود انتخاب کنند و آنها را در برنامه شما به اشتراک بگذارند.
sessions.create
یک جلسه جدید ایجاد می کند و یک pickerUri
منحصر به فرد را برمی گرداند که می توانید به کاربران خود ارائه دهید. این جلسه تا زمانی که کاربر با موفقیت آیتم های رسانه ای را انتخاب نکرده باشد، یا زمان اتمام جلسه فعال باقی می ماند.
محدودیت های جلسه
از محدودیت جلسات آگاه باشید. Picker API محدودیت هایی را برای تعداد جلساتی که می توانید ایجاد کنید اعمال می کند تا از استفاده مسئولانه و جلوگیری از سوء استفاده اطمینان حاصل شود. در شرایط عادی، بعید است که به این محدودیت ها برسید. با این حال، برای جلوگیری از هر گونه مشکل، باید جلسات را به طور فعال پیگیری و پاکسازی کنید .
نظرسنجی و نظارت بر جلسات
پس از ایجاد یک جلسه، به صورت دورهای از نقاط پایانی sessions.get
نظرسنجی کنید تا وضعیت یک جلسه را دریافت کنید. ویژگی mediaItemsSet
در پاسخ زمانی که کاربر انتخاب خود را کامل کرد، true
را برمی گرداند.
مطمئن شوید که از نظرسنجی کارآمد استفاده کنید. پاسخ sessions.get
شامل شی pollingConfig
است. از فیلدهای زیر برای جلوگیری از تماس های غیر ضروری و ایجاد یک تجربه کاربری روان استفاده کنید:
-
pollInterval
: فواصل نظرسنجی بهینه -
timeoutIn
: مدت زمان وقفه
برای جزئیات بیشتر به مثال جریان نظرسنجی مراجعه کنید.
جلسات را حذف و پاک کنید
sessions.delete
یک جلسه را حذف می کند، که معمولاً برای پاکسازی پس از اتمام انتخاب رسانه توسط کاربر یا اتمام زمان جلسه استفاده می شود.
زمانی که کاربر موارد رسانه را انتخاب کرد و برنامه شما بایت های مورد رسانه را بازیابی کرد ، بهترین روش حذف جلسات است.
نمونه جریان نظرسنجی
این نمونه ای از ایجاد و نظرسنجی یک جلسه است. پس از احراز هویت کاربر، یک جلسه جدید ایجاد کنید.
- ایجاد یک جلسه: با
sessions.create
تماس بگیرید تا یک جلسه جدید شروع شود وpickerUri
را دریافت کنید. - ارائه
pickerUri
به کاربر: نشانی اینترنتی را نمایش دهید یا یک کد QR برای اسکن کاربر ایجاد کنید. مروری بر تجربه انتخاب کاربر را بخوانید. - نظرسنجی جلسه:
- از pollInterval توصیه شده از
pollingConfig
استفاده کنید. - بررسی کنید که آیا
mediaItemsSet
درست است.- اگر
true
، به فهرست کردن موارد رسانه انتخاب شده ادامه دهید. - اگر
false
، نظرسنجی را تا رسیدن بهtimeoutIn
ادامه دهید.
- اگر
- تایم اوت ها و لغوها را با ظرافت مدیریت کنید.
- از pollInterval توصیه شده از
GET https://photoslibrary.googleapis.com/v1/sessions/{sessionId}
در اینجا یک نمونه پاسخ آمده است:
{
"id": string,
"pickerUri": string,
"pollingConfig": {
object (PollingConfig)
},
"mediaItemsSet": boolean
}
pickerUri
را به کاربر ارائه دهید و سپس شروع به نظرسنجی جلسه کنید.
پاسخ را برای موارد زیر بررسی کنید:
-
mediaItemsSet
: اگر کاربر انتخاب موارد رسانه را تمام کرده باشد درست است -
pollingConfig.pollInterval
: زمان توصیه شده برای انتظار قبل از نظرسنجی بعدی -
pollingConfig.timeoutIn
: کل زمان انتظار قبل از اتمام زمان
اگر mediaItemsSet
نادرست است و به timeoutIn
نرسیده اید، منتظر pollInterval
باشید و سپس دوباره نظرسنجی کنید.
اگر mediaItemsSet
درست است، به فهرست کردن موارد رسانه انتخاب شده ادامه دهید.
اگر به timeoutIn
رسیده است، با ظرافت زمان وقفه را مدیریت کنید.