Thông báo cho người kiểm tra về các bản phát hành ứng dụng mới của bạn với SDK iOS phân phối ứng dụng Firebase - Codelab

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

1. Sơ lượt

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

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

  • Cách sử dụng Phân phối ứng dụng để phân phối ứng dụng trước khi phát hành cho những người thử nghiệm trực tiếp
  • Cách tích hợp SDK iOS phân phối ứng dụng vào ứng dụng của bạn
  • Cách thông báo cho người thử nghiệm khi có một bản dựng tiền phát hành mới sẵn sàng cài đặt
  • Cách tùy chỉnh SDK để phù hợp với nhu cầu thử nghiệm duy nhất của bạn

Những gì bạn cần

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

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

Đánh giá trải nghiệm của bạn với việc xây dựng ứng dụng iOS như thế nào?

Người mới Trung gian Thành thạo

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

Thêm dự án Firebase mới

  1. Đăng nhập vào Firebase.
  2. Trong bảng điều khiển Firebase, nhấp vào Thêm dự án, sau đó đặt tên cho dự án của bạn là "Firebase Codelab".

Bạn không cần phải 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

Làm theo tài liệu để đăng ký ứng dụng của bạn với Firebase. Sử dụng "com.google.firebase.codelab.AppDistribution. <your_name>" làm ID gói iOS.

Khi được nhắc, hãy tải xuống tệp GoogleService-Info.plist của dự án của bạn. Bạn sẽ cần cái này sau.

3. Nhận dự án mẫu

Tải xuống mã

Bắt đầu bằng cách nhân bản dự án mẫu.

git clone git@github.com:googlecodelabs/firebase-appdistribution-ios.git

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

Tải xuống các phần phụ thuộc và Mở dự án bằng Xcode

  1. Mở Podfile trong cùng một thư mục
cd firebase-appdistribution-ios/start
Open Podfile
  1. Thêm dòng sau vào podfile của bạn:

Podfile

pod 'Firebase/AppDistribution'

Chạy pod update trong thư mục dự án và mở dự án bằng Xcode.

pod install --repo-update
xed .

Cập nhật mã nhận dạng gói để khớp với ứng dụng Firebase của bạn

Trong menu bên trái, nhấp đúp vào AppDistributionExample. Sau đó, tìm tab Chung và thay đổi số nhận dạng gói để khớp với số nhận dạng gói của ứng dụng Firebase của bạn, bạn có thể tìm thấy số này trong cài đặt dự án . Đây phải là "com.google.firebase.codelab.AppDistribution. <your_name>"

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

Tìm tệp GoogleService-Info.plist bạn đã tải xuống trước đó trong hệ thống tệp của mình và kéo tệp đó vào thư mục gốc của dự án Xcode. Bạn cũng có thể tải xuống tệp này bất kỳ lúc nào từ trang cài đặt dự án của bạn.

3cf9290805e7fdab.png

Trong AppDistributionExample/AppDelegate.swift nhập Firebase ở đầu tệp

AppDistributionExample / AppDelegate.swift

import Firebase

Và trong phương thức didFinishLaunchingWithOptions thêm một lệnh gọi để cấu hình Firebase.

AppDistributionExample / AppDelegate.swift

FirebaseApp.configure()

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

Trong bước này, bạn sẽ thêm SDK phân phối ứng dụng Firebase vào ứng dụng của mình và hiển thị cảnh báo trong ứng dụng cho người thử nghiệm khi có cá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 dự án "Firebase Codelab" (trong Google Cloud Console). Bạn sẽ cần đăng nhập bằng cùng một tài khoản và chọn đúng dự án từ menu thả xuống ở trên cùng.

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

SDK phân phối ứng dụng cung cấp hai cách 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 được tạo sẵn để hiển thị cho người thử nghiệm và 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 (UI) của riêng bạn.

Chúng tôi sẽ bắt đầu với cấu hình cảnh báo cơ bản. Bạn có thể sử dụng checkForUpdate để hiển thị hộp thoại cảnh báo kích hoạt được tạo 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. Người kiểm tra 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 Phân phối ứng dụng. Khi được gọi, phương thức thực hiện chuỗi sau:

  1. Kiểm tra xem người thử nghiệm đã bật cảnh báo chưa. Nếu không, hãy hiển thị một đoạn hội thoại dựng sẵn nhắc họ đăng nhập vào 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 và vẫn tồn tại 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 được gỡ cài đặt hoặc cho đến khi phương thức signOutTester được gọi. Xem tài liệu tham khảo của phương pháp ( Swift hoặc Objective-C ) để biết thêm thông tin.

  1. Kiểm tra các bản dựng mới có sẵn để người thử nghiệm cài đặt. Trả về một đối tượng phát hành hoặc một lỗi .

