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

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

Trong bảng mã này, bạn học 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 ở chế độ nền hay ứng dụng của bạn ở chế độ nền.

206c7ecece550bde.png

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

Không có

Những gì bạn sẽ học

  • Thêm Firebase vào ứng dụng Android của bạn
  • Thêm 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 giả lập 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 dành cho người mới bắt đầu

Từ Android Studio, chọn thư mục codelab-fcm-and-fiam ( android_studio_folder.png ). Nó sẽ là bản sao trong 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. Đi tới 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. Làm 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 một dự án hiện có của Google).
  5. Từ màn hình tổng quan của 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 codelab: 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, nhấp vào Đăng ký ứng dụng rồi Tải xuống google-services.json để lấy tệp cấu hình Firebase Android của bạn, 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 cho các bước tiếp theo được hiển thị trong bảng điều khiển (chúng đã được thực hiện cho bạn trong dự án khởi động xây dựng-android).

Thêm plugin google-services 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 để sử dụng Firebase. Sự phụ thuộc của plugin google-services và bản thân plugin đã phải được thêm vào các tệp xây 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ụ thuộc sau. Các 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ần phụ thuộc sau được thêm vào:

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ộ 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. Số nhận dạng nhật ký

Nhắn tin qua đám mây của Firebase và Nhắn tin trong ứng dụng của Firebase đều sử dụng số nhận dạng để gửi tin nhắn tới ứ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ế VIỆC CẦN LÀM bằng mã bên dưới để ghi lại các số 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 của bạn và nhấp vào Chạy ( thi hành.png ) trong thanh công cụ 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ẽ giố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

Tin nhắn FCM có thể được gửi cả từ bảng điều khiển Firebase và từ API FCM REST. Trong bảng mã này, chúng tôi sẽ soạn một tin nhắn thông báo FCM và gửi đến thiết bị của chúng tôi. 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:

  1. Đảm bảo ứng dụng ở chế độ nền (chuyển đến màn hình chính)
  2. Đi tới 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 thử nghiệm

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

Nhắn tin 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 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:

  1. Đảm bảo ứng dụng ở chế độ nền (chuyển đến 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 và nhập tiêu đề và nội dung thư
  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 của mình cho dù họ đang sử dụng ứng dụng của bạn ở chế độ nền 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