İ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:
- Mesaj kimliklerinin ilk sayfasını almak için
messages.list
kodunu çağırın. - 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ığındaformat=FULL
veyaformat=RAW
kullanmanız ve sonuçları önbelleğe almanız gerekir. Daha önce önbelleğe alınmış bir mesajı alıyorsanız yalnızcalabelIds
değişebileceğinden yanıt boyutunu küçültmek içinformat=MINIMAL
kullanmanız gerekir. - 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.