App Store & Play
Đó là gì
Phát hành một ứng dụng di động không chỉ đơn giản là viết code: bạn còn phải ký (sign) ứng dụng, đóng gói nó, gửi đi để được duyệt (review), rồi công bố lên App Store của Apple và Google Play. Mỗi cửa hàng có tài khoản nhà phát triển riêng, hệ thống ký riêng, siêu dữ liệu (metadata) riêng, và quy trình duyệt riêng. Apple dùng App Store Connect với các provisioning profile và TestFlight để thử nghiệm beta; Google dùng Play Console với cơ chế ký ứng dụng (app signing) và triển khai theo giai đoạn (staged rollout). Đây là "chặng cuối" biến một bản build thành thứ mà người dùng có thể cài đặt được.
Điểm mạnh
- Độ phủ khổng lồ: hai cửa hàng này là nơi hàng tỷ người dùng khám phá và tin tưởng các ứng dụng.
- Có sẵn hệ thống phân phối, thanh toán, cập nhật, và báo cáo lỗi (crash reporting).
- Có các kênh beta (TestFlight, Play internal/closed testing) để phát hành thử an toàn trước khi ra mắt chính thức.
- Triển khai theo giai đoạn (staged rollout) và khả năng dừng ngay một bản phát hành lỗi.
Đánh đổi
- Quá trình duyệt có thể chậm và đôi khi bị từ chối vì lý do chính sách hoặc quy tắc hướng dẫn.
- Phí nhà phát triển hàng năm của Apple và phí một lần của Google; cả hai đều lấy phần trăm doanh thu trên các giao dịch bán hàng.
- Việc ký (signing), chứng chỉ (certificate), và provisioning khá rắc rối và dễ cấu hình sai.
- Phải duy trì hai pipeline riêng biệt, hai bộ metadata, và hai listing cửa hàng khác nhau.
Khi nào nên dùng
Mọi ứng dụng di động dành cho người tiêu dùng cuối cùng đều phải trải qua bước này. Hãy lên kế hoạch từ sớm: đặt trước tên ứng dụng, thiết lập cả hai tài khoản nhà phát triển, và thiết lập các bản build tự động để mỗi lần phát hành không biến thành một cuộc vật lộn thủ công.
Độ phù hợp với vibe coding
Đây là nơi các trợ lý AI giúp tiết kiệm nhiều công sức lặp đi lặp lại nhất. Hãy nhờ mô hình viết script cho quy trình phát hành bằng một công cụ như Fastlane hoặc Expo's EAS Submit, để việc ký, đánh số phiên bản, và tải lên chỉ còn là một lệnh duy nhất. Nhờ nó tạo ra metadata cho cửa hàng, thông số kỹ thuật cho ảnh chụp màn hình (screenshot specs), và một checklist phát hành, đồng thời giải thích lý do bị từ chối bằng ngôn ngữ dễ hiểu khi điều đó xảy ra. Hãy tự động hóa các phần lặp lại và giữ con người ở lại để đưa ra các quyết định mang tính phán đoán về chính sách.
# Expo: build and submit to both stores
npx eas build --platform all
npx eas submit --platform ios
npx eas submit --platform android