سرویس Notification در Firebase
در سری مقالات اندروید, این بار میخواهیم سری مقالات آموزشی Firebase را شروع کنیم و این سرویس را از صفر تا قهرمانی در آن را مورد بررسی قرار دهیم. در مقالات قبلی توضیح اجمالی پیرامون Firebase داده شد و با مراجعه به آن می توانید با Firebase آشنا شوید.
مطمعنا یکی از پرکاربرد ترین ابزاری که در برنامه نویسی به کار شما می آید Notification می باشد.در این مقاله ما قصد داریم تا سرویس Notification را بوسیله Firebase پیاده سازی کنیم.
ابتدا باید برای برنامه یک Key store بسازید. وقتی که شما میخواهید برنامه خود را در market ها قرار دهید ( مانند play store , کافه بازار و … ) حتما باید نسخه release شده برنامه را در آنها قرار دهید. استفاده از key store به منظور ایجاد امنیت میباشد. در صورتی که account شما لو رفته باشد و هدف مهاجم این باشد که برنامه ای را به اسم برنامه شما با عنوان update برنامه در market قرار دهد, چون key store شما را ندارد, market از پذیرش نرم افزار خودداری میکند. پس در نگهداری key store خود کوشا باشید. برای مشاهده آموزش به اینجا مراجعه کنید.
به Firebase Console وارد شوید و یک پروژه جدید ایجاد کنید. وقتی وارد console شدید بر روی Add Firebase to your android App کلیک کنید.
و مشخصات لازم را وارد کنید. ( آموزش بدست آوردن SHA1 در فیلم بالا قرار داده شده است).
در مرحله بعد یک google-service.json برای شما تولید میکند و محل قرار گرفتن آن در پروژه شما را نیز برای شما مشخص میکند و در مرحله نهایی dependency ها و موقعیت قرار گرفتن آنها در gradle را مشخص میکند.
تا به اینجا ما Firebase را به پروژه اضافه کرده ایم. حال به سراغ افزودن Notification به پروژه میرویم. باید دو dependency زیر را به پروژه اضافه کنید
compile 'com.google.firebase:firebase-core:10.0.1' compile 'com.google.firebase:firebase-messaging:10.0.1'
سرویس Notification را باید در دو حالت پیاده سازی کنید :
- foreground : یک پیام در بالا نمایش داده میشود و با کلیک بر روی آن اطلاعات آن به صورت Extras در Intent به acitivity ارسال میگردد.
- background : پیام دریافت میشود و در بالا یک Notification ظاهر میشود که با کلیک بر روی آن برنامه باز میشود
برای دریافت پیام ها باید از کلاس FirebaseMessagingService ارث بری کنید و متد OnMessageRecived را پیاده سازی کنید.
public class ZHNotification extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage remoteMessage) { Log.d("Zero TO Hero", "Sender :" + remoteMessage.getFrom()); if (remoteMessage.getData().size() > 0) { Log.d("Zero TO Hero", "Data :" + remoteMessage.getData()); } if (remoteMessage.getNotification() !=null) { Log.d("Zero TO Hero", "Message :" + remoteMessage.getNotification().getBody()); Log.d("Zero TO Hero", "Title :" + remoteMessage.getNotification().getTitle()); } } }
و آنرا در AndroidMonifest.xml به عنوان یک سرویس تعریف میکنیم
... </activity> <service android:name=".ZHNotification"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT"/> </intent-filter> </service> ... </application>
و در مرحله بعد دو meta-data تعریف میکنیم که یکی از آنها برای icon و دیگری برای رنگ پیام میباشد.
</service> ... <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/ic_launcher"/> <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/colorAccent" /> ... </application>
به firebase console میرویم و یک Notification ایجاد میکنیم
و با ارسال پیام Notification را بر روی دستگاه اندرویدی خود مشاهده میکنید
در این آموزش قصد بر این بود که با پیاده سازی Notification در Firebase آشنا شوید. در پایان سری مقالات آموزش Firebase با استفاده از تمام آموزش هایی که در این مقاله و مقاله های بعدی خواهید دید یک پروژه کاربردی را پیاده سازی میکنیم تا شیوه استفاده حرفه ای از آن را بیاموزید.
در آموزش بعدی Storage در Firebase را مورد بررسی قرار میدهیم. سری مقالات Firebase ادامه دارد
با ما همراه باشید
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.