Thông báo cho người thử nghiệm về các bản dựng mới

SDK iOS và Android phân phối ứng dụng Firebase tùy chọn cho phép bạn hiển thị thông báo trong ứng dụng cho người thử nghiệm khi có bản dựng ứng dụng mới để cài đặt. Hướng dẫn này giải thích cách sử dụng SDK iOS và Android của Phân phối ứng dụng để tạo và tùy chỉnh cảnh báo bản dựng mới cho người thử nghiệm của bạn.

Trước khi bắt đầu

Nếu bạn chưa có, hãy thêm Firebase vào dự án Android của bạn .

Bước 1 : Kích hoạt API Trình kiểm tra phân phối ứng dụng

  1. Chọn dự án của bạn trong bảng điều khiển Google Cloud .

  2. Trong API người kiểm tra ứng dụng Firebase, hãy nhấp vào Bật .

Bước 2 : Thêm phân phối ứng dụng vào ứng dụng của bạn

SDK Android phân phối ứng dụng bao gồm hai thư viện:

  • firebase-appdistribution-api - Thư viện chỉ dành cho API mà bạn có thể đưa vào tất cả các biến thể bản dựng .
  • firebase-appdistribution - Triển khai SDK đầy đủ (tùy chọn).

Thư viện chỉ dành cho API cho phép mã của bạn thực hiện lệnh gọi tới SDK. Lệnh gọi sẽ không có hiệu lực nếu không triển khai SDK đầy đủ.

Khai báo phần phụ thuộc cho SDK Android phân phối ứng dụng trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là <project>/<app-module>/build.gradle.kts hoặc <project>/<app-module>/build.gradle ). Để tránh đưa chức năng tự cập nhật của việc triển khai SDK đầy đủ vào các bản dựng Play của bạn, hãy thêm phần phụ thuộc thư viện chỉ API vào tất cả các biến thể bản dựng . Chỉ thêm cách triển khai SDK đầy đủ vào các biến thể chỉ dành riêng cho thử nghiệm trước khi phát hành.

dependencies {
    // ADD the API-only library to all variants
    implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta12")

    // ADD the full SDK implementation to the "beta" variant only (example)
    betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta12")
}

Bạn đang tìm mô-đun thư viện dành riêng cho Kotlin? Bắt đầu từ bản phát hành tháng 10 năm 2023 , cả nhà phát triển Kotlin và Java đều có thể phụ thuộc vào mô-đun thư viện chính (để biết chi tiết, hãy xem Câu hỏi thường gặp về sáng kiến ​​này ).

Bước 3 : Đị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 các cách sau để thiết lập cảnh báo bản dựng trong ứng dụng cho người thử nghiệm của bạn:

  • Cấu hình cảnh báo cơ bản đi kèm với hộp thoại đăng nhập và cập nhật ứng dụng dựng sẵn để hiển thị cho người thử nghiệm.
  • Cấu hình cảnh báo nâng cao cho phép bạn tùy chỉnh giao diện người dùng của riêng mình.

Nếu bạn đang sử dụng SDK Android phân phối ứng dụng lần đầu tiên, chúng tôi khuyên bạn nên sử dụng Cấu hình cơ bản .

Cấu hình cơ bản

Sử dụng updateIfNewReleaseAvailable để hiển thị hộp thoại bật cảnh báo dựng sẵn cho những người thử nghiệm chưa bật cảnh báo, sau đó kiểm tra xem có bản dựng mới hay không. Khi được gọi, phương thức sẽ thực hiện trình tự sau:

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

  2. Kiểm tra các bản dựng mới có sẵn để người kiểm tra cài đặt.

  3. Hiển thị cảnh báo dựng sẵn nhắc người kiểm tra cập nhật.

  4. Nếu bản dựng mới là Android App Bundle (AAB), hãy chuyển hướng người thử nghiệm đến Google Play để hoàn tất quá trình cập nhật.

    Nếu bản dựng mới là ứng dụng Android PacKage (APK), SDK sẽ tải xuống bản dựng mới ở chế độ nền và nhắc người kiểm tra cài đặt khi quá trình tải xuống hoàn tất. SDK gửi thông báo tiến trình tải xuống cho người dùng bằng cách sử dụng NotificationManager . Bạn cũng có thể thêm chỉ báo tiến trình của riêng mình bằng cách đính kèm trình xử lý onProgressUpdate vào tác vụ updateIfNewReleaseAvailable .

Bạn có thể gọi updateIfNewReleaseAvailable tại bất kỳ thời điểm nào trong ứng dụng của mình. Ví dụ: bạn có thể gọi updateIfNewReleaseAvailable trong phương thức onResume của hoạt động chính của ứng dụng.

Ví dụ sau đây kiểm tra xem người kiểm tra có bật cảnh báo hay không và có quyền truy cập vào bản dựng mới hay không. Nếu những điều kiện này được đáp ứng, một hộp thoại sẽ hiển thị khi bản dựng có sẵn để cài đặt:

Kotlin+KTX

// Copy and paste this into any part of your app - for example, in your main
// activity's onResume method.
val firebaseAppDistribution = FirebaseAppDistribution.getInstance()
firebaseAppDistribution.updateIfNewReleaseAvailable()
    .addOnProgressListener { updateProgress ->
      // (Optional) Implement custom progress updates in addition to
      // automatic NotificationManager updates.
    }
    .addOnFailureListener { e ->
      // (Optional) Handle errors.
      if (e is FirebaseAppDistributionException) {
        when (e.errorCode) {
          Status.NOT_IMPLEMENTED -> {
            // SDK did nothing. This is expected when building for Play.
          }
          else -> {
            // Handle other errors.
          }
        }
      }
    }

