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:
- Mesaj kimliklerinin ilk sayfasını almak için
messages.list
numaralı hattı arayın. - 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ığındaformat=FULL
veyaformat=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ızcalabelIds
değişebileceği için yanıtın boyutunu azaltmak üzereformat=MINIMAL
kullanmalısınız. - 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.