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