Dùng FCM và FIAM để gửi thông báo cho người dùng

1. Trước khi bắt đầu

Trong lớp học lập trình này, bạn sẽ tìm hiểu cách thêm tính năng tương tác với người dùng cho dù họ đang dùng ứng dụng của bạn ở chế độ nền trước hay chạy trong nền.

206c7ecece550bde.png.

Điều kiện tiên quyết

Không có

Kiến thức bạn sẽ học được

  • Thêm Firebase vào Ứng dụng Android
  • Thêm phần phụ thuộc FCM và FIAM
  • Gửi tin nhắn FCM thử nghiệm đến ứng dụng của bạn
  • Gửi thông báo FIAM kiểm thử đến ứng dụng của bạn

Bạn cần có

  • Android Studio 4.1
  • Trình mô phỏng hoặc thiết bị Android

2. Bắt đầu

Nhận mã mẫu

Sao chép kho lưu trữ GitHub từ dòng lệnh:

Nhập ứng dụng khởi đầu

Trong Android Studio, hãy chọn thư mục codelab-fcm-and-fiam ( android_studio_folder.png). Đó sẽ là tệp được sao chép ở bước trước (File > Open > .../codelab-fcm-and-fiam).

Bây giờ, bạn cần mở dự án FcmAndFiam trong Android Studio. Đừng lo nếu bạn thấy cảnh báo về việc thiếu tệp google-services.json. Tính năng này sẽ được thêm vào trong bước tiếp theo.

3. Tạo dự án bảng điều khiển Firebase

Thêm Firebase vào dự án

  1. Truy cập vào bảng điều khiển của Firebase.
  2. Chọn Thêm dự án.
  3. Chọn hoặc nhập tên Dự án.
  4. Hãy làm theo các bước thiết lập còn lại trong bảng điều khiển của Firebase, sau đó nhấp vào Tạo dự án (hoặc Thêm Firebase, nếu bạn đang sử dụng dự án hiện có của Google).
  5. Trên màn hình tổng quan của dự án mới, hãy nhấp vào biểu tượng Android để bắt đầu quy trình thiết lập.
  6. Nhập tên gói của lớp học lập trình: com.google.firebase.codelab.fcmandfiam

Thêm tệp google-services.json vào ứng dụng

Sau khi thêm tên gói, hãy nhấp vào Đăng ký ứng dụng, rồi nhấp vào Tải google-services.json xuống để lấy tệp cấu hình Android của Firebase, rồi sao chép tệp google-services.json vào thư mục app trong dự án của bạn. Sau khi tải tệp xuống, bạn có thể nhấp vào Bỏ qua để thực hiện các bước tiếp theo trong bảng điều khiển (các bước này đã được thực hiện cho bạn trong dự án build-android-start).

Thêm trình bổ trợ google-services vào ứng dụng

Trình bổ trợ google-services sử dụng tệp google-services.json để định cấu hình ứng dụng của bạn nhằm sử dụng Firebase. Phần phụ thuộc trình bổ trợ google-services và chính trình bổ trợ này phải được thêm lần lượt vào các tệp bản dựng cấp dự án và cấp ứng dụng. Xác nhận các mục nhập sau:

build.gradle

buildscript {
  ...
  dependencies {
    ...
    classpath 'com.google.gms:google-services:4.3.8'
  }
}

app/build.gradle

plugins {
  ...
  id: 'com.google.gms.google-services'
}

Thêm phần phụ thuộc

FCM và FIAM yêu cầu các phần phụ thuộc sau. Các phần phụ thuộc này phải được thêm sẵn vào tệp bản dựng cấp ứng dụng. Xác nhận các phần phụ thuộc sau đây đã được thêm:

app/build.gradle

dependencies {
  ...
  implementation platform('com.google.firebase:firebase-bom:28.4.2')
  implementation 'com.google.firebase:firebase-analytics'
  implementation 'com.google.firebase:firebase-messaging'
  implementation 'com.google.firebase:firebase-inappmessaging-display'
}

Đồng bộ hoá dự án với các tệp gradle

Để đảm bảo tất cả phần phụ thuộc đều dùng được cho ứng dụng, bạn nên đồng bộ hoá dự án với các tệp gradle. Chọn File > (Tệp >) Đồng bộ hoá dự án với tệp Gradle trên thanh công cụ Android Studio.

