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