Hướng dẫn sử dụng Firebase Cloud Messaging trong android
Trong bài viết hướng dẫn sử dụng Firebase Cloud Messaging trong android, chúng tôi sẽ giới thiệu về Firebase Cloud Messaging, sử dụng Firebase Cloud Messaging trong ứng dụng android như thế nào.
Nếu bạn đã đọc bài viết Google Cloud Messaging cho Android thì bạn đã biết cách truyền tải thông điệp đến ứng dụng người dùng. Firebase Cloud Messaging là một dịch vụ tương tự.
Hướng dẫn sử dụng Firebase Cloud Messaging – Giới thiệu Firebase Cloud Messaging (FCM)
FCM là một API được sử dụng để chuyển tải thông điệp cho nhiều nền tảng như Android, iOS. Sử dụng FCM, ứng dụng có thể gửi thông báo đến người sử dụng mỗi khi có thông tin mới và điều này thật hữu ích cho những tin nhắn tiếp thị như cửa hàng thời trang thông báo đến khách hàng khi có sản phẩm mới, …
Việc cài đặt Firebase Cloud Messaging bao gồm các thành phần Publiser (sử dụng giao diện webform hoặc giao diện winform, đối tượng gửi thông điệp), FCM và Client app (ứng dụng người dùng, đối tượng nhận thông điệp). Hình bên dưới trình bày kiến trúc hoạt động của FCM
Hướng dẫn sử dụng Firebase Cloud Messaging – Tạo Firebase project
1. Truy cập Firebase -> chọn GET STARTED FOR FREE -> đăng nhập bằng tài khoản gmail (Nếu chưa có bạn hãy tạo một tài khoản gmail)
2. Chọn CREATE NEW PROJECT
3. Nhập tên project tại Project name là FCMTutorial (Bạn có thể nhập tên khác), chọn Vietnam tại Country/region -> chọn CREATE PROJECT
4. Chọn Add Firebase to your Android app
5. Chỉ định tên package tại Package name (Để biết tên package, chúng ta mở Gradle Scripts/build.gradle (Module: app), quan sát giá trị đặt trong cặp dấu nháy kép của applicationId
6. Chọn OK -> chỉ định thư mục lưu trữ tập tin google-service.json
Chọn CONTINUE sẽ hiển thị màn hình hướng dẫn thêm Firebase vào ứng dụng Android của bạn. Chúng ta sẽ thực hiện những bước này sau khi tạo project.
Hướng dẫn sử dụng Firebase Cloud Messaging – Điều kiện tiên quyết
1. Cài đặt Android Studio 1.5 hoặc cao hơn.
2. Download Google Play services SDK phiên bản mới nhất từ Android SDK Manager của Android Studio.
Hướng dẫn sử dụng Firebase Cloud Messaging – Tạo một Android project
1. Mở Android Studio -> File -> New -> New Project -> chọn Phone and Tablet tại màn hìnhTarget Android Devices -> Next -> tại màn hình Add an Activity to Mobile, chọn Empty Activity
2. Mở Gradle Scripts/build.gradle (Project: ) và thêm đoạn code sau vào trong dependencies, sau đó chọn Sync Now
classpath 'com.google.gms:google-services:3.0.0'
3. Thêm tập tin google-services.json vào project
4. Mở Gradle Scripts/build.gradle (Module:app) và thêm đoạn code sau vào trong dependencies, sau đó chọn Sync Now
compile 'com.google.firebase:firebase-core:9.6.1' apply plugin: 'com.google.gms.google-services'
5. Tao một Activity với tên NotificationActivity với layout và code phát sinh tự động. Chúng ta chưa cần bổ sung gì.
6. Tạo một java class với tên FirebaseMsgService
/** * Created by http://giasutinhoc.vn */ public class FirebaseMsgService extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage rm) { // Hiển thị thông báo createNotification(rm.getNotification().getBody()); } // Xử lý hiển thị thông báo private void createNotification(String msg) { Intent i = new Intent(this, NotificationActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pi = PendingIntent.getActivity(this, 0, i, PendingIntent.FLAG_ONE_SHOT); Uri u = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); NotificationCompat.Builder b = new NotificationCompat.Builder(this) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle("Hướng dẫn sử dụng Firebase Cloud Messaging") .setContentText(msg) .setAutoCancel(true) .setSound(u) .setContentIntent(pi); NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); nm.notify(0, b.build()); } }
7. Tạo một java class khác với tên MyFirebaseInstanceIdService
/** * Created by http://giasutinhoc.vn */ public class MyFirebaseInstanceIdService extends FirebaseInstanceIdService { }
8. Mở app/manifests/AndroidManifest.xml
Bổ sung quyền truy cập Internet và Vibrate
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.VIBRATE"/>
Đăng ký service (Bổ sung trước thẻ đóng </application>)
<service android:name=".FirebaseMsgService"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT"/> </intent-filter> </service> <service android:name=".MyFirebaseInstanceIdService"> <intent-filter> <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/> </intent-filter> </service>
9. Mở app/res/layout/activity_main.xml và nhập text cho TextView
10. Build và run ứng dụng
11. Test
1. Truy cập Firebase -> chọn Goto to console -> sử dụng tài khoản gmail đăng nhập -> chọn Firebase project là FCMTutorial (Project này chúng ta đã tạo trước đó) -> chọn Notifications
Chọn SEND YOUR FIRST MESSAGE
Nhập thông điệp muốn gửi đến người dùng, chỉ định tên package và chọn SEND MESSAGE
Chọn SEND
2. Thông điệp được chuyển đến ứng dụng người dùng
Hướng dẫn sử dụng Firebase Cloud Messaging – Bài tập
Bạn đọc hãy xây dựng một Publisher dạng Webform hoặc Winform và thông điệp được nhắn từ Publisher này.