Bạn có thể bao gồm checkForUpdate 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ể nhắc người thử nghiệm của mình cài đặt các bản dựng mới có sẵn khi khởi động bằng cách đưa checkForUpdate vào viewDidAppear của UIViewController .

Trong tệp AppDistributionViewController.swift nhập Firebase ở đầu tệp

AppDistributionViewController.swift

import Firebase

Mở AppDistributionExample / AppDistributionViewController.swift và sao chép các dòng vào phương thức viewDidAppear như sau:

AppDistributionViewController.swift

 override func viewDidAppear(_ animated: Bool) {
    checkForUpdate()
 }

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

AppDistributionViewController.swift

  private func checkForUpdate() {
    AppDistribution.appDistribution().checkForUpdate(completion: { [self] release, error in
      var uiAlert: UIAlertController

      if error != nil {
        uiAlert = UIAlertController(title: "Error", message: "Error Checking for update! \(error?.localizedDescription ?? "")", preferredStyle: .alert)
      } else if release == nil {
        uiAlert = UIAlertController(title: "Check for Update", message: "No releases found!!", preferredStyle: .alert)
        uiAlert.addAction(UIAlertAction(title: "Ok", style: UIAlertAction.Style.default))
      } else {
        guard let release = release else { return }

        let title = "New Version Available"
        let message = "Version \(release.displayVersion)(\(release.buildVersion)) is available."
        uiAlert = UIAlertController(title: title, message: message, preferredStyle: .alert)

        uiAlert.addAction(UIAlertAction(title: "Update", style: UIAlertAction.Style.default) {
          _ in
          UIApplication.shared.open(release.downloadURL)
        })
        uiAlert.addAction(UIAlertAction(title: "Cancel", style: UIAlertAction.Style.cancel) {
          _ in
        })
      }
      self.present(uiAlert, animated: true, completion: nil)
    })
  }

5. Xây dựng và mời người thử nghiệm tải xuống ứng dụng của bạn

Trong bước này, bạn sẽ xây dựng ứng dụng của mình và kiểm tra việc triển khai 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.

Xây dựng ứng dụng của bạn

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 chọn "Bất kỳ thiết bị iOS nào (arm64)" làm đích bản dựng và Sản phẩm-> Lưu trữ. Khi tệp lưu trữ được tạo, hãy xây dựng bản phân phối đã ký với Hồ sơ phân phối phát triển.

98d8eb042c36a685.png

b2e9ccff91d761c1.png

8e815564f64d2d39.png

Khi quá trình xây dựng hoàn tất, nó sẽ lưu một tệp IPA và một số tệp nhật ký trong thư mục bạn chỉ định. Bạn phân phối tệp IPA cho người thử nghiệm của mình theo các bước sau.

Nếu bạn gặp sự cố khi xây dựng ứng dụng của mình, hãy xem tài liệu thiết kế mã của Apple để biết các bước khắc phục sự cố.

Phân phối ứng dụng của bạn cho người thử nghiệm

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

  1. Mở trang Phân phối ứng dụng của bảng điều khiển Firebase. Chọn dự án Firebase của bạn khi được nhắc.
  2. Nhấn Bắt đầu

e4671bd304ecfe47.png

  1. Trên trang Bản phát hành, chọn ứng dụng bạn muốn phân phối từ menu thả xuống.

8a3da2939b9746f4.png

  1. Kéo tệp IPA của ứng dụng của bạn 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 thử nghiệm và từng người thử nghiệm 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 đó, thêm ghi chú phát hành cho bản dựng. Xem Quản lý người thử nghiệm để biết thêm về cách tạo nhóm người thử nghiệm.

de63e3c3c64f909e.png

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

b6e75dc216fc3731.png

Thêm chính bạn làm người thử nghiệm cho bản phát hành

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

eb61c6be96ff3a11.png

Vì bạn đã bao gồm địa chỉ email của mình nên bạn sẽ nhận được email từ Firebase App Distribution mời bạn thử nghiệm ứng dụng. Bây giờ bạn là người thử nghiệm đầu tiên! Tiếp tục phần bên dưới để thiết lập làm người thử nghiệm trên thiết bị thử nghiệm của bạn.

Đăng ký thiết bị thử nghiệm của bạn

Trước tiên, bạn cần đăng ký thiết bị thử nghiệm của mình để tải xuống và thử nghiệm bản phát hành Ad Hoc.

  1. Trên thiết bị thử nghiệm iOS của bạn, mở email được gửi từ Firebase App Distribution và nhấn vào liên kết Bắt đầu. Đảm bảo mở liên kết trong Safari.
  2. Trong ứng dụng web trình 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 và nhấn vào Chấp nhận lời mời.

