تُعدّ مزامنة تطبيقك مع 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
. في هذه الحالة، على العميل إجراء مزامنة كاملة كما هو موضّح في القسم السابق.