4. Giá trị nhận dạng nhật ký

Giải pháp Gửi thông báo qua đám mây của Firebase và Giải pháp gửi thông báo trong ứng dụng của Firebase đều sử dụng giá trị nhận dạng để gửi tin nhắn đến các ứng dụng. FCM sử dụng mã thông báo đăng ký và FIAM sử dụng mã nhận dạng cài đặt.

  1. Trong MainActivity.kt, hãy thay thế TODO bằng mã bên dưới để ghi lại giá trị nhận dạng cần thiết để gửi tin nhắn:
FirebaseMessaging.getInstance().token.addOnCompleteListener { regTokenTask ->
   if (regTokenTask.isSuccessful) {
       Log.d(TAG, "FCM registration token: ${regTokenTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve registration token",
           regTokenTask.exception)
   }
}
FirebaseInstallations.getInstance().id.addOnCompleteListener { installationIdTask ->
   if (installationIdTask.isSuccessful) {
       Log.d(TAG, "Firebase Installations ID: ${installationIdTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve installations ID",
           installationIdTask.exception)
   }
}
  1. Kết nối thiết bị Android rồi nhấp vào biểu tượng Chạy ( thực thi.png) trên thanh công cụ của Android Studio. Thao tác nhấn vào nút Log nhậns (Giá trị nhận dạng nhật ký) sẽ ghi nhật ký mã thông báo đăng ký FCM và mã cài đặt Firebase vào logcat. Kết quả đầu ra sẽ có dạng như sau:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Gửi tin nhắn FCM thử nghiệm

Bạn có thể gửi thông báo FCM cả từ bảng điều khiển của Firebase và API REST của FCM. Trong lớp học lập trình này, chúng ta sẽ soạn một tin nhắn thông báo FCM và gửi tin nhắn đó đến thiết bị của mình. Tin nhắn thông báo là những tin nhắn hiển thị trong khu vực thông báo của hệ thống. Gửi tin nhắn FCM thử nghiệm bằng cách:

  1. Đảm bảo ứng dụng chạy trong nền (chuyển đến màn hình chính)
  2. Chuyển đến bảng điều khiển của Firebase và chọn Gửi thông báo qua đám mây trong bảng điều hướng bên trái
  3. Chọn Gửi tin nhắn đầu tiên
  4. Thêm tiêu đề và nội dung cho thông báo, sau đó nhấp vào Gửi tin nhắn thử nghiệm

207ced65f5245ada.pngS

  1. Thêm mã thông báo đăng ký FCM, sau đó nhấp vào kiểm tra

f3556c6a8a6453fe.pngS

  1. Quan sát thông báo hiển thị trên thiết bị
  2. Nhấn vào thông báo để mở ứng dụng

6. Gửi thông báo FIAM thử nghiệm

Tính năng Thông báo trong ứng dụng của Firebase có thể được kích hoạt do nhiều sự kiện của người dùng. Thông báo kiểm thử sử dụng sự kiện mở ứng dụng để kích hoạt Thông báo trong ứng dụng. Gửi thư FIAM thử nghiệm bằng cách:

  1. Đảm bảo ứng dụng chạy trong nền (chuyển đến màn hình chính)
  2. Chuyển đến bảng điều khiển của Firebase rồi chọn tính năng Gửi thông báo trong ứng dụng ở bảng điều hướng bên trái
  3. Chọn Tạo chiến dịch đầu tiên
  4. Chọn chiến dịch biểu ngữ trên cùng rồi nhập tiêu đề và nội dung của thông báo
  5. Nhấp vào Kiểm thử trên thiết bị

69f6ea5efff240d1.png.

  1. Thêm mã lượt cài đặt rồi nhấp vào Kiểm thử

24b101edfab47144.png.

  1. Mở lại ứng dụng
  2. Quan sát thông báo trong ứng dụng

7. Xin chúc mừng

Xin chúc mừng! Bạn đã gửi thành công cả thư FCM và FIAM. Giờ đây, bạn đã biết cách tương tác với người dùng cho dù họ đang dùng ứng dụng của bạn ở chế độ nền trước hay chạy trong nền.

Tài liệu đọc thêm

Các bước tiếp theo

  • Gửi tin nhắn cho người dùng trong ứng dụng Android của riêng bạn.

Tài liệu tham khảo