Sử dụng FCM và FIAM để gửi tin nhắn tới người dùng

1. Trước khi bạn 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 ở chế độ nền.

206c7ecece550bde.png

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

Không có

Bạn sẽ học được gì

  • Thêm Firebase vào ứng dụng Android của bạn
  • Thêm phần phụ thuộc FCM và FIAM
  • Gửi tin nhắn FCM thử nghiệm tới ứng dụng của bạn
  • Gửi tin nhắn FIAM thử nghiệm tới ứng dụng của bạn

Những gì bạn cần

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

2. Bắt đầu

Lấy mã mẫu

Sao chép kho GitHub từ dòng lệnh:

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

Từ Android Studio, chọn thư mục codelab-fcm-and-fiam ( android_studio_folder.png ). Nó sẽ là bản sao ở bước trước ( File > Open > .../codelab-fcm-and-fiam).

Bây giờ bạn sẽ mở dự án FcmAndFiam trong Android Studio. Nếu bạn thấy cảnh báo về việc thiếu tệp google-services.json, đừng lo lắng. Nó 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. Chuyển đến bảng điều khiển Firebase .
  2. Chọn Thêm dự án .
  3. Chọn hoặc nhập Tên dự án.
  4. Thực hiện theo các bước thiết lập còn lại trong bảng điều khiển 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. Từ màn hình tổng quan về dự án mới của bạn, hãy nhấp vào biểu tượng Android để khởi chạy 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 của bạn

Sau khi thêm tên gói, hãy nhấp vào Đăng ký ứng dụng, sau đó Tải xuống google-services.json để 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ệp được tải xuống, bạn có thể nhấp vào Bỏ qua để xem các bước tiếp theo được hiển thị 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 plugin dịch vụ google vào ứng dụng của bạn

Plugin 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 của plugin dịch vụ google và bản thân plugin phải được thêm vào các tệp xây dựng cấp ứng dụng và dự án 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'
  }
}

ứng dụng/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ụ thuộc sau. Những phần phụ thuộc này đã được thêm vào tệp xây dựng cấp ứng dụng. Xác nhận các phụ thuộc sau được thêm vào:

ứng dụng/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ộ hóa dự án của bạ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ộ hóa dự án của mình với các tệp gradle tại thời điểm này. Chọn Tệp > Đồng bộ hóa dự án với Tệp Gradle từ thanh công cụ Android Studio.

4. Mã định danh nhật ký

Nhắn tin qua đám mây Firebase và Nhắn tin trong ứng dụng Firebase đều sử dụng số nhận dạng để gửi tin nhắn đến ứng dụng. FCM sử dụng mã thông báo đăng ký và FIAM sử dụng ID cài đặt.

  1. Trong MainActivity.kt thay thế TODO bằng mã bên dưới để ghi lại các mã định danh 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 của bạn và nhấp vào Chạy ( thực thi.png ) trên thanh công cụ của Android Studio. Nhấn vào nút Số nhận dạng nhật ký sẽ ghi mã thông báo đăng ký FCM và ID cài đặt Firebase vào logcat. Đầu ra sẽ trông như thế này:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

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

Tin nhắn FCM có thể được gửi cả từ bảng điều khiển Firebase và từ API FCM REST. 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 nó đến thiết bị của mình. Tin nhắn thông báo là những tin nhắn được hiển thị trong vùng 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ế độ nền (chuyển tới màn hình chính)
  2. Chuyển đến bảng điều khiển Firebase và chọn Nhắn tin qua đám mây trong điều hướng bên trái
  3. Chọn Gửi tin nhắn đầu tiên của bạn
  4. Thêm tiêu đề và nội dung cho tin nhắn, sau đó nhấp vào Gửi tin nhắn kiểm tra

207ced65f5245ada.png

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

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 tin nhắn FIAM kiểm tra

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

  1. Đảm bảo ứng dụng ở chế độ nền (chuyển tới màn hình chính)
  2. Đi tới bảng điều khiển Firebase và chọn Nhắn tin trong ứng dụng ở đ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ữ hàng đầu rồi nhập tiêu đề và nội dung tin nhắn
  5. Nhấp vào Kiểm tra trên thiết bị

69f6ea5efff240d1.png

  1. Thêm ID cài đặt và nhấp vào Kiểm tra

24b101edfab47144.png

  1. Mở lại ứng dụng
  2. Quan sát trong tin nhắn ứng dụng

7. Xin chúc mừng

Xin chúc mừng, bạn đã gửi thành công cả tin nhắn 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 sử dụng ứng dụng của bạn ở nền trước hay ứng dụng của bạn ở chế độ nền.

đọc thêm

Cái gì 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