دریافت مطمئن پیامها مهمترین ویژگی هر تجربه پیامرسانی در Android است. همچنین مهم است که پیامرسانی را با درنظر گرفتن سلامت سیستم و عمر باتری پیادهسازی کنید. این سند شما را با راهبردها و ابزارهای کلیدی آشنا میکند تا مطمئن شوید برنامه Android شما پیامها را بهطور یکنواخت، کارآمد، و مطمئن دریافت میکند.
سازوکارهای ارسال پیام
بهترین رویکرد برای پیامرسانی قابلاطمینان به الزامات خاص برنامهتان بستگی دارد. عواملی مانند موارد زیر را درنظر بگیرید:
- نیازهای همزمان فعلی
- بسامد پیام
- محدودیتهای باتری
پیامرسانی همزمان پیشزمینه
وقتی برنامهتان در پیشنما است، کاربر معمولاً انتظار دارد حجم نسبتاً زیادی از اطلاعات را دریافت کند و میخواهد چیزهایی مثل موارد زیر را بداند:
- آیا شخصی که پیام را دریافت میکند در دستگاهش حضور دارد؟
- درحال تایپ کردن هستند؟
- آیا پیام را خواندهاند؟
روش معمول برای پشتیبانی از این نوع تبادل داده همزمان استفاده از پروتکل کارخواه-سرور، مانند WebSockets است. WebSockets ارتباط دوطرفه کامل و مداوم بین برنامه شما و سرور را فعال میکند. کتابخانه OKHTTP شامل پیادهسازی پروتکل WebSocket است که میتوانید در کارخواه Android خود استفاده کنید.
پایگاه داده بیدرنگ Firebase یک پسای ازپیشساخته و پیشای مشتری ارائه میدهد که میتواند این نوع ارتباط را ازطرف شما مدیریت کند. این ابزار از WebSockets بهطور داخلی برای ارتباط همزمان بین کارخواه و سرور استفاده میکند.
پیامرسانی همزمان در پسزمینه
وقتی برنامهتان دیگر در پیشزمینه نیست، بسیار مهم است که از انجام کارهایی که بر سلامت سیستم و عمر باتری تأثیر منفی میگذارد اجتناب کنید. ازآنجاییکه ارسال مطمئن اعلانهای پیام همچنان مهم است، توصیه میکنیم از پیامرسانی ابریِ Firebase (FCM) استفاده کنید.
FCM یک راهکار پیامرسانی چندسکویی است که بهطور کارآمد اعلانها و پیامهای داده را به دستگاههای Android (و سایر دستگاهها) ارسال میکند. این API از «لایه انتقال Android» (ATL) برای دستگاههایی که سرویسهای Google دارند استفاده میکند تا وقتی برنامهتان دیگر درحال اجرا نیست، بتواند از تغییرات مطلع شود. بهموقع بودن ارسال پیام به وضعیت دستگاه، اولویت پیام، و اینکه آیا برنامه شما بهدلیل چرت زدن یا حالت آمادهبهکار برنامه مشمول محدودیت است یا نه بستگی دارد.
بهبود قابلیت اطمینان ارسال پیام
برای اینکه ارسال پیامهایتان را حتی از این هم قویتر کنید، این استراتژیها را درنظر بگیرید:
- از
WorkManagerبرای بیدار کردن دورهای برنامهتان استفاده کنید تا وقتی دستگاه اتصال شبکه دارد و (در حالت ایدهآل) وقتی دستگاه به شارژر متصل است، پیامهای جدید را بررسی کند. - با ابزارهایی مثل کنسول Firebase و سنجههای تحویل کیت توسعه نرمافزار Android از FCM Data API، اطلاعات آماری درباره تحویل FCM دریافت کنید.
- از ابزارها و سازوکارهای ثبت گزارش مثل Firebase Crashlytics برای نظارت و عیبیابی مشکلات تحویل پیام استفاده کنید.