Làm thế nào để đưa ứng dụng của bạn lên TestFlight cho Beta Test (Cập nhật mới nhất 2020)

Bài viết này dành cho các bạn có dự định hoặc đang lập trình ứng dụng trên iOS nói riêng và trên hệ sinh thái của Apple nói chung. Chắc hẳn nhiều bạn đã nghe đến TestFlight rồi mà vẫn tự hỏi TestFlight là gì vậy? Có ăn được không?. Tôi hy vọng bài blog nhỏ này sẽ giải đáp được thắc mắc của các bạn. Bài viết này hoàn toàn dựa trên kinh nghiệm cá nhân của tác giả, nếu có điều gì thiếu sót đừng ngại để lại một comment ở dưới, tôi sẽ biết ơn bạn lắm lắm.

Sẽ có lúc bạn code xong một app đỉnh cao, chạy trên iOS Simulator mượt mà lắm rồi, làm sao để đưa đến người dùng để kiểm thử đây. Không thể xuất (export file) ra một tệp đuôi .ipa rồi gửi cho người dùng như cách Android làm với ứng dụng .apk được

Ở đây chúng tôi không làm thế - Apple.

Vì lẽ đó mà Apple mới tạo ra TestFlight, một nền tảng cho phép lập trình viên gửi các bản build tới những người dùng beta nhất định, qua đó có thể nhận được phản hồi, báo cáo về những lỗi mà ứng dụng của bạn đang gặp phải trước khi phát hành ứng dụng đó lên kho ứng dụng App Store. Vậy TestFlight khác quái gì so với App Store thần thánh đâu, cũng cho phép người dùng tải về và báo lỗi đó thôi. Điểm khác biệt quan trọng nhất là TestFlight không phổ biến (public) tới tất cả người dùng như App Store. Chỉ khi bạn nhận được lời mời từ nhà phát triển bạn mới có thể tải ứng dụng từ TestFlight thôi. Ngay cả số lượng người được quyền kiểm thử đó cũng bị giới hạn thành hai nhóm:

  • Internal Testers (Kiểm thử nội bộ): Cho phép tối đa 25 thành viên được chỉ định (một trong nhưng role sau: Admin, Technical, App Manager, Developer, hoặc Marketer) kiểm thử ứng dụng đó. Mỗi thành viên có thể test trên tối đa 30 thiết bị. Một kiểm thử viên nội bộ có quyền test tất cả các bản build của ứng dụng đó.
  • External Testers and Groups (Nhóm kiểm thử viên bên ngoài): Bạn có thể mới lên tới 10000 người để kiểm thử ứng dụng thông qua email hoặc gửi public link mời. Đồng thời bạn có thể tạo nhóm các kiểm thử viên để test các bản build cụ thể.

Kiểm thử viên sẽ phải tải ứng dụng TestFlight để sử dụng ứng dụng beta đó trong vòng 90 ngày. Chúng ta sẽ đi chi tiết vào bước cài đặt này ở phần sau của bài viết.

Cần chuẩn bị gì trước khi đưa app lên TestFlight

  1. Tài khoản trả phí Apple Developer
  2. Máy tính MAC OS
  3. Xcode

Nếu bạn chưa có tài khoản Apple Developer thì bạn vào trang web này đăng ký free, nhưng nếu muốn đưa app lên TestFlight hay App Store thì bắt buộc bạn phải đăng ký với giá $99/năm cho tài khoản cá nhân và $299/năm cho tài khoản doanh nghiệp (Apple hút máu). Trên internet có một số bài hướng dẫn có nói sử dụng tài khoản free thì cho phép thêm tối đa 3 thiết bị để test nhưng tôi thử thì không được nên đành phải quay về phương án trả phí.

Okies, chuẩn bị xong rồi, bắt tay vào làm thôi

Xác định Bundle ID

Ta cần phải đặt một định danh là duy nhất cho ứng dụng của mình trước khi có thể gửi ứng dụng đó lên. Định danh đó gọi là Bundle Identifier, dùng để phân biệt các ứng dụng với nhau và có dạng như sau com.companyname.yourapp. Có hai cách đăng ký Bundle ID:

  1. Vào trang web Apple Developer rồi chọn Account > Certificates, IDs & Profiles > Identifiers điền tên Bundle ID.
  2. Đăng ký ngay trên Xcode, nhấn chọn trên Project rồi chọn Signing & Capabilities chọn tên Team và điền Bundle Identifier.

alt text

Ở bước này nếu vẫn bị báo lỗi thì chỉ cần tắt đi bật lại Automatically manage signing rồi điền lại tên Team và Bundle ID là được. Bạn cũng cần đảm bảo Bundle ID ở Xcode và trên Apple Developer là hoàn toàn giống nhau.

Upload ứng dụng lên TestFlight

Bật Xcode chọn build app cho Generic iOS Device như thế này này

alt text

Sau đó vào Product > Archive

alt text

Nếu bị báo lỗi thì nhiều khả năng bạn chưa điền đúng Bundle ID hoặc tên team ở bước trước rồi, kiểm tra lại đi nhé.
Nếu thành công thì ta sẽ được màn hình như sau

alt text

Bạn cũng cần kiểm tra lại version của bản build mà bạn định upload, như trong ảnh trên bản build 1.0.0 đã được upload rồi, nếu cố tình upload trùng version thì chắc chắn sẽ có lỗi. Do đó trước khi upload một bản build khác thì bạn nhớ đổi số version ở đây thành 1.0.1 chẳng hạn

alt text

Xong bước này là ta đã thành công 80% rồi, kế đến chỉ cần chọn Distribute App rồi các bước kế tiếp có thể chọn tự động để Xcode lo phần còn lại.

alt text

alt text

alt text

alt text

alt text

Okies đến đây nhấn Upload và chờ đến khi bản build được tải lên thôi. Nếu không có gì sai sót thì truy cập AppStoreConnect rồi chọn My Apps > iOS > TestFlights sẽ được kết quả như hình dưới.

alt text

Nếu bị thông báo Missing Compliance thì chỉ cần nhấn vào hình tam giác màu vàng bên cạnh thông báo đó rồi chọn No là được.
Xong rồi đó! giờ app của bạn đã sẵn sàng để test.

Gửi lời mời tới tester

Như đã đề cập ở trên thì có hai loại Tester là InternalExternal.
Trước hết với Internal Testers vào AppStoreConnect rồi chọn Users and Access nhấn nút (+) để thêm mới.

alt text

Điền thông tin vào form như hình dưới rồi chọn Invite

alt text

Quay lại trang AppStoreConnect chọn AppStore Connect Users rồi chọn email người bạn muốn thêm.

alt text

Với External Testers thì hơi phức tạp hơn một tí tẹo. Trước hết bạn cần điền Test Infomation và mất 1-2 ngày để Apple làm một bước gọi là Beta App Reviewal. Sau đó chọn Add External Testers, thêm Group, chọn Add Testers rồi thêm tester.

alt text

Tải app từ TestFlight

Okies giờ làm gì tiếp để test được app đây?
Chắc chắn là cần tải TestFlight trước nhất rồi. Nếu bạn nhận lời mời thì cần kiểm tra email để nhấn link chấp nhận test của Apple gửi tới. Sau đó bạn có thể nhấn mã Redeem vào như hình dưới.

alt text

Từ giờ bạn có thể test app đó trong 90 ngày rồi. Khá dễ đúng không các bạn. Nếu bạn thấy bài viết hay nhớ share, còn không thì hãy comment bên dưới để nói cho mình biết cần cải thiện gì nhé. See ya!

Related article