Java

// Copy and paste this into any part of your app - for example, in your main
// activity's onResume method.
FirebaseAppDistribution firebaseAppDistribution = FirebaseAppDistribution.getInstance();
firebaseAppDistribution.updateIfNewReleaseAvailable()
    .addOnProgressListener(updateProgress -> {
      // (Optional) Implement custom progress updates in addition to
      // automatic NotificationManager updates.
    })
    .addOnFailureListener(e -> {
      // (Optional) Handle errors.
      if (e instanceof FirebaseAppDistributionException) {
        switch (((FirebaseAppDistributionException)e).getErrorCode()) {
          case NOT_IMPLEMENTED:
            // SDK did nothing. This is expected when building for Play.
            break;
          default:
            // Handle other errors.
            break;
        }
      }
    });

Cấu hình nâng cao

Cấu hình đăng nhập nâng cao

Các phương thức signInTesterisTesterSignedIn giúp bạn linh hoạt hơn trong việc tùy chỉnh trải nghiệm đăng nhập của người thử nghiệm để trải nghiệm của người thử nghiệm có thể phù hợp hơn với giao diện ứng dụng của bạn.

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

Kotlin+KTX

// Only show sign-in UI if this is the "beta" variant (example).
if (BuildConfig.BUILD_TYPE == "beta" && !firebaseAppDistribution.isTesterSignedIn) {
    // Start your sign-in UI here.
}

// Only check for updates if the tester is already signed in (do not prompt).
if (firebaseAppDistribution.isTesterSignedIn) {
    firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener {
        // Handle failed update.
    }
}

Java

// Only show sign-in UI if this is the "beta" variant (example).
if (BuildConfig.BUILD_TYPE == "beta" && !firebaseAppDistribution.isTesterSignedIn()) {
    // Start your sign-in UI here.
}

// Only check for updates if the tester is already signed in (do not prompt).
if (firebaseAppDistribution.isTesterSignedIn()) {
    firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener( e -> {
        // Handle failed update.
    });
}

Từ giao diện người dùng đăng nhập của bạn, khi người kiểm tra chọn tiếp tục, hãy gọi signInTester() :

Kotlin+KTX

firebaseAppDistribution.signInTester().addOnSuccessListener {
  // Handle successful sign-in.
}.addOnFailureListener {
  // Handle failed sign-in.
});

Java

firebaseAppDistribution.signInTester().addOnSuccessListener( unused -> {
  // Handle successful sign-in.
}).addOnFailureListener(e -> {
  // Handle failed sign-in.
});

Cấu hình cập nhật nâng cao

Các phương thức checkForNewReleaseupdateApp giúp bạn tùy chỉnh linh hoạt hơn khi người kiểm tra của bạn được nhắc cập nhật. Bạn cũng có thể tùy chỉnh hộp thoại cập nhật dựng sẵn và chỉ báo tiến trình tải xuống để chúng có thể phù hợp hơn với giao diện ứng dụng của bạn.

Lưu ý rằng updateApp không cung cấp chỉ báo tiến trình tải xuống. Điều này có nghĩa là bạn cần triển khai chỉ báo tiến trình của riêng mình bằng cách sử dụng NotificationManager , một số loại hiển thị trạng thái trong ứng dụng hoặc một số cách tiếp cận khác.

Ví dụ sau đây kiểm tra xem có bản phát hành mới hay không và sau đó hiển thị giao diện người dùng tùy chỉnh. Trước khi gọi checkForNewReleaseupdateApp , hãy đảm bảo rằng người kiểm tra đã đăng nhập bằng cách sử dụng cấu hình đăng nhập nâng cao .

Kotlin+KTX

firebaseAppDistribution.checkForNewRelease().addOnSuccessListener { release ->
    if (release != null) {
        // New release available. Start your update UI here.
    }
}.addOnFailureListener {
    // Handle failed check for new release. Fails with Status#NOT_IMPLEMENTED
    // if built for Play.
}

Java

firebaseAppDistribution.checkForNewRelease().addOnSuccessListener(release -> {
    if (release != null) {
        // New release available. Start your update UI here.
    }
}).addOnFailureListener(e -> {
    // Handle failed check for new release. Fails with Status#NOT_IMPLEMENTED
    // if built for Play.
});

Khi người kiểm tra chọn tiếp tục cập nhật từ giao diện người dùng cập nhật của bạn, hãy gọi updateApp() :

Kotlin+KTX

firebaseAppDistribution.updateApp()
    .addOnProgressListener { updateState ->
      // Use updateState to show update progress.
    }

Java

firebaseAppDistribution.updateApp()
    .addOnProgressListener(updateState -> {
      // Use updateState to show update progress.
    });

Bước 4 : Xây dựng và thử nghiệm việc triển khai của bạn

Xây dựng ứng dụng của bạn và kiểm tra quá trình triển khai của bạn bằng cách phân phối bản dựng cho người thử nghiệm bằng bảng điều khiển Firebase.

Hãy truy cập hướng dẫn Khắc phục sự cố phân phối ứng dụng để được trợ giúp về các vấn đề thường gặp, chẳng hạn như:

  • Người thử nghiệm không nhận được thông báo trong ứng dụng
  • Người kiểm tra được nhắc đăng nhập vào Google nhiều lần