Thiết lập Fastlane cho dự án Android

Thiết lập Fastlane cho dự án Android
Photo by Dell / Unsplash

Cài đặt Fastlane

Fastlane có thể được cài đặt theo nhiều cách khác nhau. Trong bài viết này mình sẽ hướng dẫn các bạn cài đặt Fastlane trực tiếp thông qua Homebrew (cho MacOS).

Để cài đặt Fastlane trên MacOS, bạn gõ lệnh sau:

brew install fastlane

Thiết lập Fastlane cho dự án Android

Từ terminal, truy cập vào thư mục dự án:

cd <thư mục dự án>

Sau đó thực hiện khởi tạo fastlane bằng lệnh

fastlane init

Sau đó trình thiết lập Fastlane sẽ yêu cầu bạn xác nhận việc đã sẵn sàng để thiết lập chưa, sau đó nó cũng đòi thêm một số thông tin nữa. Để cho nhanh bạn thực hiện như sau:

  1. Cung cấp package name của ứng dụng khi được hỏi (ví dụ: io.fabric.yourapp)
  2. Nhấn ENTER khi được hỏi về đường dẫn của file json bí mật.
  3. Trả lời 'n' khi được hỏi bạn có kế hoạch upload thông tin lên Google Play hay không. (có thể thiết lập nó sau cũng được)

Ok rồi. Fastlane sẽ tự động generate các cấu hình cho bạn dựa trên những thông tin mà bạn đã cung cấp.

Bạn có thể thấy có một thư mục ./fastlane mới được tạo ra chứa các tệp tin như sau:

  • Appfile định nghĩa các thông tin cấu hình global cho ứng dụng
  • Fasfile định nghĩa các lane điều hướng các hành vi của Fastlane.

Tệp đáng chú ý nhất ở đây là fastlane/Fastfile vì nó chứa tất cả các thông tin cần thiết cho việc phát hành ứng dụng.

Thiết lập supply

Supply là một công cụ Fastlane (fastlane tool) giúp upload metadata, ảnh chụp màn hình và mã nhị phân của app lên Google Play. Bạn cũng có thể lựa chọn các track cho các bản build và promote các bản build lên production.

Để có thể khởi tạo Supply, bạn cần phải tải lên thành công một APK vào ứng dụng của bạn trên Google Play Console ít nhất một lần.

Để thiết lập, bạn cần phải download một tệp credentials từ tài khoản Google Developers Service.

Lấy Google credentials

  1. Mở Google Play Console
  2. Click vào Account details, để ý Developer Account ID được liệt kê ở đây
  3. Click vào Setup -> API access
  4. Click vào nút Create new service account
  5. Mở liên kết Google Cloud Platform trong dialog bằng một tab/cửa sổ mới:
  6. Click vào nút CREATE SERVICE ACCOUNT ở trên đầu của Google Cloud Platform Console.
  7. Xác nhận rằng bạn đang ở đúng dự án GCP bằng cách nhìn vào Developer Account ID từ sớm bên trong dòng chữ xám ở mục nhập thứ 2, ngay trước .iam.gserviceaccount.com. Nếu không, mở trình lựa chọn trên thanh điều hướng trên cùng và chọn đúng tài khoản.
  8. Nhập một Service account name và click Create and continue
  9. Click vào Select a role, sau đó tìm và chọn Service Account User và thực hiện
  10. Click vào nút Done
  11. Click vào biểu tượng dấu ba chấm dọc ở cột Actions của tài khoản service bạn vừa tạo
  12. Chọn Manage keys trên menu
  13. Click vào ADD KEY -> Create New Key
  14. Đảm bảo kiểu của KeyJSON sau đó click CREATE
  15. Lưu file về máy tính khi đã tạo xong và nhớ chỗ đã lưu.
  16. Trở lại tab Google Play Console và click vào DONE để đóng dialog.
  17. Click vào View Play Console permissions cho tài khoản service mới được thêm (có thể phải click Refresh service accounts thì nó mới hiện ra)
  18. Chọn các quyền bạn muốn cấp cho tài khoản này. Gợi ý nên chọn Admin (all permission) nhưng bạn cũng có thể chọn thủ công tất cả các checkbox và chừa ra một số quyền Release ví dụng như Release to production nếu muốn.
  19. Click vào Invite user để hoàn tất.

Bạn có thể dùng lệnh fastlane run validate_play_store_json_key json_key:/path/to/your/downloaded/file.json để kiểm tra kết nối tới Google Play Store với private key đã tạo. Nếu nó đã hoạt động, nó sẽ hiện message như sau:

Successfully established connection to Google Play Store.

Bây giờ hãy thêm đường dẫn tới file JSON đó vào trong Appfile:

json_key_file("path/to/your/play-store-credentials.json")
package_name("my.package.name")

Đường dẫn này là relative path dựa theo nơi bạn chạy lệnh fastlane.

Lấy metadata của ứng dụng

Nếu ứng dụng của bạn đã được tạo trên Google Play developer console, bạn đã có thể bắt đầu sử dụng supply để quản lý.

Thử chạy:

fastlane supply init

và tất cả các metadata hiện tại của bạn trên Google Play store sẽ được tải về fastlane/metadata/android.

Do hạn chế của Google Play API, supply có thể không download được những ảnh chụp màn hình và video hiện có.


Tham khảo thêm

Setup - fastlane docs
-