Synchronizowanie klientów z Gmailem

W przypadku większości scenariuszy ważne jest, aby klient był zsynchronizowany z Gmailem. Istnieją 2 ogólne scenariusze synchronizacji: pełna i częściowa. Pełna synchronizacja jest wymagana przy pierwszym połączeniu klienta z Gmailem oraz w niektórych innych rzadkich sytuacjach. Jeśli klient został niedawno zsynchronizowany, częściowa synchronizacja jest lżejszą alternatywą dla pełnej synchronizacji. Możesz też używać powiadomień push, aby uruchamiać częściową synchronizację w czasie rzeczywistym i tylko wtedy, gdy jest to konieczne. Dzięki temu unikniesz niepotrzebnego pobierania danych.

Spis treści

Pełna synchronizacja

Podczas pierwszego połączenia aplikacji z Gmailem lub jeśli częściowa synchronizacja jest niedostępna, musisz przeprowadzić pełną synchronizację. Podczas pełnej synchronizacji aplikacja powinna pobrać i zapisać tyle najnowszych wiadomości lub wątków, ile jest potrzebne do wykonania danej operacji. Jeśli np. Twoja aplikacja wyświetla listę ostatnich wiadomości, warto pobrać i przechować w pamięci podręcznej wystarczającą liczbę wiadomości, aby umożliwić płynne działanie interfejsu, gdy użytkownik przewinie listę poza pierwsze wyświetlane wiadomości. Ogólna procedura pełnej synchronizacji wygląda tak:

  1. Zadzwoń pod numer messages.list, aby pobrać pierwszą stronę identyfikatorów wiadomości.
  2. Utwórz prośbę zbiorczą z messages.get prośbami o każdy z komunikatów zwróconych przez prośbę o listę. Jeśli aplikacja wyświetla zawartość wiadomości, podczas pierwszego pobierania wiadomości należy użyć metody format=FULL lub format=RAW, a potem przechowywać wyniki w pamięci podręcznej, aby uniknąć dodatkowych operacji pobierania. Jeśli pobierasz wiadomość z pamięci podręcznej, użyj parametru format=MINIMAL, aby zmniejszyć rozmiar odpowiedzi, ponieważ tylko parametr format=MINIMAL może się zmienić.labelIds
  3. scalić aktualizacje z wynikami z pamięci podręcznej. Aplikacja powinna przechowywać historyId najnowszej wiadomości (pierwszej wiadomości w odpowiedzi list) na potrzeby przyszłej częściowej synchronizacji.

Częściowa synchronizacja

Jeśli aplikacja została niedawno zsynchronizowana, możesz wykonać częściową synchronizację za pomocą metody history.list, aby zwrócić wszystkie rekordy historii nowsze niż określony w prośbie parametr startHistoryId. Rekordy historii zawierają identyfikatory wiadomości i typ zmian w przypadku każdej wiadomości, np. dodanie, usunięcie lub zmodyfikowanie etykiety od momentu utworzenia startHistoryId. Możesz pobrać i zapisać historyId najnowszej wiadomości z pełnej lub częściowej synchronizacji, aby udostępnić ją jako startHistoryId w przyszłych operacjach częściowej synchronizacji.

Ograniczenia

Rekordy historii są zwykle dostępne przez co najmniej tydzień, a często dłużej. Jednak okres, przez jaki są dostępne, może być znacznie krótszy, a w rzadkich przypadkach mogą być one niedostępne. Jeśli startHistoryId podany przez klienta wykracza poza dostępny zakres rekordów historycznych, interfejs API zwraca odpowiedź błędu HTTP 404. W takim przypadku klient musi wykonać pełną synchronizację w sposób opisany w poprzedniej sekcji.