İstemcileri Gmail ile Senkronize Etme

Müşterinizi Gmail ile senkronize tutmak, çoğu uygulama senaryosu için önemlidir. Genel olarak iki senkronizasyon senaryosu vardır: tam senkronizasyon ve kısmi senkronizasyon. İstemciniz Gmail'e ilk kez bağlandığında ve bazı nadir durumlarda tam senkronizasyon gerekir. İstemciniz yakın zamanda senkronize edildiyse tam senkronizasyona kıyasla daha hafif bir alternatif olan kısmi senkronizasyonu kullanabilirsiniz. Ayrıca, kısmi senkronizasyonu gerçek zamanlı olarak ve yalnızca gerektiğinde tetiklemek için push bildirimleri de kullanabilirsiniz. Böylece gereksiz anketlerden kaçınabilirsiniz.

İçindekiler

Tam senkronizasyon

Uygulamanız Gmail'e ilk kez bağlandığında veya kısmi senkronizasyon kullanılamıyorsa tam senkronizasyon yapmanız gerekir. Tam senkronizasyon işleminde uygulamanız, amacınız için gerekli olan en son mesajları veya ileti dizilerini alıp saklamalıdır. Örneğin, uygulamanızda son mesajların listesi gösteriliyorsa kullanıcı ilk birkaç mesajın ötesine geçerse duyarlı bir arayüz sunmak için yeterli sayıda mesajı alıp önbelleğe almak isteyebilirsiniz. Tam senkronizasyon işlemini gerçekleştirmeyle ilgili genel prosedür aşağıdaki gibidir:

  1. Mesaj kimliklerinin ilk sayfasını almak için messages.list numaralı hattı arayın.
  2. Liste isteğiyle döndürülen her mesaj için messages.get isteklerinden oluşan bir toplu istek oluşturun. Uygulamanız ileti içeriklerini gösteriyorsa uygulamanız bir iletiyi ilk kez aldığında format=FULL veya format=RAW kullanmalı ve ek alma işlemlerini önlemek için sonuçları önbelleğe almanız gerekir. Daha önce önbelleğe alınmış bir mesajı alıyorsanız yalnızca labelIds değişebileceği için yanıtın boyutunu azaltmak üzere format=MINIMAL kullanmalısınız.
  3. Güncellemeleri önbelleğe alınmış sonuçlarınızla birleştirin. Uygulamanız, gelecekte kısmi senkronizasyon için en son mesajın historyId değerini (list yanıtındaki ilk mesaj) saklamalıdır.

Kısmi senkronizasyon

Uygulamanız kısa süre önce senkronize edildiyse isteğinizde belirttiğiniz startHistoryId tarihinden daha yeni tüm geçmiş kayıtlarını döndürmek için history.list yöntemini kullanarak kısmi senkronizasyon yapabilirsiniz. Geçmiş kayıtları, her ileti için ileti kimliklerini ve değişiklik türünü (ör. startHistoryId tarihinden sonra eklenen, silinen veya değiştirilen iletiler) sağlar. Gelecekteki kısmi senkronizasyon işlemleri için startHistoryId olarak sağlamak üzere tam veya kısmi senkronizasyondan en son mesajın historyId değerini alıp saklayabilirsiniz.

Sınırlamalar

Geçmiş kayıtları genellikle en az bir hafta, bazen daha uzun süre boyunca kullanılabilir. Ancak kayıtların kullanılabildiği dönem önemli ölçüde daha kısa olabilir ve kayıtlar bazen nadir durumlarda kullanılamayabilir. Müşteriniz tarafından sağlanan startHistoryId, mevcut geçmiş kaydı aralığının dışındaysa API bir HTTP 404 hata yanıtı döndürür. Bu durumda, müşteriniz önceki bölümde açıklandığı gibi tam senkronizasyon yapmalıdır.