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