Đồng bộ hoá ứng dụng với Gmail

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:

  1. Gọi messages.list để truy xuất trang đầu tiên của mã nhận dạng tin nhắn.
  2. 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ụng format=FULL hoặc format=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ụng format=MINIMAL để giảm kích thước của phản hồi vì chỉ có labelIds có thể thay đổi.
  3. 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ồi list) để đồ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.