Thông báo cho người kiểm thử về các bản phát hành mới của ứng dụng bằng SDK Android Phân phối ứng dụng Firebase – Lớp học lập trình

1. Tổng quan

c7a9160ef7b184c7.png. 22e0b52f771c060d.png.

Chào mừng bạn đến với khoá học Tích hợp SDK Phân phối ứng dụng Firebase trong lớp học lập trình về ứng dụng Android. Trong lớp học lập trình này, bạn sẽ thêm SDK Android phân phối ứng dụng vào ứng dụng của mình để hiển thị thông báo trong ứng dụng cho người kiểm thử khi có bản dựng mới để tải xuống. Bạn sẽ tìm hiểu cách sử dụng cả cấu hình cơ bản và cấu hình tuỳ chỉnh để giúp người kiểm thử đăng nhập nhận các bản cập nhật. Sau đó, bạn sẽ đẩy một bản phát hành mới vào tính năng Phân phối ứng dụng và kích hoạt một thông báo về bản dựng mới ngay trong ứng dụng.

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

  • Cách sử dụng tính năng Phân phối ứng dụng để phân phối bản phát hành trước cho người thử nghiệm
  • Cách tích hợp SDK Android Phân phối ứng dụng vào ứng dụng
  • Cách thông báo cho người kiểm thử khi có một bản phát hành trước mới cho người dùng cài đặt
  • Cách tuỳ chỉnh SDK để phù hợp với nhu cầu kiểm thử của bạn

Bạn cần có

  • Phiên bản Android Studio mới nhất.
  • Mã mẫu.
  • Thiết bị thử nghiệm chạy Android 4.4 trở lên và Dịch vụ Google Play 9.8 trở lên hoặc Trình mô phỏng có Dịch vụ Google Play 9.8 trở lên.
  • Nếu bạn sử dụng một thiết bị, hãy sử dụng cáp kết nối.

Bạn sẽ sử dụng hướng dẫn này như thế nào?

Chỉ đọc qua Đọc và hoàn thành bài tập

Bạn đánh giá trải nghiệm xây dựng ứng dụng Android của mình như thế nào?

Người mới tập Trung cấp Thành thạo

2. Nhận mã mẫu

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

$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git

Nếu chưa cài đặt git, bạn cũng có thể tải dự án mẫu xuống từ trang GitHub hoặc bằng cách nhấp vào đường liên kết này.

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

Trong Android Studio, hãy chọn thư mục codelab-appdistribution-android/start ( android_studio_folder.png) trong phần tải mã mẫu xuống (File > Open > .../codelab-appdistribution-android/start).

Bây giờ, bạn sẽ mở dự án bắt đầu trong Android Studio.

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

Thêm dự án Firebase mới

  1. Mở bảng điều khiển của Firebase.
  2. Chọn Add Project (Thêm dự án), sau đó đặt tên cho dự án là "Firebase Codelab".

Bạn không cần bật Google Analytics cho dự án này.

  1. Nhấp vào Tạo dự án.

Thêm ứng dụng vào Firebase

Đăng ký ứng dụng của bạn với Firebase. Sử dụng "com.google.firebase.appdistributioncodelab" làm tên gói.

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

Sau khi thêm tên gói rồi chọn Đăng ký, hãy làm theo các bước sau để thêm tệp google-services.json vào ứng dụng:

  1. Nhấp vào Tải google-services.json xuống để lấy tệp cấu hình Android của Firebase.
  2. Sao chép tệp google-services.json vào thư mục app trong dự án.
  3. Sau khi tải tệp xuống, bạn có thể Bỏ qua các bước tiếp theo 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).

Cập nhật mã ứng dụng để phù hợp với ứng dụng Firebase của bạn

  1. Trong trình đơn bên trái (Thẻ dự án), hãy đảm bảo bạn đang sử dụng "Android" Xem và tìm "Gradle Scripts" (Tập lệnh Gradle) tab và mở tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là app/build.gradle.kts).
  2. Thay đổi thuộc tính applicationId để phù hợp với mã ứng dụng của ứng dụng Firebase. Tên này phải là "com.google.firebase.appdistributioncodelab"

