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 sử dụng ứ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 phải đồng bộ hoá đầy đủ trong lần đầu tiên ứng dụng của bạn kết nối với Gmail và trong một số trường hợp hiếm gặp khác. Nếu ứng dụng của bạn gần đây đã đồng bộ hoá, thì tính năng đồng bộ hoá một phần sẽ là một giải pháp thay thế nhẹ hơn cho tính năng đồng bộ hoá đầy đủ. Bạn cũng có thể sử dụng thông báo đẩy để kích hoạt quá trình đồng bộ hoá một phần theo thời gian thực và chỉ khi cần thiết, nhờ đó tránh được việc thăm dò ý kiến không cần thiết.
Nội dung
Đồng bộ hoá toàn bộ
Trong lần đầu tiên ứng dụng kết nối với Gmail hoặc nếu không có tính năng đồng bộ hoá một phần, bạn phải thực hiện đồng bộ hoá toàn bộ. Trong một thao tác đồng bộ hoá đầy đủ, ứng dụng của bạn sẽ truy xuất và lưu trữ nhiều tin nhắn hoặc luồng 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ư gần đây, bạn nên truy xuất và lưu đủ số lượng thư vào bộ nhớ đệm để cho phép giao diện thích ứng nếu người dùng cuộn qua vài thư đầu tiên được hiển thị. Quy trình chung để thực hiện thao tác đồng bộ hoá đầy đủ như sau:
- Gọi
messages.list
để truy xuất trang đầu tiên của mã nhận dạng thư. - Tạo một yêu cầu hàng loạt gồm 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 hiển thị nội dung thông báo, 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ỉlabelIds
mới có thể thay đổi. - Hợp nhất nội dung cập nhật vào kết quả đã lưu vào bộ nhớ đệm. Ứng dụng của bạn phải 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 ứng dụng của bạn đã đồng bộ hoá gần đây, bạn có thể thực hiện một phần đồng bộ hoá bằng phương thức history.list
để trả về tất cả bản ghi nhật ký mới hơn startHistoryId
mà bạn chỉ định trong yêu cầu. Bản ghi nhật ký cung cấp mã thông báo thư và loại thay đổi cho
mỗi thư, chẳng hạn như thư được thêm, xoá hoặc nhãn được sửa đổi kể từ thời điểm
startHistoryId
. Bạn có thể lấy và lưu trữ historyId
của thông báo gần đây nhất từ mộ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 thao tác đồng bộ hoá một phần trong tương lai.
Các điểm hạn chế
Các 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 có bản ghi có thể ngắn hơn đáng kể và đôi khi có thể không có bản ghi 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 của bạn phải thực hiện đồng bộ hoá đầy đủ như mô tả trong phần trước.