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