Đồ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, hãy đồ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.

5. Thiết lập cảnh báo bản dựng mới trong ứng dụng bằng SDK Android Phân phối ứng dụng

Trong bước này, bạn sẽ thêm SDK Android Phân phối ứng dụng Firebase vào ứng dụng của mình và hiển thị thông báo trong ứng dụng cho người kiểm thử khi có bản dựng mới của ứng dụng để cài đặt. Để thực hiện việc này, hãy đảm bảo rằng bạn đã bật API Người kiểm tra ứng dụng Firebase cho "Lớp học lập trình Firebase" của mình dự án (trong Google Cloud Console). Bạn cần đăng nhập bằng chính tài khoản đó và chọn đúng dự án trong trình đơn thả xuống ở trên cùng.

Định cấu hình cảnh báo trong ứng dụng

SDK Android phân phối ứng dụng cung cấp 2 cách để thiết lập cảnh báo bản dựng trong ứng dụng cho người kiểm thử:

  • Cấu hình thông báo cơ bản, đi kèm với một hộp thoại tạo sẵn để hiển thị cho người kiểm thử.
  • Cấu hình cảnh báo nâng cao cho phép bạn tuỳ chỉnh giao diện người dùng (UI).

Chúng ta sẽ bắt đầu với cấu hình cảnh báo cơ bản. Bạn có thể sử dụng updateIfNewReleaseAvailable để hiện hộp thoại bật cảnh báo được tạo sẵn cho những người kiểm thử chưa bật cảnh báo, sau đó kiểm tra xem có bản dựng mới hay không. Người kiểm thử bật cảnh báo bằng cách đăng nhập vào tài khoản có quyền truy cập vào ứng dụng trong tính năng Phân phối ứng dụng. Khi được gọi, phương thức này sẽ thực thi trình tự sau đây:

  1. Kiểm tra xem người kiểm thử có bật cảnh báo hay không. Nếu không, phương thức này sẽ hiển thị hộp thoại tạo sẵn để nhắc người kiểm thử đăng nhập vào tính năng Phân phối ứng dụng bằng Tài khoản Google của họ.

Bật cảnh báo là quy trình một lần trên thiết bị thử nghiệm sẽ duy trì qua các bản cập nhật ứng dụng của bạn. Cảnh báo vẫn được bật trên thiết bị thử nghiệm cho đến khi ứng dụng bị gỡ cài đặt hoặc cho đến khi phương thức signOutTester được gọi.

  1. Kiểm tra các bản dựng mới có để người kiểm thử cài đặt.
  2. Hiện thông báo tạo sẵn nhắc người kiểm thử tải bản phát hành mới nhất xuống.
  3. Kiểm tra loại bản dựng mới trước khi tiến hành cập nhật:
  4. Nếu bản dựng mới là một App Bundle (AAB), hãy chuyển hướng người kiểm thử đến Cửa hàng Play để hoàn tất quá trình cập nhật.
  5. Nếu bản dựng mới là một APK, SDK sẽ tải bản dựng mới xuống ở chế độ nền và nhắc người kiểm thử cài đặt bản dựng mới khi quá trình tải xuống hoàn tất. SDK gửi thông báo về tiến trình tải xuống cho người dùng bằng NotificationManager.. Bạn có thể thêm chỉ báo tiến trình của riêng mình bằng cách đính kèm một trình xử lý onProgressUpdate vào Tác vụ updateIfNewReleaseAvailable.

Bạn có thể gọi updateIfNewReleaseAvailable() bất cứ lúc nào trong ứng dụng. Ví dụ: bạn có thể gọi updateIfNewReleaseAvailable() trong phương thức onResume() của MainActivity:

Mở tệp MainActivity.kt rồi tạo phương thức onResume() như sau:

MainActivity.kt

override fun onResume() {
    super.onResume()
    checkForUpdate()
}

Bây giờ, hãy triển khai phương thức checkForUpdate().

