Như các bạn đã biết hoặc chưa biết thì vào tháng 3 năm 2020, Frabric sẽ chính thức bị deprecated để tích hợp sang Firebase. Một số tính năng của Fabric bao gồm Crashlytics, Real-time Analytics (phân tích thời gian thực) sẽ đc tích hợp sang Firebase để mang đến cho bạn một nền tảng phát triển ứng dụng tốt hơn
Chính vì vậy việc sử dụng fastlane để đẩy file build lên Fabric cũng sẽ bị diprecated theo. Cho nên trong bài viết này mình sẽ trình bày cách distribute file apk lên Firebase sử dụng Fastlane. Hy vọng bài viết sẽ hữu ích với bạn
I. Before you begin
1. Step1: install and setup fastlane
- Để install fastlane sẽ có 2 option dành cho bạn
Option 1 : install fastlane sử dụng RubyGems
Gem là một thư viện của Ruby. Nó không có gì khác biệt với các thư viện của các ngôn ngữ bình thường khác như PHP, Java hay Python tuy nhiên thư viện trong Ruby được gọi là GEM. Đơn giản chỉ có vậy.
Chi tiết hơn xem tại đây nhé
Run command sau
1 2 | sudo gem install fastlane <span class="token operator">-</span><span class="token constant">NV</span> |
Option 2: Bạn có thể sử dụng HomeBrew
1 2 | brew cask install fastlane |
- Setup fastlane
Open terminal và trỏ vào đúng đường dẫn project bạn muốn config fastlane và gõ lệnh sau
1 2 | fastlane init |
Sau khi chaỵ lệnh fastlane sẽ yêu cầu bạn nhập một số thông tin, và sau đó fastlane sẽ tự động config cho bạn dựa trên những thông tin mà bạn đã cung cấp trước đó
Bạn có thể thấy thư mục fastlane gồm các file như bên dưới
Fastfile chính là file chứa tất cả những thông tin bạn cần để distribute file apk
2. Install or update FirebaseCLI
Firebase CLI là một tiện ích được sử dụng để quản lí các dự án Firebase và thực hiện các tác vụ như quản lí cơ sở dữ liệu thời gian thực từ dòng lệnh trên các thiết bị đầu cuối . Firebase CLI cũng là phương thức mà Firebase Cloud Function được triển khai và quản lý
có 3 cách để install Firebase CLI
cách 1: automatic install script
Bạn chỉ cần chạy một lệnh duy nhất và sau đó hệ thống sẽ tự động tải xuống version CLI phù hợp nhất với hệ điều hành trên máy bạn
recomment cách này cho những bạn là new developers, chưa biết sử dụng Node.js
chạy lệnh sau:
1 2 | curl <span class="token operator">-</span>sL firebase<span class="token punctuation">.</span>tools <span class="token operator">|</span> bash |
cách 2: standanlone binary (nhị phân độc lập)
- download Firebase CLI binary: Linux
- set up firebase
1 2 | chmod <span class="token operator">+</span>x <span class="token punctuation">.</span><span class="token operator">/</span>firebase_tools |
Thêm đường dẫn Firebase CLI
1 2 | <span class="token constant">PATH</span><span class="token operator">=</span>$<span class="token constant">PATH</span><span class="token punctuation">:</span><span class="token operator">~</span><span class="token operator">/</span>opt<span class="token operator">/</span>bin |
hoặc
1 2 | <span class="token constant">PATH</span><span class="token operator">=</span><span class="token operator">~</span><span class="token operator">/</span>opt<span class="token operator">/</span>bin<span class="token punctuation">:</span>$<span class="token constant">PATH</span> |
- Sign in and test Firebase CLI
sign in firebase
1 2 | firebase login |
lệnh trên sẽ connect từ thiết bị local của bạn tới firebase và cho phep bạn truy cập vào Firebase project
cách 3: sử dụng npm (Node package manager)
1 2 | npm install <span class="token operator">-</span>g firebase<span class="token operator">-</span>tools |
sau đó tiếp tục Sign in and test Firebase CLI giống như cách 2 bên trên mình đã trình bày
3. Distribute file apk using fastlane
để làm được điều này bạn cần thêm một lane “firebase_app_distribution” vào trong Fastfile
Sau đây là một ví dụ về việc định cấu hình cho lane đó nhé
1 2 3 4 5 6 7 8 9 10 11 12 13 | platform <span class="token punctuation">:</span>android <span class="token keyword">do</span> desc <span class="token string">"My awesome app"</span> lane <span class="token punctuation">:</span>distribute <span class="token keyword">do</span> <span class="token function">build_android_app</span><span class="token punctuation">(</span><span class="token operator">...</span><span class="token punctuation">)</span> # build_android_app is a built<span class="token operator">-</span><span class="token keyword">in</span> fastlane action<span class="token punctuation">.</span> <span class="token function">firebase_app_distribution</span><span class="token punctuation">(</span> app<span class="token punctuation">:</span> <span class="token string">"1:123456789:android:abcd1234"</span><span class="token punctuation">,</span> testers<span class="token punctuation">:</span> <span class="token string">"<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a1d5c4d2d5c4d390e1c2ceccd1c0cfd88fc2cecc">[email protected]</a>, <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="16627365627364245675797b6677786f3875797b">[email protected]</a>"</span><span class="token punctuation">,</span> release_notes<span class="token punctuation">:</span> <span class="token string">"Lots of amazing new features to test out!"</span><span class="token punctuation">,</span> firebase_cli_path<span class="token punctuation">:</span> <span class="token string">"/absolute/path/to/firebase/cli/binary"</span> <span class="token punctuation">)</span> end end |
trong khối block trên có sử dụng một số params để định cấu hình cho lane, sau đây mình sẽ trình bày về một số params thường dùng
firebase_app_distribution params | |
---|---|
app | chính là Firebase app ID. bạn có thể tìm thấy nó trong Filebase console |
chọn Project setting
firebase_cli_path | Đường dẫn tuyệt đối đến thư viện Friebase CLI |
apk_path | Đường dẫn tuyệt đối đến file apk mà bạn muốn upload |
release_notes , release_notes_file | Bạn có thể note trực tiếp release_notes: “Text of release notes” hoặc thông qua đường dẫn file release_notes_file: “/path/to/release-notes.txt” |
Testers, tester_file | Chứa địa chỉ email mà bạn muốn invite để test. bạn có thể chỉ định email cụ thể testers: “[email protected], [email protected], [email protected]“ hoặc bạn có thể đưa đường dẫn đến file chứa danh sách các email mà bạn muốn invite testers_file: “/path/to/testers.txt” |
groups, groups_file | Chứa group tester mà bạn muốn invite |
Và cuối cùng run dòng lệnh sau để distribute app
1 2 | fastlane <span class="token operator"><</span>lane<span class="token operator">></span> |
Sau khi distribute app bạn có thể theo dõi trạng thái của từng tester mà bạn đã invite trong Filebase console
III. Tài liệu tham khảo
https://medium.com/@ryanisnhp/firebase-app-distribution-and-fastlane-5303c17b4395
https://firebase.google.com/docs/app-distribution/android/distribute-fastlane