Việc đồng bộ hoá ứng dụng với Gmail là rất quan trọng đối với hầu hết các trường hợp ứng dụng. Có hai trường hợp đồng bộ hoá tổng thể: đồng bộ hoá toàn bộ và đồng bộ hoá một phần. Bạn cần đồng bộ hoá toàn bộ trong lần đầu tiên ứng dụng của mình kết nối với Gmail và trong một số ít trường hợp khác. Nếu ứng dụng của bạn mới đồng bộ hoá gần đây, thì quá trình đồng bộ hoá một phần sẽ là giải pháp thay thế nhẹ nhàng hơn cho quá trình đồng bộ hoá toàn bộ. Bạn cũng có thể sử dụng thông báo đẩy để kích hoạt tính năng đồng bộ hoá một phần theo thời gian thực và chỉ khi cần, nhờ đó tránh việc thăm dò ý kiến không cần thiết.
Nội dung
Đồng bộ hoá đầy đủ
Lần đầu tiên ứng dụng của bạn kết nối với Gmail hoặc nếu tính năng đồng bộ hoá một phần không hoạt động, bạn phải đồng bộ hoá toàn bộ. Trong hoạt động đồng bộ hoá đầy đủ, ứng dụng của bạn sẽ truy xuất và lưu trữ số lượng thông báo hoặc chuỗi gần đây nhất cần thiết cho mục đích của bạn. Ví dụ: nếu ứng dụng của bạn hiển thị danh sách các thông báo gần đây, thì bạn có thể muốn truy xuất và lưu đủ thông báo vào bộ nhớ đệm để cho phép giao diện thích ứng nếu người dùng cuộn ngoài một số thông báo đầu tiên hiển thị. Quy trình chung để thực hiện hoạt động đồng bộ hoá đầy đủ như sau:
- Gọi
messages.list
để truy xuất trang đầu tiên của mã nhận dạng tin nhắn. - Tạo một yêu cầu hàng loạt của các yêu cầu
messages.get
cho từng thông báo do yêu cầu danh sách trả về. Nếu ứng dụng của bạn cho thấy nội dung thông báo, thì bạn nên sử dụngformat=FULL
hoặcformat=RAW
trong lần đầu tiên ứng dụng truy xuất thông báo và lưu kết quả vào bộ nhớ đệm để tránh các thao tác truy xuất bổ sung. Nếu đang truy xuất một thông báo đã lưu vào bộ nhớ đệm trước đó, bạn nên sử dụngformat=MINIMAL
để giảm kích thước của phản hồi vì chỉ cólabelIds
có thể thay đổi. - Hợp nhất nội dung cập nhật vào kết quả đã lưu trong bộ nhớ đệm. Ứng dụng của bạn nên lưu trữ
historyId
của thông báo gần đây nhất (thông báo đầu tiên trong phản hồilist
) để đồng bộ hoá một phần trong tương lai.
Đồng bộ hoá một phần
Nếu gần đây ứng dụng của bạn đã đồng bộ hoá, thì bạn có thể đồng bộ hoá một phần bằng cách sử dụng phương thức history.list
để trả về tất cả các bản ghi nhật ký mới hơn startHistoryId
mà bạn chỉ định trong yêu cầu của mình. Các bản ghi nhật ký cung cấp mã nhận dạng thông báo và loại thay đổi cho từng thông báo, chẳng hạn như thông báo đã thêm, bị xoá hoặc nhãn được sửa đổi kể từ thời điểm startHistoryId
xuất hiện. Bạn có thể lấy và lưu trữ historyId
của thông báo gần đây nhất từ quá trình đồng bộ hoá toàn bộ hoặc một phần để cung cấp dưới dạng startHistoryId
cho các hoạt động đồng bộ hoá một phần sau này.
Các điểm hạn chế
Bản ghi nhật ký thường có sẵn trong ít nhất một tuần và thường lâu hơn. Tuy nhiên, khoảng thời gian cho các bản ghi có thể
ít hơn đáng kể và bản ghi đôi khi có thể không có sẵn trong một số ít trường hợp. Nếu startHistoryId
do ứng dụng cung cấp nằm ngoài phạm vi bản ghi nhật ký hiện có, thì API sẽ trả về phản hồi lỗi HTTP 404
. Trong trường hợp này, ứng dụng phải đồng bộ hoá toàn bộ như mô tả trong phần trước.