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

סשנים הם הלב של 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 למשתמש: מציגים את כתובת ה-URL או יוצרים קוד QR שהמשתמש יוכל לסרוק. קראו סקירה כללית של חוויית הבחירה של המשתמש.
  3. סקר במהלך הסשן:
    1. משתמשים ב-pollInterval המומלץ מ-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, כדאי לטפל בזמן הקצוב לתפוגה בעדינות.