
التعامل مع انقطاع الاتصال في تطبيق الجوال
قد يرسل المستخدم طلبًا ثم ينقطع الاتصال قبل وصول الرد. لا يعني ذلك بالضرورة أن الخادم لم يحفظه. إعادة الإرسال دون تصميم قد تكرر المعاملة، بينما إظهار…
قد يرسل المستخدم طلبًا ثم ينقطع الاتصال قبل وصول الرد. لا يعني ذلك بالضرورة أن الخادم لم يحفظه. إعادة الإرسال دون تصميم قد تكرر المعاملة، بينما إظهار خطأ عام قد يدفع المستخدم إلى محاولات أكثر.
ميز القراءة عن العمليات المؤثرة
إعادة جلب قائمة تختلف عن إنشاء طلب أو تسجيل دفع. في العمليات المؤثرة، صمم آلية تمنع تكرار الفعل وتسمح بمعرفة النتيجة. اتفق مع خدمة API على معرف الطلب وآلية مراجعة حالته عندما يكون الرد غير معلوم.
صمم الرسالة بصدق
إذا لم تعرف هل حفظ الطلب، لا تؤكد فشله بصورة قطعية. أعط المستخدم طريقًا للتحقق أو إعادة المحاولة ضمن آلية آمنة. احتفظ بالمدخلات حتى لا يعيد كتابتها، وأظهر حالة التنفيذ بوضوح.
تجربة مفيدة
اختبر اتصالًا بطيئًا، وانقطاعًا بعد الإرسال، وعودة التطبيق من الخلفية. جرب الضغط مرتين، وتغير الحساب أثناء انتظار الرد. راجع النتائج على الخادم، لا الواجهة وحدها، للتأكد من عدم تكوين سجلات إضافية.
- ضع مدة انتظار مناسبة ورسالة بعدها.
- تجنب إعادة محاولة غير محدودة.
- لا تعرض بيانات حساب سابق بعد تبديل الحساب.
- وضح زمن آخر تحديث للبيانات المخزنة عند عرضها.
تساعد وثائق الشبكات في Flutter في تنفيذ الاتصال، لكن صحة المعاملة تعتمد على اتفاق الواجهة والخادم ومنطق منع التكرار.
اقرأ أيضًا
- تصميم API واضح بين الموقع والتطبيق: اتفق على البيانات أولًا
- تنظيم مشروع Flutter: فصل الشاشة عن البيانات وقواعد العمل

▢ التعليقات (0)