MainActivity.kt

   private fun checkForUpdate() {
        firebaseAppDistribution.updateIfNewReleaseAvailable()
            .addOnProgressListener { updateProgress ->
                // (Optional) Implement custom progress updates in addition to
                // automatic NotificationManager updates.
            }
            .addOnFailureListener { e ->
                if (e is FirebaseAppDistributionException) {
                    // Handle exception.
                }
            }
    }

6. Tạo bản dựng và mời người thử nghiệm tải ứng dụng của bạn xuống

Ở bước này, bạn tạo bản dựng ứng dụng và kiểm thử kết quả triển khai bằng cách phân phối bản dựng cho người kiểm thử thông qua bảng điều khiển của Firebase.

Xây dựng ứng dụng

Khi bạn đã sẵn sàng phân phối phiên bản phát hành trước của ứng dụng cho người thử nghiệm, hãy xây dựng APK theo quy trình thông thường. Bạn phải ký APK bằng khoá gỡ lỗi hoặc khoá ký ứng dụng.

Phân phối ứng dụng cho người kiểm thử

Để phân phối ứng dụng cho người thử nghiệm, hãy tải tệp APK lên bằng bảng điều khiển của Firebase:

  1. Mở trang Phân phối ứng dụng của bảng điều khiển của Firebase. Chọn dự án Firebase của bạn khi được nhắc.
  2. Trên trang Bản phát hành, hãy chọn ứng dụng bạn muốn phân phối trong trình đơn thả xuống.

623460c3c8a82ce6.pngS

  1. Nhấp vào Bắt đầu

bf503b25066ff4a4.pngs

  1. Kéo tệp APK của ứng dụng vào bảng điều khiển để tải tệp đó lên.
  2. Khi quá trình tải lên hoàn tất, hãy chỉ định nhóm người kiểm thử và từng người kiểm thử mà bạn muốn nhận bản dựng. (Thêm email của bạn để nhận lời mời.) Sau đó, hãy thêm ghi chú phát hành cho bản dựng. Để tìm hiểu thêm về cách tạo nhóm người kiểm thử, hãy xem phần Thêm và xoá người kiểm thử.

3343048f0930e84b.png.

  1. Nhấp vào Phân phối để cung cấp bản dựng cho người kiểm thử.

2be58fe195928bf9.png.

Trong bảng điều khiển của Firebase, bạn hiện có thể xem những người kiểm thử mà bạn đã thêm trong bản phát hành của ứng dụng.

9935a41810344c61.pngS

Vì bạn đã thêm địa chỉ email của mình, nên bạn sẽ nhận được email từ tính năng Phân phối ứng dụng Firebase mời bạn thử nghiệm ứng dụng. Bạn là người thử nghiệm đầu tiên! Làm theo hướng dẫn trong phần Chấp nhận lời mời để thiết lập tính năng người kiểm thử trên thiết bị thử nghiệm.

Chấp nhận lời mời

Trước tiên, bạn cần chấp nhận lời mời để tải xuống và kiểm thử bản phát hành.

  1. Trên thiết bị thử nghiệm Android, hãy mở email được gửi từ tính năng Phân phối ứng dụng Firebase rồi nhấn vào Bắt đầu.
  2. Trong ứng dụng web dành cho người kiểm tra Phân phối ứng dụng Firebase xuất hiện, hãy đăng nhập bằng Tài khoản Google của bạn rồi nhấn vào Chấp nhận lời mời. Lúc này, bạn có thể thấy bản phát hành mà bạn được mời thử nghiệm.

c18cb684f8e82ad6.pngS

Tải bản phát hành xuống qua thiết bị thử nghiệm

Khi chuyển đến ứng dụng lớp học lập trình AppPhân phối, bạn có thể thấy rằng bản phát hành đã sẵn sàng để tải xuống.

5414d9a536f25ece.png.

  1. Nhấn vào Download (Tải xuống), sau đó cài đặt và chạy ứng dụng!
  2. Khi khởi động, ứng dụng sẽ yêu cầu bạn bật thông báo về bản dựng mới. Nhấn vào Bật.

b059e09acaa4779f.png.

  1. Đăng nhập bằng tài khoản người kiểm thử của bạn.

22e0b52f771c060d.png.

