İstemcileri Gmail ile Senkronize Etme

İstemcinizin Gmail ile senkronize halde tutulması, çoğu uygulama senaryosu için önemlidir. İki genel senkronizasyon senaryosu mevcuttur: tam senkronizasyon ve kısmi senkronizasyon. İstemciniz Gmail'e ilk kez bağlandığında ve nadir görülen bazı diğer senaryolarda tam senkronizasyon gereklidir. İstemciniz yakın zamanda senkronize edildiyse kısmi senkronizasyon, tam senkronizasyona kıyasla daha hafif bir alternatiftir. Ayrıca, kısmi senkronizasyonu gerçek zamanlı olarak ve yalnızca gerektiğinde tetiklemek için push bildirimlerini kullanabilir, böylece gereksiz yoklamalardan kaçınabilirsiniz.

İçindekiler

Tam senkronizasyon

Uygulamanız Gmail'e ilk kez bağlandığında veya kısmi senkronizasyon kullanılamıyorsa tam senkronizasyon gerçekleştirmeniz gerekir. Tam senkronizasyon işleminde uygulamanız, amacınız için gereken en yeni mesajları veya ileti dizilerini alıp depolamalıdır. Örneğin, uygulamanız son mesajların bir listesini görüntülüyorsa kullanıcı, görüntülenen ilk birkaç mesajın ötesine geçtiğinde duyarlı bir arayüze olanak tanımak için yeterli sayıda mesajı alıp önbelleğe almak isteyebilirsiniz. Tam senkronizasyon işleminin gerçekleştirilmesine ilişkin genel prosedür şu şekildedir:

  1. Mesaj kimliklerinin ilk sayfasını almak için messages.list kodunu çağırın.
  2. Liste isteği tarafından döndürülen mesajların her biri için messages.get isteklerinden oluşan bir toplu istek oluşturun. Uygulamanız mesaj içeriği gösteriyorsa ek alma işlemlerinden kaçınmak için uygulamanız ilk kez mesaj aldığında format=FULL veya format=RAW kullanmanız ve sonuçları önbelleğe almanız gerekir. Daha önce önbelleğe alınmış bir mesajı alıyorsanız yalnızca labelIds değişebileceğinden yanıt boyutunu küçültmek için format=MINIMAL kullanmanız gerekir.
  3. Güncellemeleri önbelleğe alınan sonuçlarınızda birleştirin. Gelecekteki kısmi senkronizasyonlar için uygulamanız en son mesajın (list yanıtındaki ilk mesaj) historyId bilgisini depolamalıdır.

Kısmi senkronizasyon

Uygulamanız yakın zamanda senkronize edildiyse isteğinizde belirttiğiniz startHistoryId değerinden daha yeni tüm geçmiş kayıtlarını döndürmek için history.list yöntemini kullanarak kısmi senkronizasyon gerçekleştirebilirsiniz. Geçmiş kayıtları, her mesaj için mesaj kimliklerini ve değişiklik türünü (ör. startHistoryId tarihinden bu yana eklenen mesaj, silinen veya değiştirilen etiketler) sağlar. Gelecekteki kısmi senkronizasyon işlemleri için startHistoryId sağlamak amacıyla tam veya kısmi senkronizasyondan en yeni mesajın historyId bilgisini alıp depolayabilirsiniz.

Sınırlamalar

Geçmiş kayıtları genellikle en az bir hafta ve genellikle daha uzun süre tutulur. Ancak kayıtların mevcut olduğu dönem çok daha kısa olabilir ve bazı durumlarda kayıtlar kullanılamayabilir. İstemciniz tarafından sağlanan startHistoryId, kullanılabilir geçmiş kaydı aralığının dışındaysa API HTTP 404 hata yanıtı döndürür. Bu durumda, istemciniz önceki bölümde açıklandığı gibi tam senkronizasyon gerçekleştirmelidir.