Thiết lập Fastlane cho dự án Android
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:
- Cung cấp package name của ứng dụng khi được hỏi (ví dụ:
io.fabric.yourapp
) - Nhấn ENTER khi được hỏi về đường dẫn của file json bí mật.
- 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ụngFasfile
định nghĩa cáclane
đ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
- Mở Google Play Console
- Click vào Account details, để ý Developer Account ID được liệt kê ở đây
- Click vào Setup -> API access
- Click vào nút Create new service account
- Mở liên kết Google Cloud Platform trong dialog bằng một tab/cửa sổ mới:
- Click vào nút CREATE SERVICE ACCOUNT ở trên đầu của Google Cloud Platform Console.
- 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. - Nhập một
Service account name
và click Create and continue - Click vào Select a role, sau đó tìm và chọn Service Account User và thực hiện
- Click vào nút Done
- 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
- Chọn Manage keys trên menu
- Click vào ADD KEY -> Create New Key
- Đảm bảo kiểu của
Key
là JSON sau đó click CREATE - Lưu file về máy tính khi đã tạo xong và nhớ chỗ đã lưu.
- Trở lại tab Google Play Console và click vào DONE để đóng dialog.
- 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)
- 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.
- 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ó.