Bạn sẽ được đưa trở lại ứng dụng. Lần tới khi chạy ứng dụng này, bạn không cần đăng nhập hoặc chấp nhận thông báo

c9f33df16a2680d.png.

Phân phối bản cập nhật cho người kiểm thử

  1. Cập nhật versionName của bạn thành "1.1" và versionCode thành 2 trong tệp Gradle của mô-đun (cấp ứng dụng) (thường là app/build.gradle).
  2. Xây dựng APK bằng quy trình thông thường. Bạn phải ký APK bằng khoá gỡ lỗi hoặc khoá ký ứng dụng.
  3. Tải APK mới này lên trong bảng điều khiển của Firebase, thêm lại email của bạn làm người kiểm thử và nhấp vào Phân phối.

2dfa702edfdce6b8.pngs

Cảnh báo bản thử nghiệm

  1. Đảm bảo bạn đã đóng ứng dụng nếu ứng dụng đang mở.
  2. Khởi động lại ứng dụng.
  3. Khi ứng dụng khởi động lại, bạn sẽ nhận được thông báo về phiên bản mới có sẵn.

987e3d0ba4e56f84.png.

  1. Để nhận phiên bản mới nhất, hãy nhấp vào Cập nhật.
  2. Nếu được nhắc, hãy chọn cho phép cài đặt ứng dụng từ các nguồn không xác định.
  3. Nhấp vào Cài đặt (hoặc Cập nhật) trên màn hình tiếp theo.

a7c7cd15d60bc764.png.

  1. Xin chúc mừng! Bạn đã có thể cập nhật ứng dụng của mình bằng các cảnh báo tích hợp sẵn.

7. Tuỳ chỉnh thông tin đăng nhập cho người kiểm thử

Các phương thức signInTester/signOutTesterisTesterSignedIn cho phép bạn linh hoạt hơn khi tuỳ chỉnh trải nghiệm đăng nhập của người kiểm thử, nhờ đó có thể phù hợp hơn với giao diện của ứng dụng.

Ví dụ sau đây sẽ kiểm tra xem người kiểm thử đã đăng nhập vào tài khoản người kiểm thử Phân phối ứng dụng Firebase hay chưa, vì vậy, bạn có thể chọn chỉ hiển thị giao diện người dùng đăng nhập cho người kiểm thử chưa đăng nhập. Sau khi người kiểm thử đăng nhập, bạn có thể gọi checkForUpdate để kiểm tra xem người kiểm thử có quyền truy cập vào bản dựng mới hay không.

Hãy tắt tính năng tự động kiểm tra bản cập nhật trong onResume bằng cách nhận xét lệnh gọi checkForUpdate().

MainActivity.kt

override fun onResume() {
        super.onResume()
        //checkForupdate()
    }

Thay vào đó, checkForUpdate() đã được thêm vào OnClickListener của updatebutton.

Bây giờ, hãy triển khai phương thức signIn(). Phương thức này sẽ đăng nhập người dùng nếu họ đã đăng xuất hoặc đăng xuất người dùng nếu họ đã đăng nhập.

MainActivity.kt

    private fun signIn() {
        if (isTesterSignedIn()) {
            firebaseAppDistribution.signOutTester()
            configureUpdateButton()
            configureSigninButton()
        } else {
            firebaseAppDistribution.signInTester()
        }
    }

Cuối cùng, hãy triển khai phương thức isTesterSignedIn.

MainActivity.kt

    private fun isTesterSignedIn() : Boolean {
        return firebaseAppDistribution.isTesterSignedIn
    }

Xây dựng và kiểm thử kết quả triển khai

8. Xin chúc mừng!

Bạn đã tạo "màn hình thông báo trong ứng dụng" vào một ứng dụng bằng cách sử dụng SDK Android Phân phối ứng dụng Firebase.

Nội dung đã đề cập

  • Phân phối ứng dụng Firebase
  • SDK Android cảnh báo mới của tính năng Phân phối ứng dụng Firebase

Các bước tiếp theo

Tìm hiểu thêm

Bạn có thắc mắc?

Báo cáo vấn đề