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 khả năng tương tác với người dùng cho dù họ đang sử dụng ứng dụng của bạn ở nền trước hay ứng dụng của bạn đang ở nền sau.

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 các phần phụ thuộc FCM và FIAM
  • Gửi thông báo FCM thử nghiệm đến ứng dụng của bạn
  • Gửi thông báo thử nghiệm trong ứng dụng của Firebase đến ứng dụng của bạn

Bạn cần

  • 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). Đây là thư mục được sao chép ở bước trước (File (Tệp) > Open (Mở) > .../codelab-fcm-and-fiam).

Giờ đây, bạn sẽ mở dự án FcmAndFiam trong Android Studio. Nếu thấy cảnh báo về việc thiếu tệp google-services.json, bạn cũng đừng lo lắng về việc này. Bạn sẽ thêm thông tin này trong bước tiếp theo.

3. Thiết lập dự án Firebase và ứng dụng của bạn để sử dụng Firebase

Tạo một dự án Firebase

  1. Đăng nhập vào bảng điều khiển của Firebase bằng Tài khoản Google của bạn.
  2. Nhấp vào nút để tạo một dự án mới, sau đó nhập tên dự án (ví dụ: Send messages codelab).
  3. Nhấp vào Tiếp tục.
  4. Nếu được nhắc, hãy xem xét và chấp nhận các điều khoản của Firebase, rồi nhấp vào Tiếp tục.
  5. (Không bắt buộc) Bật tính năng hỗ trợ của AI trong bảng điều khiển của Firebase (còn gọi là "Gemini trong Firebase").
  6. Đối với lớp học lập trình này, bạn cần Google Analytics để sử dụng các sản phẩm của Firebase một cách tối ưu, vì vậy, hãy bật nút bật/tắt cho lựa chọn Google Analytics. Làm theo hướng dẫn trên màn hình để thiết lập Google Analytics.
  7. Nhấp vào Tạo dự án, đợi dự án được cấp phép rồi nhấp vào Tiếp tục.

Thêm Firebase vào ứng dụng của bạn

  1. 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 để chạy quy trình thiết lập.
  2. Nhập tên gói của lớp học lập trình: com.google.firebase.codelab.fcmandfiam
  3. Sau khi thêm tên gói, hãy nhấp vào Đăng ký ứng dụng rồi tải google-services.json xuống để lấy tệp cấu hình Firebase Android, sau đó 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 cho các bước tiếp theo xuất hiện 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).
  4. Thêm trình bổ trợ google-services vào ứng dụng của bạn**
    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 sử dụng Firebase. Phần phụ thuộc của trình bổ trợ google-services và chính trình bổ trợ này phải được thêm vào các tệp bản dựng ở cấp dự án và cấp ứng dụng tương ứng. Xác nhận các mục 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 vào tệp bản dựng cấp ứng dụng. Xác nhận rằng bạn đã thêm các phần phụ thuộc sau:

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 rằng tất cả các phần phụ thuộc đều có sẵn cho ứng dụng của bạn, bạn nên đồng bộ hoá dự án với các tệp gradle tại thời điểm này. Chọn File > Sync Project with Gradle Files (Tệp > Đồng bộ hoá dự án với các tệp Gradle) trên thanh công cụ của Android Studio.

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

Cả Giải pháp gửi thông báo qua đám mây của Firebase và Thông báo trong ứng dụng của Firebase đều sử dụng giá trị nhận dạng để gửi thông báo đế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 lượt cài đặt.

  1. Trong MainActivity.kt, hãy thay thế phần TODO bằng đoạn mã dưới đây để ghi lại các giá trị nhận dạng cần thiết để gửi thông báo:
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 Chạy ( execute.png) trong thanh công cụ của Android Studio. Khi nhấn vào nút Log Identifiers (Ghi nhật ký giá trị nhận dạng), mã thông báo đăng ký FCM và mã nhận dạng lượt cài đặt Firebase sẽ được ghi 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 thông báo thử nghiệm bằng FCM

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

  1. Đảm bảo ứng dụng đang chạy trong nền (chuyển đến màn hình chính)
  2. Truy cập vào bảng điều khiển của Firebase rồi chọn Nhắn tin qua đám mây trong trình đơn đ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 thông báo thử nghiệm

207ced65f5245ada.png

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

f3556c6a8a6453fe.png

  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 sẽ mở ứng dụng

6. Gửi thông báo thử nghiệm trong ứng dụng (FIAM)

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 một thông báo FIAM thử nghiệm bằng cách:

  1. Đảm bảo ứng dụng đang chạy trong nền (chuyển đến màn hình chính)
  2. Truy cập vào bảng điều khiển của Firebase rồi chọn Nhắn tin trong ứng dụng trong trình đơn điều hướng bên trái
  3. Chọn Tạo chiến dịch đầu tiên của bạ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ã nhận dạng 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

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

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

Các bước tiếp theo

  • Gửi thông báo cho người dùng trong ứng dụng Android của riêng bạn.

Tài liệu tham khảo