1. Khái quát chung
Chào mừng bạn đến với phần Tích hợp SDK phân phối ứng dụng Firebase trong lớp học lập trình ứng dụng iOS của bạn. Trong lớp học lập trình 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ị thông báo trong ứng dụng cho người thử nghiệm 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 tùy chỉnh để giúp người thử nghiệm đăng nhập để nhận 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.
Bạn sẽ học được gì
- Cách sử dụng Phân phối ứng dụng để phân phối ứng dụng phát hành trước cho 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ó bản dựng trước 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 riêng của bạn
Những gì bạn cần
- Xcode 12 (hoặc cao hơn)
- CocoaPods 1.9.1 (hoặc cao hơn)
- Tài khoản Nhà phát triển Apple để phân phối Ad Hoc
- Một thiết bị iOS vật lý để thử nghiệm. ( Ứng dụng trình mô phỏng iOS sẽ hoạt động trong hầu hết lớp học lập trình nhưng trình mô phỏng không thể tải xuống các bản phát hành.)
Bạn sẽ sử dụng hướng dẫn này như thế nào?
Bạn đánh giá trải nghiệm của bạn khi xây dựng ứng dụng iOS như thế nào?
2. Tạo dự án bảng điều khiển Firebase
Thêm dự án Firebase mới
- Đăng nhập vào Firebase.
- Trong bảng điều khiển Firebase, hãy nhấp vào Thêm dự án rồi đặt tên cho dự án của bạn là "Firebase Codelab".
Bạn không cần bật Google Analytics cho dự án này.
- 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 điều này sau.
3. Lấy 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 chưa cài đặt git, bạn cũng có thể tải xuống dự án mẫu từ trang GitHub hoặc bằng cách nhấp vào liên kết này .
Tải xuống phần phụ thuộc và mở dự án trong Xcode
- Mở Podfile trong cùng thư mục
cd firebase-appdistribution-ios/start Open Podfile
- Thêm dòng sau vào podfile của bạn:
tập tin podcast
pod 'Firebase/AppDistribution'
Chạy pod update
trong thư mục dự án và mở dự án trong 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 chuột vào AppDistributionExample. Sau đó, tìm tab Chung và thay đổi mã nhận dạng gói để khớp với mã nhận dạng gói của ứng dụng Firebase của bạn, có thể tìm thấ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
Xác định vị trí tệp GoogleService-Info.plist
mà 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.
Trong tệp AppDistributionExample/AppDelegate.swift
của bạn, hãy nhập Firebase ở đầu tệp
AppDistributionExample/AppDelegate.swift
import Firebase
Và trong phương thức didFinishLaunchingWithOptions
, hãy thêm lệnh gọi để định 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 bằng 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ị thông báo trong ứng dụng cho người thử nghiệm khi có sẵn bản dựng ứng dụng mới để cài đặt. Để thực hiện việc này, hãy đảm bảo 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 phải đă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 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 checkForUpdate
để hiển thị hộp thoại bật cảnh báo đượ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 thử nghiệm kích hoạ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 sẽ thực hiện trình tự sau:
- Kiểm tra xem người kiểm tra có bật cảnh báo hay không. Nếu không, sẽ hiển thị hộp 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ọ.
Việc bật cảnh báo là quy trình một lần trên thiết bị thử nghiệm và tiếp tục diễn ra trong 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.
- Kiểm tra các bản dựng mới có sẵn để người kiểm tra 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à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
của bạn, hãy 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ư thế này:
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 quá trình 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 xây dựng và Sản phẩm->Lưu trữ. Khi kho 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.
Khi quá trình xây dựng hoàn tất, nó sẽ lưu tệp IPA và một số tệp nhật ký vào 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 vấn đề khi xây dựng ứng dụng của mình, hãy xem tài liệu về 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:
- 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.
- Nhấn Bắt đầu
- 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.
- 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.
- 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.
- Nhấp vào Phân phối để cung cấp bản dựng cho người thử nghiệm.
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ể xem 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.
Vì bạn đã bao gồm địa chỉ email của mình nên bạn sẽ nhận được email từ Phân phối ứng dụng Firebase mời bạn dùng thử ứ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 phải đă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.
- Trên thiết bị thử nghiệm iOS của bạn, hãy mở email được gửi từ Phân phối ứng dụng Firebase và nhấn vào liên kết Bắt đầu. Đảm bảo mở liên kết trong Safari.
- Trong ứng dụng web trình thử nghiệm 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.
Bây giờ, bạn sẽ thấy bản phát hành mà bạn đã được mời.
- 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 cho ứng dụng của mình sau này.
- 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ị":
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 có trách nhiệm xây dựng phiên bản mới của ứng dụng cho người thử nghiệm.
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à "Được chấp nhận" trong bản phát hành:
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ó trong hồ sơ cung cấp. Điều 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ả UDID dưới dạng tệp văn bản.
- Để xuất tất cả UDID, hãy mở tab Người kiểm tra & Nhóm.
- Nhấp vào "Xuất Apple UDID."
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ơ cung cấp của bạn với UDID và phân phối bản dựng mới cho những người thử nghiệm của bạn bằng cách làm theo các bước sau:
- Thêm thiết bị vào cổng thông tin 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 Apple UDID để 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 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ị giới hạn 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 thông tin dành cho nhà phát triển Apple, hãy đăng ký UDID mới được chỉ định trong email bạn nhận được.
- Thêm các thiết bị đã đăng ký vào hồ sơ cung cấp của bạn.
- Tải xuống hồ sơ cung cấp và sử dụng nó để xây dựng lại ứng dụng của bạn. Nếu bạn chỉ xây dựng lại để cập nhật các thiết bị đã đăng ký, đừng cập nhật số bản dựng hoặc phiên bản.
- 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ỉ 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 nên 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 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.
- Trên thiết bị thử nghiệm, hãy quay lại ứng dụng web của người thử nghiệm Phân phối ứng dụng bằng cách sử dụ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 lớp học lập trình UDID, bạn có thể thấy bản phát hành đã sẵn sàng để tải xuống.
- Nếu bạn đang sử dụng thiết bị vật lý, hãy nhấn tải xuống, sau đó cài đặt và chạy ứng dụng!
- Khi ứng dụng khởi động, ứng dụng sẽ yêu cầu bạn bật cảnh báo bản dựng mới. Chọn "Bật"
- Sau đó, nó sẽ yêu cầu bạn đăng nhập. Nhấp vào "Tiếp tục.
- Đăng nhập bằng tài khoản người thử nghiệm của bạn.
- 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 thông báo vào lần tiếp theo khi chạy ứng dụng.
Phân phối bản cập nhật cho người thử nghiệm của bạn
- Cập nhật số bản dựng của bạn thành "2".
- Chọn "Bất kỳ thiết bị iOS nào (arm64)" làm đích xây dựng và Sản phẩm->Lưu trữ. Khi kho 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.
- Khi quá trình xây dựng hoàn tất, nó sẽ lưu tệp IPA và một số tệp nhật ký vào thư mục bạn chỉ định. Tải IPA mới này lên 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.
Cảnh báo bản dựng thử nghiệm
- Đảm bảo bạn đã đóng ứng dụng nếu nó đang mở. Khởi động lại ứng dụng.
- Khi ứng dụng khởi động lại, bạn sẽ nhận được thông báo "Có phiên bản mới".
- Nhấp vào "Cập nhật" để nhận phiên bản mới nhất.
- Nhấp vào "Cài đặt" trên màn hình tiếp theo.
- 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/signOutTester và isTesterSignedIn mang lại cho bạn sự 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 để 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 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 kiểm tra 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 cập nhật trong viewDidAppea r bằng cách nhận xét 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 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 đã tích hợp 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 của 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 vấn đề