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), FCMClient 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

huong-dan-su-dung-firebase-cloud-message-trong-android-1

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)

huong-dan-su-dung-firebase-cloud-message-trong-android-2

2. Chọn CREATE NEW PROJECT

huong-dan-su-dung-firebase-cloud-message-trong-android-3

3. Nhập tên project tại Project name FCMTutorial (Bạn có thể nhập tên khác), chọn Vietnam tại Country/region -> chọn CREATE PROJECT

huong-dan-su-dung-firebase-cloud-message-trong-android-4

4. Chọn Add Firebase to your Android app

huong-dan-su-dung-firebase-cloud-message-trong-android-5

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.

huong-dan-su-dung-firebase-cloud-message-trong-android-8

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 Mobilechọ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'

huong-dan-su-dung-firebase-cloud-message-trong-android-9

3. Thêm tập tin google-services.json vào project

huong-dan-su-dung-firebase-cloud-message-trong-android-11

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'

huong-dan-su-dung-firebase-cloud-message-trong-android-10

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

huong-dan-su-dung-firebase-cloud-message-trong-android-12

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

huong-dan-su-dung-firebase-cloud-message-trong-android-18

10. Build và run ứng dụng

huong-dan-su-dung-firebase-cloud-message-trong-android-19

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

huong-dan-su-dung-firebase-cloud-message-trong-android-14

Chọn SEND YOUR FIRST MESSAGE

huong-dan-su-dung-firebase-cloud-message-trong-android-15

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

huong-dan-su-dung-firebase-cloud-message-trong-android-16

Chọn SEND

huong-dan-su-dung-firebase-cloud-message-trong-android-17

2. Thông điệp được chuyển đến ứng dụng người dùng

huong-dan-su-dung-firebase-cloud-message-trong-android-20

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.

Chúc các bạn thành công!
BQT – http://giasutinhoc.vn