ارسال Push Notification در اندروید با استفاده از سرویس Firebase یا fcm

سلام دوستان با پست آموزشی ارسال Push Notification در اندروید با استفاده از سرویس Firebase یا fcm در خدمتتون هستیم. وقتی داشتم تو اینترنت سرچ می کردم دیدم کسی آموزش ارسال Push notification رو با استفاده از سرویس گوگل یا همان fcm یا (Firebase Cloud Messaging ) رو نزاشته گفتم برای دوستان گل بزارمش تا ازش استفاده کنن این آموزش بسیار کامل است تا آخر با ما همراه باشید.قبل از انجام تمامی کار های پایین قندشکن رو روشن کنید 🙂
برای شروع کار ما نیاز دارم تا ابتدا پروژه خود را در سایت زیر ثبت کنیم ( نیازی به ساخت اکانت گوگل نیست در صورتی که یکی از آنها را دارید برای ساخت پروژه ابتدا باید شما یک اکانت گوگل داشته باشید.)

دوستان اگر اندروید استدیو شما ورژن 2.3.3 هست نیازی به انجام موارد بالا نیست فقط کافیست از تب tools قسمت Firebase رو انتخاب کنید عکس زیر برای شما نمایان می شود.

حال شما باید با اکانت خود وارد شودید همانند عکس زیر عمل کنید و روی Connect to Firebase کلیک کنید هم اکنون شما با مرورگر خود به سایت گوگل منتقل پیدا کرده اید و باید اطلاعات حساب کاربری خود را وارد کنید.

پس از ورود
در قسمت چپ یک پنل برای شما باز می شود همانند زیر

سپس بخش Cloud Messaging رو انتخاب کنید حال عکسی همانند زیر برای شما نمایان می شود.

نام پروژه خود در بالا قرار دهید سپس در قسمت پایین کشور خود را ایران قرار دهید سپس Connect to Firebase را بزنید تا به گوگل متصل شوید.
باید کمی صبر کنید تا پروژه شما با گوگل sync شود.بعد از sync شدن زمان اضافه کردن dependencies های fcm به پروژه شما میرسد از سمت راست همان پنل Firebase می توانید این اتصال رو انجام دهید همانند عکس زیر بر روی add Notification to Your app کلیک کنید.

حال صفحه ای همانند زیر برای شما نمایان می شود

بروی Accept Change کلیک کرده و منتظر sync شدن پروژه بمانید.
خب تا اینجا خوب پیش رفیتم حالا به بخش کد می رویم
یک کلاس به نام Config.java ایجاد کرده کد های زیر را در آن قرار دهید.

 
حال زمان آن می رسد که کلیک یا token کی گوگل برای هر کاربر ارسال می کند را  دریافت کرده و در یک جا ذخیره کنیم ما برای ذخیره از Sharedpreference استفاده می کنیم قبلا آموزش داده شده است می تونید از این لینک  برای اطلاعات بیشتر استفاده کنید .
یک فایل به نام MyFirebaseInstanceIDService ایجاد کرده کد های زیر را در آن قرار دهید.

 
یک فایل به نام MyFirebaseMessagingService ایجاد کرده و کد های زیر را در آن قرار دهید.

حال زمان آن می رسد که دیتا دریافت شده از سرویس fcm را در برنامه handle کنیم یعنی مقدار ها  parse کنیم و به صورت یک Notification به کاربر نمایش دهیم.
پس یک کلاس به نام NotificationUtils ایجاد کرده کد های که برای ایجاد notification لازم است را در آن قرار دهید.

حال زمان ایجاد اکتیویتی اصلی یعنی Mainactivity می شود کد های زیر را در آن قرار دهید.

و ما فقط یک فایل Layout داریم که به اکتیویتی اصلی مطعلق است و کد ها زیر را در آن قرار دهید.

و به مهم ترین بخش برنامه یعنی service می رسیم اگر کد های زیر را در AndroidManifest قرار ندهید اصلا برنامه پیامی رو از سرویس گوگل دریافت نخواهد کرد ! این کد رو باید قبل از بسته شدن تگ Application قرار دهید.

کار به اتمام رسید انشاالله آموزش کامل و مفیده برای شما بوده باشد.
 

مطالعه بیشتر