4d1af345ef944620.png

Bây giờ, bạn sẽ thấy bản phát hành mà bạn đã được mời.

  1. Nhấn vào Đăng ký thiết bị để chia sẻ UDID của bạn với Firebase để bạn có thể cập nhật hồ sơ cấp phép của ứng dụng sau này.

fd141215e54a938d.png

  1. Làm theo hướng dẫn và đi tới cài đặt để tải xuống hồ sơ và chia sẻ UDID của bạn.

Bây giờ, khi bạn quay lại Phân phối ứng dụng, bản phát hành hiện được đánh dấu là "Đã đăng ký thiết bị":

fe93d649dfa25877.png

UDID của người thử nghiệm hiện đã được chia sẻ với nhà phát triển. Giờ đây, nhà phát triển phải xây dựng cho người thử nghiệm một phiên bản mới của ứng dụng.

Xem thông tin người thử nghiệm trong bảng điều khiển

Quay lại chế độ xem của nhà phát triển trong bảng điều khiển Firebase, người thử nghiệm sẽ hiển thị là "Đã chấp nhận" trong bản phát hành:

1bef6f182c1c58f9.png

Sau đó, bạn cũng sẽ nhận được email với tư cách là nhà phát triển nếu thiết bị họ đang sử dụng chưa được đưa vào hồ sơ cấp phép. Thao tác này sẽ thông báo cho bạn về UDID mới mà bạn cần thêm. Bạn cũng có tùy chọn xuất tất cả các UDID dưới dạng tệp văn bản.

  1. Để xuất tất cả các UDID, hãy mở tab Người thử nghiệm & Nhóm.

2745d49a6abc47fe.png

  1. Nhấp vào "Xuất UDID của Apple".

cb45477f8cc436ba.png

Tệp phải chứa UDID của thiết bị thử nghiệm của bạn.

Device ID            Device Name                            Device Platform
1234567890     tester.app.distribtuion@gmail.com - iPhone SE 2nd Gen        ios

Khi bạn nhận được một trong những email này, hãy cập nhật hồ sơ cấp phép của bạn với UDID và phân phối bản dựng mới cho người thử nghiệm của bạn bằng cách làm theo các bước sau:

  1. Thêm các thiết bị vào cổng nhà phát triển Apple của bạn.
  • Tùy chọn 1: Nhập UDID của thiết bị dưới dạng tệp CSV. Trong tab Người thử nghiệm & Nhóm của bảng điều khiển Phân phối ứng dụng, chọn Tất cả người thử nghiệm, sau đó nhấp vào Xuất UDID của Apple để tải xuống tệp CSV. Tiếp theo, nhập tệp vào tài khoản nhà phát triển Apple của bạn bằng cách sử dụng tùy chọn Đăng ký Nhiều thiết bị. Tham khảo tài liệu của Apple để tìm hiểu thêm. Lưu ý rằng tài khoản nhà phát triển Apple của bạn chỉ có thể cho phép bạn nhập một số lượng thiết bị hạn chế mỗi năm.
  • Tùy chọn 2: Thu thập và nhập UDID qua email. Trên trang Thêm thiết bị của cổng nhà phát triển Apple, hãy đăng ký UDID mới được chỉ định trong email bạn nhận được.

ffb74294e68ee1c8.png

  1. Thêm các thiết bị đã đăng ký vào hồ sơ cấp phép của bạn.
  2. Tải xuống cấu hình cấp phép và sử dụng nó để xây dựng lại ứng dụng của bạn. Nếu bạn đang xây dựng lại chỉ để cập nhật các thiết bị đã đăng ký, đừng cập nhật số phiên bản hoặc phiên bản.
  3. Phân phối lại ứng dụng của bạn từ bảng điều khiển Firebase hoặc CLI. Nếu bạn đã phân phối một bản dựng có cùng số bản dựng và phiên bản, thì chỉ những người dùng thiết bị mới đăng ký mới nhận được email thông báo.

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

Hiện bản phát hành có UDID của thiết bị thử nghiệm, vì vậy thiết bị thử nghiệm có thể tải xuống và cài đặt ứng dụng. Phân phối ứng dụng sẽ gửi email đến người thử nghiệm khi UDID của họ được thêm vào bản phát hành mới.

a4049260bae2850b.png

  1. Trên thiết bị thử nghiệm, quay lại ứng dụng web trình kiểm tra Phân phối ứng dụng bằng liên kết trong email hoặc biểu tượng trên màn hình chính của thiết bị.

