ایجاد و مدیریت جلسات

Sessions در قلب Picker API قرار دارد و راهی ایمن و کنترل‌شده را برای کاربران فراهم می‌کند تا عکس‌ها و ویدیوها را از کتابخانه Google Photos خود انتخاب کنند. این راهنما نحوه ایجاد، مدیریت و به طور موثر جلسات نظرسنجی را برای فعال کردن انتخاب یکپارچه عکس در برنامه شما شرح می دهد.

قبل از شروع

  • برنامه خود را پیکربندی کنید: API را فعال کنید و احراز هویت را تنظیم کنید. برای جزئیات مراحل ، به پیکربندی برنامه خود مراجعه کنید.
  • جریان را درک کنید: برای مروری بر کل فرآیند انتخاب عکس ، با Picker API شروع به بازبینی کنید.
  • بررسی محدوده مجوز مورد نیاز : کار با جلسات به محدوده photospicker.mediaitems.readonly نیاز دارد. برای اطلاعات بیشتر در مورد دامنه ها، به محدوده مجوز مراجعه کنید.

چرخه عمر جلسه

Picker API روش هایی را برای ایجاد، بازیابی اطلاعات و حذف جلسات ارائه می دهد. پس از احراز هویت کاربران خود، می توانید از جلسات برای مدیریت چرخه حیات انتخاب عکس استفاده کنید.

  1. یک جلسه ایجاد کنید تا کاربر بتواند موارد رسانه را انتخاب کند.
  2. از جلسه نظرسنجی کنید تا بررسی کنید که کاربر انتخاب آیتم های رسانه را چه زمانی تمام کرده است.
  3. موارد رسانه را فهرست و بازیابی کنید .
  4. جلسه را با حذف آن پاک کنید .

ایجاد جلسات

یک جلسه ایجاد کنید تا کاربرانتان بتوانند به‌طور ایمن عکس‌ها را مستقیماً از برنامه Google Photos خود انتخاب کنند و آنها را در برنامه شما به اشتراک بگذارند.

sessions.create یک جلسه جدید ایجاد می کند و یک pickerUri منحصر به فرد را برمی گرداند که می توانید به کاربران خود ارائه دهید. این جلسه تا زمانی که کاربر با موفقیت آیتم های رسانه ای را انتخاب نکرده باشد، یا زمان اتمام جلسه فعال باقی می ماند.

محدودیت های جلسه

از محدودیت جلسات آگاه باشید. Picker API محدودیت هایی را برای تعداد جلساتی که می توانید ایجاد کنید اعمال می کند تا از استفاده مسئولانه و جلوگیری از سوء استفاده اطمینان حاصل شود. در شرایط عادی، بعید است که به این محدودیت ها برسید. با این حال، برای جلوگیری از هر گونه مشکل، باید جلسات را به طور فعال پیگیری و پاکسازی کنید .

نظرسنجی و نظارت بر جلسات

پس از ایجاد یک جلسه، به صورت دوره‌ای از نقاط پایانی sessions.get نظرسنجی کنید تا وضعیت یک جلسه را دریافت کنید. ویژگی mediaItemsSet در پاسخ زمانی که کاربر انتخاب خود را کامل کرد، true را برمی گرداند.

مطمئن شوید که از نظرسنجی کارآمد استفاده کنید. پاسخ sessions.get شامل شی pollingConfig است. از فیلدهای زیر برای جلوگیری از تماس های غیر ضروری و ایجاد یک تجربه کاربری روان استفاده کنید:

  • pollInterval : فواصل نظرسنجی بهینه
  • timeoutIn : مدت زمان وقفه

برای جزئیات بیشتر به مثال جریان نظرسنجی مراجعه کنید.

جلسات را حذف و پاک کنید

sessions.delete یک جلسه را حذف می کند، که معمولاً برای پاکسازی پس از اتمام انتخاب رسانه توسط کاربر یا اتمام زمان جلسه استفاده می شود.

زمانی که کاربر موارد رسانه را انتخاب کرد و برنامه شما بایت های مورد رسانه را بازیابی کرد ، بهترین روش حذف جلسات است.

نمونه جریان نظرسنجی

این نمونه ای از ایجاد و نظرسنجی یک جلسه است. پس از احراز هویت کاربر، یک جلسه جدید ایجاد کنید.

  1. ایجاد یک جلسه: با sessions.create تماس بگیرید تا یک جلسه جدید شروع شود و pickerUri را دریافت کنید.
  2. ارائه pickerUri به کاربر: نشانی اینترنتی را نمایش دهید یا یک کد QR برای اسکن کاربر ایجاد کنید.
  3. نظرسنجی جلسه:
    1. از pollInterval توصیه شده از pollingConfig استفاده کنید.
    2. بررسی کنید که آیا mediaItemsSet درست است.
      1. اگر true ، به فهرست کردن موارد رسانه انتخاب شده ادامه دهید.
      2. اگر false ، نظرسنجی را تا رسیدن به timeoutIn ادامه دهید.
    3. تایم اوت ها و لغوها را با ظرافت مدیریت کنید.
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 رسیده است، با ظرافت زمان وقفه را مدیریت کنید.