Bỏ qua để đến nội dung

Xuất bản lên Play Store

Sau khi hoàn thành ứng dụng, bước cuối cùng là đưa nó đến tay người dùng. Bài này hướng dẫn chi tiết quy trình xuất bản app lên Google Play Store.

1. Chuẩn bị app → Versioning, signing
2. Tạo tài khoản Developer → $25 một lần
3. Tạo Store Listing → Icon, screenshots, mô tả
4. Upload App Bundle → .aab file
5. Review & Publish → 1-7 ngày

Mỗi lần upload lên Play Store cần tăng version:

app/build.gradle.kts
android {
defaultConfig {
applicationId = "com.yourname.yourapp" // Unique ID
versionCode = 1 // Số nguyên, tăng mỗi lần upload
versionName = "1.0" // Hiển thị cho user
}
}

Giải thích:

  • applicationId: ID duy nhất trên Play Store, không đổi được sau khi publish
  • versionCode: Bắt buộc tăng mỗi lần upload (1 → 2 → 3…)
  • versionName: Hiển thị cho user, có thể tùy chọn (1.0 → 1.1 → 2.0)

Keystore là “chứng minh thư” của app - chứng minh bạn là chủ sở hữu.

Cách tạo trong Android Studio:

  1. Vào Build > Generate Signed Bundle/APK
  2. Chọn Android App Bundle
  3. Click Create new…
  4. Điền thông tin:
    • Key store path: Nơi lưu file .jks
    • Password: Mật khẩu keystore
    • Key alias: Tên cho key (ví dụ: release)
    • Key password: Mật khẩu cho key
    • Validity: 25 năm (mặc định)
    • Certificate: Thông tin của bạn/công ty

⚠️ QUAN TRỌNG: Lưu keystore và mật khẩu ở nơi an toàn! Mất keystore = không thể update app!

app/build.gradle.kts
android {
signingConfigs {
create("release") {
storeFile = file("path/to/your/keystore.jks")
storePassword = "your_keystore_password"
keyAlias = "your_key_alias"
keyPassword = "your_key_password"
}
}
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
signingConfig = signingConfigs.getByName("release")
}
}
}

Không commit password vào Git! Dùng cách sau:

app/build.gradle.kts
signingConfigs {
create("release") {
storeFile = file(project.property("KEYSTORE_FILE") as String)
storePassword = project.property("KEYSTORE_PASSWORD") as String
keyAlias = project.property("KEY_ALIAS") as String
keyPassword = project.property("KEY_PASSWORD") as String
}
}
# local.properties (đã được ignore bởi .gitignore)
KEYSTORE_FILE=../keystore/release.jks
KEYSTORE_PASSWORD=your_password
KEY_ALIAS=release
KEY_PASSWORD=your_key_password
  1. Vào Build > Generate Signed Bundle/APK
  2. Chọn Android App Bundle (khuyến nghị) hoặc APK
  3. Chọn keystore đã tạo
  4. Chọn release build variant
  5. Click Create

File .aab sẽ được tạo tại app/release/app-release.aab

  1. Truy cập play.google.com/apps/publish
  2. Đăng nhập với tài khoản Google
  3. Chấp nhận điều khoản
  4. Thanh toán $25 USD (một lần duy nhất)
  5. Hoàn thành xác minh danh tính

Lưu ý: Cần 24-48 giờ để tài khoản được kích hoạt

  • App name: Tên ứng dụng (tối đa 30 ký tự)
  • Short description: Mô tả ngắn (tối đa 80 ký tự)
  • Full description: Mô tả đầy đủ (tối đa 4000 ký tự)

Tips viết mô tả:

  • Highlight tính năng chính
  • Dùng bullet points
  • Thêm keywords để dễ tìm kiếm
  • Viết cả tiếng Việt và tiếng Anh
Asset Kích thước Số lượng
App icon 512 x 512 px 1
Feature graphic 1024 x 500 px 1
Phone screenshots Min 320px, max 3840px 2-8
Tablet screenshots (Optional) 0-8

Tips chụp screenshots:

  • Chụp trên emulator với resolution đẹp
  • Thêm text overlay highlight tính năng
  • Dùng app như Placeit để tạo mockup đẹp
  • Category: Games, Education, Productivity, etc.
  • Tags: Thêm tối đa 5 tags liên quan
  • Content rating: Trả lời questionnaire về nội dung app
  1. Vào Release > Production
  2. Click Create new release
  3. Chọn Google Play App Signing (khuyến nghị)
  4. Upload file .aab
  5. Thêm Release notes (ghi chú phiên bản)
  6. Click SaveReview release

Trả lời bảng câu hỏi về nội dung:

  • App có bạo lực không?
  • Có nội dung người lớn?
  • Có quảng cáo?
  • Có mua hàng in-app?

Hệ thống tự động đánh giá: Everyone, Teen, Mature, etc.

  • Free: Miễn phí (có thể thêm ads hoặc in-app purchases)
  • Paid: Đặt giá (Google giữ 15-30% commission)

Lưu ý: App trả phí KHÔNG thể chuyển thành miễn phí sau này

  1. Kiểm tra lại tất cả thông tin
  2. Click Start rollout to Production
  3. Đợi Google review (thường 1-7 ngày)
Lý do Cách fix
Thiếu Privacy Policy Thêm link privacy policy
Crash khi mở app Test kỹ trước khi submit
Mô tả không khớp với app Cập nhật mô tả chính xác
Vi phạm bản quyền Xóa nội dung vi phạm
Thiếu tính năng Đảm bảo app hoàn chỉnh
  • Installs: Số lượt cài đặt
  • Ratings: Đánh giá từ users
  • Crashes: Báo cáo crash
  • ANRs: App Not Responding
  1. Tăng versionCode
  2. Build new .aab
  3. Upload lên Production hoặc Testing track
  4. Đợi review
Track Mục đích
Internal Team nội bộ (20 người)
Closed Beta testers (giới hạn)
Open Public beta
Production Tất cả users
  • versionCode đã tăng
  • Test kỹ trên nhiều devices
  • Keystore đã backup an toàn
  • Screenshots đẹp và accurate
  • Privacy Policy đã có
  • App icon rõ ràng ở size nhỏ
  • Mô tả chứa keywords phù hợp
  • Content rating đã hoàn thành

  1. Keystore = Chứng minh thư của app, phải giữ an toàn
  2. versionCode phải tăng mỗi lần update
  3. Tài khoản Developer tốn $25 một lần
  4. Screenshots và mô tả rất quan trọng cho downloads
  5. Review mất 1-7 ngày
  6. Dùng Testing tracks để test trước khi release cho tất cả