Phiên hoạt động là trọng tâm của API Bộ chọn, cung cấp một chế độ kiểm soát và bảo mật giúp người dùng chọn ảnh và album từ thư viện Google Photos của họ. Chiến dịch này hướng dẫn này trình bày cách tạo, quản lý và hiệu quả các phiên thăm dò ý kiến để bật khả năng lựa chọn ảnh liền mạch trong ứng dụng của bạn.
Trước khi bắt đầu
- Định cấu hình ứng dụng: Bật API và thiết lập tính năng xác thực. Hãy xem phần Định cấu hình ứng dụng để biết các bước chi tiết.
- Tìm hiểu quy trình: Xem xét bắt đầu sử dụng API Bộ chọn để xem thông tin tổng quan về toàn bộ quy trình chọn ảnh.
- Xem xét phạm vi ủy quyền bắt buộc: Làm việc với các phiên yêu cầu
Phạm vi
photospicker.mediaitems.readonly
. Để biết thêm thông tin về phạm vi, xem Phạm vi uỷ quyền.
Vòng đời phiên
Picker API cung cấp các phương thức để tạo, truy xuất thông tin về và xoá các phiên. Sau khi xác thực người dùng, bạn có thể sử dụng phiên để quản lý vòng đời chọn ảnh.
- Tạo một phiên để cho phép người dùng chọn các mục nội dung nghe nhìn.
- Khảo sát phiên để kiểm tra thời điểm người dùng hoàn tất việc chọn các mục nội dung nghe nhìn.
- Liệt kê và truy xuất các mục nội dung nghe nhìn.
- Dọn dẹp phiên bằng cách xoá phiên đó.
Tạo phiên
Tạo một phiên để người dùng của bạn có thể chọn ảnh trực tiếp từ ứng dụng Google Photos rồi chia sẻ chúng lại với ứng dụng của bạn.
sessions.create
tạo ra một phiên mới, trả về một pickerUri
duy nhất
mà bạn có thể hiển thị cho người dùng của mình. Phiên vẫn hoạt động cho đến khi người dùng
đã chọn thành công các mục nội dung đa phương tiện hoặc phiên hết giờ.
Giới hạn phiên
Lưu ý đến giới hạn phiên. Bộ chọn API thực thi các giới hạn về số lượng mà bạn có thể tạo để đảm bảo việc sử dụng có trách nhiệm và ngăn chặn hành vi sai trái. Trong trường hợp bình thường, bạn khó có thể đạt đến các giới hạn này. Tuy nhiên, bạn nên theo dõi và chủ động dọn dẹp các phiên để tránh vấn đề.
Cuộc thăm dò ý kiến và giám sát phiên
Sau khi một phiên được tạo, hãy định kỳ thăm dò điểm cuối sessions.get
để biết
trạng thái của phiên. Thuộc tính mediaItemsSet
trong phản hồi trả về true
khi người dùng đã hoàn tất lựa chọn.
Hãy nhớ sử dụng tính năng thăm dò ý kiến hiệu quả. Phản hồi sessions.get
bao gồm
Đối tượng pollingConfig
. Sử dụng các trường sau để giúp bạn tránh việc không cần thiết
cuộc gọi và tạo trải nghiệm người dùng mượt mà:
pollInterval
: khoảng thời gian thăm dò ý kiến tối ưutimeoutIn
: khoảng thời gian chờ
Xem Ví dụ về quy trình thăm dò ý kiến để biết thêm thông tin.
Xoá và dọn dẹp các phiên
sessions.delete
xoá một phiên, thường dùng để dọn dẹp sau khi người dùng
đã chọn xong nội dung nghe nhìn hoặc nếu phiên đã hết.
Phương pháp hay nhất là xoá phiên sau khi người dùng đã chọn các mục nội dung nghe nhìn và ứng dụng của bạn đã truy xuất mục nội dung đa phương tiện byte.
Ví dụ về quy trình thăm dò
Đây là ví dụ về cách tạo và thăm dò một phiên. Sau khi xác thực người dùng lần đầu, hãy tạo một phiên mới.
- Tạo một phiên hoạt động: Gọi
sessions.create
để bắt đầu một phiên mới rồi lấypickerUri
. - Hiển thị
pickerUri
cho người dùng: Hiển thị URL hoặc tạo mã QR để người dùng quét. - Thăm dò ý kiến trong phiên họp:
- Sử dụng pollInterval được đề xuất từ
pollingConfig
. - Kiểm tra xem
mediaItemsSet
có đúng không.- Nếu giá trị là
true
, hãy liệt kê các mục nội dung nghe nhìn đã chọn. - Nếu là
false
, hãy tiếp tục thăm dò ý kiến cho đến khi đạt cột mốctimeoutIn
.
- Nếu giá trị là
- Xử lý thời gian chờ và thao tác huỷ một cách linh hoạt.
- Sử dụng pollInterval được đề xuất từ
GET https://photoslibrary.googleapis.com/v1/sessions/{sessionId}
Dưới đây là phản hồi mẫu:
{
"id": string,
"pickerUri": string,
"pollingConfig": {
object (PollingConfig)
},
"mediaItemsSet": boolean
}
Hãy trình bày pickerUri
cho người dùng, sau đó bắt đầu thăm dò ý kiến trong phiên.
Kiểm tra phản hồi để biết những thông tin sau:
mediaItemsSet
: true nếu người dùng đã chọn xong các mục nội dung đa phương tiệnpollingConfig.pollInterval
: thời gian chờ đề xuất trước cuộc thăm dò ý kiến tiếp theopollingConfig.timeoutIn
: tổng thời gian chờ trước đó hết thời gian chờ
Nếu mediaItemsSet
sai và chưa truy cập được timeoutIn
, hãy đợi
pollInterval
rồi thăm dò ý kiến lại.
Nếu mediaItemsSet
là true, hãy tiếp tục liệt kê các mục nội dung nghe nhìn đã chọn.
Nếu đạt đến timeoutIn
, hãy xử lý thời gian chờ một cách linh hoạt.