יצירה וניהול של סשנים

סשנים הם הלב של Picker API, ומספקים גישה מאובטחת ומבוקרת לאפשר למשתמשים לבחור תמונות ואלבומים מספריית Google Photos שלהם. הזה מדריך שמסביר איך ליצור, לנהל ולבצע סקרים ביעילות, כדי לאפשר לבחירת תמונות בצורה חלקה באפליקציה.

לפני שמתחילים

  • הגדרת האפליקציה: מפעילים את ה-API ומגדירים אימות. צפייה כדי לקבל מידע מפורט, מגדירים את האפליקציה לבצע מיליון שלבים.
  • הבנת התהליך: עיינו במאמר תחילת העבודה עם Picker API כדי לקבל סקירה כללית על התהליך המלא של בחירת התמונות.
  • לבדוק את היקפי ההרשאות הנדרשים: כדי לעבוד עם סשנים, אתם צריכים היקף הרשאות photospicker.mediaitems.readonly. כדי לקבל מידע נוסף על היקפים, למידע על היקפי הרשאות

מחזור חיים של סשן

Picker API מספק שיטות ליצירה ולאחזור מידע למחוק סשנים. אחרי אימות המשתמשים, תוכלו להשתמש בסשנים כדי לנהל את מחזור החיים של בחירת התמונות.

  1. יוצרים סשן כדי לאפשר למשתמש לבחור פריטי מדיה.
  2. לסקר את הסשן כדי לבדוק מתי המשתמש הסתיים בחירת קובצי המדיה.
  3. הצגת רשימה של פריטי המדיה ואחזור שלהם
  4. כדי לנקות את הסשן, אפשר למחוק אותו.

יצירת סשנים

כדאי ליצור סשן כדי שהמשתמשים יוכלו לבחור תמונות באופן מאובטח ישירות מ- באפליקציית Google Photos ולשתף אותם עם האפליקציה.

sessions.create יוצר סשן חדש ומחזיר ערך pickerUri ייחודי שאפשר להציג למשתמשים. הסשן נשאר פעיל עד שהמשתמש בחר בהצלחה פריטי מדיה, או שתם הזמן הקצוב של הסשן.

מגבלות של פעילות באתר

חשוב לשים לב למגבלות על סשנים. Picker API אוכף מגבלות על מספר כדי להבטיח שימוש אחראי ולמנוע ניצול לרעה. מתחת בנסיבות רגילות, סביר להניח שלא תגיעו למגבלות האלה. עם זאת, כדאי לעקוב אחר סשנים ולנקות סשנים באופן יזום כדי למנוע בעיות נפוצות.

סקרים ומעקב אחר סשנים

לאחר יצירת סשן, כדאי לבדוק מדי פעם את נקודת הקצה (endpoint) sessions.get כדי לקבל הסטטוס של סשן. המאפיין mediaItemsSet בתשובה מוחזר true כשהמשתמש ישלים את הבחירה.

חשוב להשתמש בסקרים יעילים. התשובה sessions.get כוללת את אובייקט pollingConfig. היעזרו בשדות הבאים כדי להימנע לשיחות ויצירת חוויית משתמש חלקה:

  • pollInterval: מרווחי הצבעה אופטימליים
  • timeoutIn: משך הזמן הקצוב לתפוגה

לפרטים נוספים, ראו תהליך דגימה לדוגמה.

מחיקה וניקוי של סשנים

sessions.delete מסיר סשן, בדרך כלל משמש לניקוי אחרי המשתמש סיים לבחור מדיה או אם פג הזמן הקצוב של הסשן.

מומלץ למחוק סשנים אחרי שהמשתמש בוחר פריטי מדיה והאפליקציה שלך אחזרה את פריט המדיה בייטים.

דוגמה לתהליך של סקרים

זוהי דוגמה ליצירה של סשן ובדיקה שלו. לאחר האימות הראשון שלך, עליך ליצור סשן חדש.

  1. יצירת סשן: כדי להתחיל סשן חדש, צריך להתקשר למספר sessions.create מקבלים את pickerUri.
  2. מציגים את pickerUri למשתמש: מציגים את כתובת ה-URL או יוצרים קוד QR שהמשתמש יוכל לסרוק.
  3. סקרו את הסשן:
    1. יש להשתמש ב-polyInterval המומלץ מתוך pollingConfig.
    2. צריך לבדוק אם הערך של mediaItemsSet הוא True.
      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: הערך true אם המשתמש סיים לבחור פריטים של מדיה
  • pollingConfig.pollInterval: זמן המתנה מומלץ לפני הסקר הבא
  • pollingConfig.timeoutIn: זמן המתנה כולל לפני זמן קצוב לתפוגה

אם הערך של mediaItemsSet הוא false ולא הגעתם ל-timeoutIn, צריך להמתין ל-pollInterval ואז לבצע שוב את הסקרים.

אם הערך של mediaItemsSet הוא True, ממשיכים להציג את רשימת פריטי המדיה שנבחרו.

אם מגיעים ל-timeoutIn, מטפלים בזמן הקצוב לתפוגה בצורה תקינה.