ऐप्लिकेशन की ज़्यादातर स्थितियों के लिए, अपने क्लाइंट को Gmail के साथ सिंक करके रखना ज़रूरी है. सिंक करने की दो स्थितियां होती हैं: पूरी तरह सिंक होना और कुछ हद तक सिंक करना. जब आपका क्लाइंट पहली बार Gmail से कनेक्ट होता है और कुछ अन्य दुर्लभ परिस्थितियों में, तब पूरी तरह सिंक करने की ज़रूरत होती है. अगर आपके क्लाइंट ने हाल ही में सिंक किया है, तो कुछ हद तक सिंक करना, पूरी तरह सिंक करने का कम विकल्प है. रीयल टाइम में कुछ हद तक सिंक करने की सुविधा को ट्रिगर करने के लिए, पुश नोटिफ़िकेशन का भी इस्तेमाल किया जा सकता है. ऐसा सिर्फ़ ज़रूरत पड़ने पर ही किया जा सकता है. इससे ग़ैर-ज़रूरी पोल की संख्या से बचा जा सकता है.
विषय सूची
पूरा सिंक्रनाइज़ेशन
जब आपका ऐप्लिकेशन पहली बार Gmail से कनेक्ट होता है या कुछ हद तक सिंक करने की सुविधा उपलब्ध न हो, तो आपको पूरी तरह सिंक करना होगा. पूरी तरह सिंक करने की कार्रवाई में, आपके ऐप्लिकेशन को नए मैसेज या थ्रेड के जितने चाहें, उतने नए मैसेज या थ्रेड को वापस लाने और सेव करने चाहिए. उदाहरण के लिए, अगर आपका ऐप्लिकेशन हाल ही के मैसेज की सूची दिखाता है, तो हो सकता है कि आप उतने मैसेज वापस लाना चाहें और कैश मेमोरी में सेव करना चाहें जिनसे रिस्पॉन्सिव इंटरफ़ेस के लिए अनुमति मिले. ऐसा तब होता है, जब उपयोगकर्ता पहले दिखाए गए कई मैसेज को छोड़कर आगे बढ़ता है. पूरी तरह सिंक होने की कार्रवाई इस तरह की जाती है:
- मैसेज आईडी के पहले पेज को वापस पाने के लिए,
messages.list
को कॉल करें. - सूची के लिए मिले अनुरोध से मिले हर मैसेज के लिए,
messages.get
अनुरोधों के लिए एक बैच अनुरोध बनाएं. अगर आपका ऐप्लिकेशन मैसेज का कॉन्टेंट दिखाता है, तो आपको तबformat=FULL
याformat=RAW
का इस्तेमाल करना चाहिए, जब आपका ऐप्लिकेशन पहली बार मैसेज फिर से हासिल करे. साथ ही, अतिरिक्त डेटा वापस पाने की कार्रवाइयों से बचने के लिए, नतीजों को कैश मेमोरी में सेव करे. अगर आपको कैश मेमोरी में सेव किए गए पुराने मैसेज को वापस लाना है, तो रिस्पॉन्स का साइज़ कम करने के लिए,format=MINIMAL
का इस्तेमाल करें. ऐसा इसलिए, क्योंकि सिर्फ़labelIds
में बदलाव हो सकता है. - अपडेट को अपनी कैश मेमोरी में सेव किए गए नतीजों में मर्ज करें. आपके ऐप्लिकेशन को
आने वाले समय में कुछ हद तक सिंक करने के लिए, सबसे हाल के मैसेज (
list
जवाब का पहला मैसेज) काhistoryId
सेव करना चाहिए.
कुछ हद तक सिंक करना
अगर आपके ऐप्लिकेशन ने हाल ही में सिंक किया है, तो आपके पास history.list
तरीके का इस्तेमाल करके, कुछ हिस्से को सिंक करने का विकल्प है. इससे, अनुरोध में बताए गए startHistoryId
से नए इतिहास के रिकॉर्ड दिखाए जा सकेंगे. इतिहास के रिकॉर्ड में, हर मैसेज का मैसेज आईडी और उसमें किए गए बदलाव का टाइप दिया जाता है. जैसे, जोड़ा गया, मिटाया गया मैसेज या startHistoryId
के बाद से हुए बदलाव. आने वाले समय में कुछ हद तक सिंक करने की कार्रवाइयों के लिए, startHistoryId
के तौर पर उपलब्ध कराने के लिए, किसी फ़ुल या कुछ हिस्से के सिंक से, सबसे हाल ही के मैसेज के historyId
को हासिल और सेव किया जा सकता है.
सीमाएं
इतिहास के रिकॉर्ड आम तौर पर कम से कम एक हफ़्ते और
अक्सर उपलब्ध होते हैं. हालांकि, जिस समयावधि के लिए रिकॉर्ड उपलब्ध होते हैं वह काफ़ी कम हो सकती है. साथ ही, ऐसा भी हो सकता है कि कुछ मामलों में रिकॉर्ड उपलब्ध न हों. अगर
आपके क्लाइंट से मिला startHistoryId
, इतिहास के रिकॉर्ड की उपलब्ध रेंज से बाहर है, तो एपीआई HTTP 404
गड़बड़ी का जवाब देता है. इस मामले में, आपके क्लाइंट को पिछले सेक्शन में बताए गए तरीके से, पूरी तरह से सिंक करना होगा.