Çoğu uygulama senaryosunda istemcinizin Gmail ile senkronize kalması ö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 kısmi senkronizasyon, tam senkronizasyona kıyasla daha az kaynak kullanan bir alternatiftir. Ayrıca, push bildirimlerini kullanarak kısmi senkronizasyonu yalnızca gerektiğinde ve anlık olarak tetikleyebilir, böylece gereksiz yoklamaları önleyebilirsiniz.
İçindekiler
Tam senkronizasyon
Uygulamanız Gmail'e ilk kez bağlandığında veya kısmi senkronizasyon kullanılamadığında tam senkronizasyon yapmanız gerekir. Tam senkronizasyon işleminde uygulamanız, amacınız için gerekli olan en yeni mesajların veya ileti dizilerinin mümkün olduğunca çoğunu alıp saklamalıdır. Örneğin, uygulamanızda son mesajların listesi gösteriliyorsa kullanıcının gösterilen ilk birkaç mesajın ötesine kaydırması durumunda duyarlı bir arayüz sağlamak için yeterli sayıda mesajı alıp önbelleğe almak isteyebilirsiniz. Tam senkronizasyon işlemi gerçekleştirme prosedürü genel olarak şu şekildedir:
- İleti kimliklerinin ilk sayfasını almak için
messages.listnumaralı telefonu arayın. - Liste isteği tarafından döndürülen iletilerin her biri için toplu istek oluşturun. Bu toplu istek,
messages.getisteklerinden oluşur. Uygulamanız ileti içeriklerini gösteriyorsa uygulamanız bir iletiyi ilk kez aldığındaformat=FULLveyaformat=RAWkullanmalı ve ek alma işlemlerini önlemek için sonuçları önbelleğe almalıdır. Daha önce önbelleğe alınmış bir iletiyi alıyorsanız yalnızcalabelIdsdeğişebileceğinden yanıtın boyutunu küçültmek içinformat=MINIMALkullanmanız gerekir. - Güncellemeleri önbelleğe alınmış sonuçlarınızla birleştirin. Uygulamanız, gelecekteki kısmi senkronizasyon için en son mesajın
historyIddeğerini (listyanıtındaki ilk mesaj) saklamalıdır.
Kısmi senkronizasyon
Uygulamanız yakın zamanda senkronize edildiyse isteğinizde belirttiğiniz startHistoryId tarihinden daha yeni olan 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ı, startHistoryId zamanından itibaren her ileti için ileti kimliklerini ve değişiklik türünü (ör. ileti eklendi, silindi veya etiketler değiştirildi) 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 bilgisini alıp saklayabilirsiniz.
Sınırlamalar
Geçmiş kayıtları genellikle en az bir hafta, çoğu zaman da daha uzun süre kullanılabilir. Ancak kayıtların kullanılabildiği süre önemli ölçüde daha kısa olabilir ve nadir durumlarda kayıtlar kullanılamayabilir. Müşteriniz tarafından sağlanan startHistoryId, mevcut geçmiş kayıtları aralığının dışındaysa API, HTTP 404 hata yanıtı döndürür. Bu durumda, müşteriniz önceki bölümde açıklandığı gibi tam senkronizasyon gerçekleştirmelidir.