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

סשנים הם הלב של 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, מטפלים בזמן הקצוב לתפוגה בצורה תקינה.