Khi điều hướng đến ứng dụng mã hóa UDID, bạn có thể thấy rằng bản phát hành đã sẵn sàng để tải xuống.

dad6d03b6ad78746.png

  1. Nếu bạn đang sử dụng thiết bị thực, hãy nhấn tải xuống, sau đó cài đặt và chạy ứng dụng!
  2. Khi ứng dụng khởi động, nó sẽ yêu cầu bạn bật cảnh báo bản dựng mới. Chọn "Bật"

6e3540a2900734e6.png

  1. Sau đó, nó sẽ yêu cầu bạn đăng nhập. Nhấp vào "Tiếp tục.

82d90d7935bfaea0.png

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

13bee1d03fa94ebf.png

  1. Bạn sẽ được đưa trở lại ứng dụng. Bạn sẽ không phải đăng nhập hoặc chấp nhận cảnh báo trong lần chạy ứng dụng tiếp theo.

815d6757eb5f6327.png

Phân phối bản cập nhật cho người thử nghiệm của bạn

  1. Cập nhật số bản dựng của bạn thành "2".

861aa63ebbc6ec54.png

  1. Chọn "Bất kỳ thiết bị iOS nào (arm64)" làm đích bản dựng và Sản phẩm-> Lưu trữ. Khi tệp lưu trữ được tạo, hãy xây dựng bản phân phối đã ký với Hồ sơ phân phối phát triển.
  2. Khi quá trình xây dựng hoàn tất, nó sẽ lưu một tệp IPA và một số tệp nhật ký trong thư mục bạn chỉ định. Tải lên IPA mới này trong bảng điều khiển Firebase của bạn, thêm lại email của bạn làm người thử nghiệm và Phân phối.

b6e75dc216fc3731.png

Kiểm tra cảnh báo bản dựng

  1. Đảm bảo rằng bạn đã đóng ứng dụng nếu nó đang mở. Khởi động lại ứng dụng.
  2. Khi ứng dụng khởi động lại, bạn sẽ nhận được cảnh báo "Có phiên bản mới".

3bd532992df458e6.png

  1. Nhấp vào "Cập nhật" để nhận phiên bản mới nhất.
  2. Nhấp vào "Cài đặt" trên màn hình tiếp theo.

3a761d8fa4b79d33.png

  1. 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.

6. Tùy chỉnh đăng nhập của người thử nghiệm

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

Ví dụ sau 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 Firebase của họ 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 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 checkForUpdate để 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.

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

AppDistributionViewController.swift

 override func viewDidAppear(_ animated: Bool) {
    // checkForUpdate()
 }

Thay vào đó, hãy gọi checkForUpdate () trong checkForUpdateButtonClicked ( ).

 @objc func checkForUpdateButtonClicked() {
    checkForUpdate()
 }

Bây giờ, hãy triển khai phương thức signInOutButtonClicked () của chúng tôi, phương thức này sẽ đăng nhập vào 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.

AppDistributionViewController.swift

 @objc func signInOutButtonClicked() {
    if isTesterSignedIn() {
      AppDistribution.appDistribution().signOutTester()

      self.configureCheckForUpdateButton()
      self.configureSignInSignOutButton()
      self.configureSignInStatus()

    } else {
      AppDistribution.appDistribution().signInTester(completion: { error in
        if error == nil {
          self.configureCheckForUpdateButton()
          self.configureSignInSignOutButton()
          self.configureSignInStatus()
        } else {
          let uiAlert = UIAlertController(title: "Custom:Error", message: "Error during tester sign in! \(error?.localizedDescription ?? "")", preferredStyle: .alert)
          uiAlert.addAction(UIAlertAction(title: "Ok", style: UIAlertAction.Style.default) {
            _ in
          })

          self.present(uiAlert, animated: true, completion: nil)
        }
      })
    }
  }

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

AppDistributionViewController.swift

 private func isTesterSignedIn() -> Bool {
    return AppDistribution.appDistribution().isTesterSignedIn
 }

Xây dựng và kiểm tra việc triển khai của bạn

7. Xin chúc mừng!

Bạn đã xây dựng tính năng "hiển thị cảnh báo trong ứng dụng" vào một ứng dụng bằng cách sử dụng SDK iOS phân phối ứng dụng Firebase.

Những gì chúng tôi đã đề cập

  • Phân phối ứng dụng Firebase
  • Phân phối ứng dụng Firebase Cảnh báo mới SDK iOS

Bước tiếp theo

Tìm hiểu thêm

Có một câu hỏi?

Báo cáo sự cố