เซสชันคือหัวใจของ 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 หรือสร้างคิวอาร์โค้ดเพื่อให้ผู้ใช้สแกน อ่านภาพรวมของประสบการณ์การเลือกของผู้ใช้ - สำรวจเซสชัน
- ใช้ pollInterval ที่แนะนําจาก
pollingConfig
- ตรวจสอบว่า
mediaItemsSet
เป็นจริงหรือไม่- หากเป็น
true
ให้ดำเนินการต่อเพื่อแสดงรายการสื่อที่เลือก - หากเป็น
false
ให้ทำการสำรวจต่อไปจนกว่าจะถึงtimeoutIn
- หากเป็น
- จัดการการหมดเวลาและการยกเลิกอย่างราบรื่น
- ใช้ pollInterval ที่แนะนําจาก
GET https://photoslibrary.googleapis.com/v1/sessions/{sessionId}
ตัวอย่างคำตอบมีดังนี้
{
"id": string,
"pickerUri": string,
"pollingConfig": {
object (PollingConfig)
},
"mediaItemsSet": boolean
}
นำเสนอ pickerUri
ต่อผู้ใช้ แล้วเริ่มแบบสำรวจในเซสชัน
ตรวจสอบคำตอบเพื่อดูสิ่งต่อไปนี้
mediaItemsSet
: จริง หากผู้ใช้เลือกรายการสื่อเสร็จแล้วpollingConfig.pollInterval
: เวลาที่แนะนำในการรอก่อนทำแบบสำรวจครั้งถัดไปpollingConfig.timeoutIn
: เวลาทั้งหมดที่ต้องรอก่อนที่จะหมดเวลา
หาก mediaItemsSet
เป็น "เท็จ" และยังไม่ถึง timeoutIn
โปรดรอให้ pollInterval
แล้วสำรวจอีกครั้ง
หาก mediaItemsSet
เป็นจริง ให้ดำเนินการต่อเพื่อแสดงรายการสื่อที่เลือก
หากถึง timeoutIn
ให้จัดการการหมดเวลาอย่างเหมาะสม