- Nhận diện các tài khoản dịch vụ mà app cần trước first build
- Làm theo thứ tự setup: xác nhận GitHub trước, rồi tạo Supabase dev project free-tier
- Phân biệt key an toàn cho client với secret backend-only như Supabase service role key
Checklist Tài Khoản Dịch Vụ
Biết những tài khoản bên ngoài nào cần có và lý do cần từng cái.
Video bài học sắp lên sóng
Trong lúc chờ, bạn hãy đọc bản text của bài học bên dưới: đầy đủ lý thuyết, code mẫu và checklist thực hành.
Mục Tiêu Bài Học
Sau bài này, bạn sẽ biết:
- Các loại accounts nào cần trước first build,
- Setup cấu hình local cho first build.
Vì Sao Bài Này Tồn Tại
Production Android app ít khi chỉ chạy riêng trong Local Device. Một app tốt, phục vụ đa tính năng thường cần phải giao tiếp với Auth Providers, Databases, Analytics Tools, Remote Config systems, Release dashboards, Payment systems và đôi khi AI APIs.
Lỗi phổ biến của người mới là mở mọi dashboard và tạo mọi account có thể ngay ngày đầu. Việc đó tạo nhiều phiền phức, lo lắng về billing, và rủi ro quản lý secrets trước khi app build được. Dễ bị tốn tiền, đặc biệt là khi dùng các AI APIs.
Official Account Links
Chỉ dùng trang official:
| Service | Trang official | Nó cung cấp gì |
|---|---|---|
| GitHub | GitHub signup, GitHub CLI | Private repo access, terminal authentication, commits, pull requests |
| Supabase | Supabase dashboard, Supabase API keys | Project URL, anon hoặc publishable client key, backend-only service role key |
| Firebase | Firebase Console, Firebase Android setup | Android app registration, google-services.json, analytics, Remote Config |
| Google Cloud | Google Cloud Console, OAuth consent docs | OAuth consent screen, Android OAuth client, Google API credentials |
| Gemini API | Google AI Studio API key page, Gemini API key docs | AI feature API key khi branch hiện tại bật Gemini features |
| Google Play Console | Google Play Console | Release, app signing, store listing, closed testing |
Nếu dashboard yêu cầu payment information, hãy đọc kỹ và chọn free-tier settings khi có thể. Đừng tạo production billing resources chỉ vì setup wizard gợi ý.
Thứ Tự Setup Khuyến Nghị
1. Xác Nhận GitHub Trước
Bạn kiểm tra email invite cho private repo trước khi kéo code về. Nếu chưa accept invite, bạn sẽ không clone được repo. Nếu bạn đã accept invite nhưng vẫn gặp lỗi, hãy thử liên hệ với @dantech0xff ngay qua Telegram.
Sau đó kiểm tra terminal authentication:
gh auth status
Nếu bước này fail, hãy quay lại lesson 02 đê setup GitHub CLI. Bạn cần terminal authentication để push commits và pull requests.
2. Tạo Supabase Dev Project
Với learning purpose, bạn chưa cân phải mua gói supabase trả phí. Hãy bắt đâu với free-tier dev project.
Bạn thường cần:
| Value | Lấy từ đâu | Ghi chú an toàn cho Android |
|---|---|---|
| Project URL | Supabase project settings/API page | Client app có thể dùng. |
| Anon hoặc publishable key | Supabase API keys page | Client app có thể dùng, nhưng nó vẫn định danh project của bạn. |
| Service role key | Supabase API keys page | Không bao giờ đặt key này trong Android app. |
Service role key bypass Row Level Security. Xem nó là backend-only. (Khóa này không dùng đến nhưng bạn có thể tự tìm hiêu về nó trong Supabase docs.)
3. Chuẩn Bị Firebase Và Google Cloud
Quay lại bảng official account links, bạn sẽ thấy Firebase và Google Cloud. Theo các đuờng dẫn để tạo sẵn account.
- Firebase thường là nơi register Android app và download
google-services.jsonđể build app. - Google Cloud thường là nơi quản lý OAuth consent và credentials.
- Android package name và SHA-1 fingerprint phải khớp với app bạn test.
Security Checklist
Phần này để 1 lần nữa nhắc bạn về security checklist trước khi paste bất kỳ value nào vào code.
LUÔN LUÔN check 3 câu hỏi sau trước khi paste value vào code:
- Value này có được phép cho user nhìn thấy không?
- File quan trọng này đã được Git ignore chưa?
- Nếu secret value bị leak, mình có rotate được không?