Đồ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 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:

  1. Gọi messages.list để truy xuất trang đầu tiên của mã nhận dạng thư.
  2. 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ụ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ỉ labelIds mới có thể thay đổi.
  3. 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ồi list) để đồ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.