Chào mừng các bạn quay trở lại với series Android Developer Roadmap! Chúng ta đã cùng nhau đi qua một chặng đường dài, từ những khái niệm cơ bản về lập trình Kotlin/Java, thiết lập môi trường, cấu trúc dữ liệu, xây dựng giao diện người dùng với View hay Jetpack Compose, quản lý state, xử lý bất đồng bộ, gọi API, cho đến kiểm thử ứng dụng. Giờ đây, bạn đang nắm trong tay một sản phẩm hoàn chỉnh – ứng dụng Android đầu tiên (hoặc một phiên bản mới tuyệt vời) mà bạn đã dành tâm huyết xây dựng.
Nhưng việc tạo ra ứng dụng chỉ là một nửa câu chuyện. Nửa còn lại, cũng không kém phần quan trọng, chính là đưa ứng dụng đó đến tay hàng tỷ người dùng Android trên khắp thế giới. Và nền tảng phổ biến nhất để làm điều đó chính là Google Play Store.
Quá trình xuất bản ứng dụng lên Google Play có thể khiến nhiều lập trình viên, đặc biệt là các bạn mới bắt đầu, cảm thấy hơi choáng ngợp với hàng loạt bước và yêu cầu. Đừng lo lắng! Bài viết này sẽ đóng vai trò là một danh sách kiểm tra (checklist) toàn diện, giúp bạn tự tin điều hướng qua từng giai đoạn, đảm bảo ứng dụng của bạn sẵn sàng tỏa sáng trên “mặt tiền” của hệ sinh thái Android.
Hãy cùng bắt đầu nào!
Mục lục
1. Trước khi chạm vào Google Play Console: Những thứ cần chuẩn bị
Trước khi bạn truy cập vào trang Google Play Console, có một số thứ quan trọng bạn cần phải chuẩn bị sẵn sàng.
Tài khoản Google Play Developer
Đây là cánh cửa để bạn bước vào thế giới xuất bản ứng dụng. Bạn cần đăng ký một tài khoản Google Play Developer và thanh toán một khoản phí đăng ký một lần (hiện tại là 25 USD). Hãy đảm bảo tài khoản của bạn đã được xác minh và hoạt động bình thường.
Khóa ký ứng dụng (App Signing Key)
An ninh là tối quan trọng. Mỗi ứng dụng Android cần được ký bằng một chứng chỉ kỹ thuật số (digital certificate) trước khi cài đặt hoặc cập nhật. Chứng chỉ này chứa khóa riêng tư (private key) độc nhất của bạn. Bắt đầu từ tháng 8 năm 2021, Google Play yêu cầu các ứng dụng mới sử dụng tính năng Play App Signing. Điều này có nghĩa là bạn ủy thác việc quản lý khóa ký ứng dụng của mình cho Google. Bạn sẽ ký app bundle (.aab) bằng một “upload key” (khóa tải lên) do bạn tự tạo, và Google sẽ dùng khóa ký ứng dụng thực tế (được quản lý an toàn trên máy chủ của họ) để ký các APK được phân phát cho người dùng.
Tại sao Play App Signing lại quan trọng?
- Bảo mật: Google quản lý khóa ký ứng dụng chính của bạn trong môi trường bảo mật cao, giảm thiểu rủi ro mất cắp.
- Khả năng phục hồi: Nếu bạn mất khóa tải lên, bạn có thể liên hệ với Google để reset. Nếu bạn tự quản lý khóa ký ứng dụng chính và bị mất nó, bạn sẽ không bao giờ có thể cập nhật ứng dụng của mình nữa và phải xuất bản một ứng dụng mới hoàn toàn.
- Tối ưu hóa phân phối: Google sử dụng khóa này để tối ưu hóa các APK được phân phối cho từng thiết bị cụ thể thông qua App Bundles.
Hãy đảm bảo bạn đã tạo và lưu trữ khóa tải lên (upload key) một cách an toàn.
Thương hiệu và Tài sản đồ họa (Branding & Assets)
Đây là những gì người dùng nhìn thấy đầu tiên trên Play Store. Chúng quyết định ấn tượng ban đầu và khả năng họ tải xuống ứng dụng của bạn.
- Biểu tượng ứng dụng (App Icon): Biểu tượng chất lượng cao, hấp dẫn, tuân thủ nguyên tắc thiết kế của Android. Kích thước 512×512 px.
- Hình ảnh nổi bật (Feature Graphic): Một banner ngang ấn tượng (1024×500 px) xuất hiện ở đầu trang danh sách cửa hàng. Đây là cơ hội lớn để thu hút sự chú ý.
- Ảnh chụp màn hình (Screenshots): Tối thiểu 2 ảnh, tối đa 8 ảnh cho mỗi loại thiết bị (điện thoại, máy tính bảng, Android TV, Wear OS). Hãy chọn những ảnh chụp thể hiện rõ ràng các tính năng tốt nhất và giao diện người dùng của ứng dụng. Kích thước khuyến nghị: tỷ lệ khung hình 16:9 hoặc 9:16, kích thước tối thiểu 320px, tối đa 3840px.
- Video giới thiệu (Promo video – tùy chọn): Một video ngắn (thường từ YouTube) thể hiện cách ứng dụng hoạt động. Rất hiệu quả để giới thiệu các tính năng phức tạp hoặc trải nghiệm người dùng.
Đảm bảo tất cả các tài sản này đều chuyên nghiệp, hấp dẫn và tuân thủ các nguyên tắc của Google.
Xem xét Chính sách của Google Play Developer
Đây là BƯỚC QUAN TRỌNG NHẤT mà nhiều người mới bắt đầu bỏ qua và phải trả giá bằng việc ứng dụng bị từ chối hoặc gỡ bỏ. Google có một bộ Chính sách dành cho nhà phát triển rất chi tiết. Bạn PHẢI đọc và hiểu chúng. Các lỗi vi phạm chính sách phổ biến bao gồm:
- Thu thập dữ liệu người dùng nhạy cảm mà không được sự đồng ý rõ ràng.
- Quảng cáo gây hiểu lầm hoặc che khuất nội dung.
- Mạo danh ứng dụng hoặc thương hiệu khác.
- Sử dụng quyền hạn (permissions) không cần thiết hoặc nhạy cảm.
- Nội dung không phù hợp (bạo lực, thù địch, tình dục…).
Hãy dành thời gian kiểm tra ứng dụng của bạn kỹ lưỡng dựa trên bộ chính sách này trước khi gửi đi. Điều này giúp tiết kiệm rất nhiều thời gian và công sức sau này.
2. Chuẩn bị ứng dụng của bạn cho Bản phát hành (Release Build)
Phiên bản bạn chạy trên Android Studio khi debug khác với phiên bản bạn gửi lên Google Play. Bản phát hành cần được tối ưu hóa về hiệu năng, kích thước và bảo mật.
Cấu hình Build cho Bản phát hành
Trong file build.gradle
(module-level), bạn cần cấu hình khối buildTypes
cho release
.
android {
// ... other configurations
buildTypes {
release {
minifyEnabled true // Bật R8/ProGuard để thu nhỏ, obfuscate code
shrinkResources true // Loại bỏ tài nguyên không sử dụng
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release // Áp dụng cấu hình ký ứng dụng
}
debug {
// Debug build configurations
}
}
// Cấu hình ký ứng dụng
signingConfigs {
release {
storeFile file("your_upload_key.jks") // Tên file upload key của bạn
storePassword "your_store_password"
keyAlias "your_key_alias"
keyPassword "your_key_password"
}
}
}
Đảm bảo bạn đã tạo file .jks
hoặc .keystore
chứa upload key và điền thông tin chính xác vào signingConfigs.release
. Không lưu mật khẩu trực tiếp trong file build.gradle; sử dụng các biến môi trường hoặc file properties riêng.
Việc sử dụng R8/ProGuard (minifyEnabled true
) giúp giảm kích thước ứng dụng và làm khó việc dịch ngược mã nguồn. File proguard-rules.pro
chứa các quy tắc để giữ lại những phần code cần thiết (ví dụ: các lớp mô hình dữ liệu cho JSON parsing) không bị R8 loại bỏ hoặc đổi tên.
Nếu bạn chưa quen với Gradle, hãy tham khảo bài viết Gradle là gì? Cách sử dụng trong Phát triển Android.
Kiểm thử Toàn diện (Thorough Testing)
Đừng bao giờ xuất bản một ứng dụng mà chưa được kiểm thử kỹ lưỡng. Đây là lúc tất cả các bài kiểm thử bạn đã viết phát huy tác dụng.
- Kiểm thử Đơn vị (Unit Tests): Đảm bảo các hàm và lớp riêng lẻ hoạt động đúng logic. Tham khảo bài viết Kiểm thử Đơn vị trong Android với JUnit.
- Kiểm thử Giao diện Người dùng (UI Tests): Kiểm tra xem giao diện có hiển thị đúng, các tương tác của người dùng có hoạt động như mong đợi không. Kiểm thử UI với Espresso là công cụ tuyệt vời cho việc này.
- Kiểm thử Tích hợp (Integration Tests): Kiểm tra sự tương tác giữa các thành phần khác nhau của ứng dụng (ví dụ: Activity với ViewModel, Repository với API).
- Kiểm thử trên Thiết bị Thật (Testing on Real Devices): Cực kỳ quan trọng! Giả lập không thể mô phỏng hoàn toàn môi trường thực tế. Hãy kiểm thử trên nhiều thiết bị khác nhau về kích thước màn hình, phiên bản Android, và cấu hình phần cứng.
- Kiểm thử Hiệu năng (Performance Testing): Đảm bảo ứng dụng phản hồi nhanh, không hao pin hay ngốn RAM quá mức. Kiểm thử Hiệu năng và Benchmark với Jetpack Benchmark có thể giúp bạn.
Đừng quên sử dụng các công cụ gỡ lỗi chuyên nghiệp để phát hiện sớm các vấn đề, như đã đề cập trong bài viết Gỡ lỗi Ứng dụng Android Như Một Chuyên Gia.
Tối ưu hóa và Hoàn thiện
Trước khi đóng gói, hãy thực hiện các bước tối ưu hóa cuối cùng:
- Giảm kích thước ứng dụng: Ngoài R8/ProGuard và
shrinkResources
, hãy kiểm tra lại các tài nguyên (hình ảnh, âm thanh) và nén chúng nếu có thể. App Bundles sẽ giúp ích rất nhiều ở đây. - Cập nhật Target API Level: Google Play yêu cầu các ứng dụng mới và cập nhật phải nhắm mục tiêu đến một phiên bản Android gần đây. Luôn cập nhật
targetSdkVersion
trong filebuild.gradle
để đảm bảo tuân thủ và truy cập được các tính năng, API bảo mật mới nhất. - Kiểm tra lại các quyền hạn (Permissions): Chỉ yêu cầu những quyền thực sự cần thiết cho chức năng của ứng dụng. Các quyền nhạy cảm cần có lời giải thích rõ ràng cho người dùng.
- Thêm Chính sách quyền riêng tư (Privacy Policy): Nếu ứng dụng thu thập bất kỳ dữ liệu người dùng nào (kể cả phân tích sử dụng), bạn cần có một liên kết đến Chính sách quyền riêng tư hợp lệ.
Tạo Android App Bundle (.aab)
Thay vì tạo file APK truyền thống, bạn nên tạo Android App Bundle (.aab). App Bundle là định dạng xuất bản mới chứa tất cả code và tài nguyên đã được biên dịch của ứng dụng, nhưng việc tạo APK cuối cùng và phân phối sẽ do Google Play thực hiện. Google Play sẽ tạo các APK được tối ưu hóa cho cấu hình thiết bị của từng người dùng (ví dụ: chỉ chứa tài nguyên đồ họa cho mật độ màn hình cụ thể, hoặc native libraries cho kiến trúc CPU cụ thể), giúp giảm đáng kể kích thước tải về của ứng dụng.
Để tạo App Bundle trong Android Studio:
Build -> Generate Signed Bundle / APK... -> Android App Bundle -> Next -> Chọn module -> Chọn cấu hình ký ứng dụng (hoặc tạo mới nếu chưa có) -> Finish.
File .aab
sẽ được tạo trong thư mục output của module của bạn.
3. Thiết lập Thông tin ứng dụng trên Google Play Console
Đăng nhập vào Google Play Console (https://play.google.com/console/). Nếu là lần đầu, bạn sẽ thấy nút “Create app”.
Tạo ứng dụng mới
Bạn sẽ cần cung cấp thông tin cơ bản:
- Tên ứng dụng.
- Ngôn ngữ mặc định.
- Ứng dụng hay Trò chơi.
- Miễn phí hay Trả phí.
- Chấp nhận các điều khoản dịch vụ.
Sau khi tạo, bạn sẽ được đưa đến trang Dashboard (Bảng điều khiển) của ứng dụng.
Điền Thông tin Cửa hàng (Store Listing)
Đây là phần mà người dùng sẽ nhìn thấy trên Google Play Store.
- App name: Tên ứng dụng của bạn.
- Short description: Tóm tắt ngắn gọn, hấp dẫn về ứng dụng (tối đa 80 ký tự). Cực kỳ quan trọng để thu hút sự chú ý.
- Full description: Mô tả chi tiết về tính năng, lợi ích của ứng dụng (tối đa 4000 ký tự). Sử dụng các từ khóa liên quan để cải thiện ASO (App Store Optimization).
- Graphics assets: Tải lên biểu tượng ứng dụng, hình ảnh nổi bật, ảnh chụp màn hình, và video giới thiệu (nếu có).
- Category: Chọn danh mục phù hợp nhất cho ứng dụng của bạn (ví dụ: Công cụ, Giáo dục, Giải trí, Trò chơi hành động…).
- Tags: Thêm các thẻ (tags) liên quan giúp người dùng tìm kiếm ứng dụng của bạn dễ dàng hơn.
- Contact details: Cung cấp email liên hệ hỗ trợ. Bạn cũng có thể thêm website và số điện thoại.
- Privacy Policy: Cung cấp URL đến chính sách quyền riêng tư của bạn.
Hãy xem xét việc nội địa hóa (localize) thông tin cửa hàng này sang các ngôn ngữ khác nếu bạn muốn tiếp cận người dùng ở nhiều quốc gia.
Hoàn thành các mục cần thiết khác
Dashboard của Play Console sẽ hiển thị một danh sách các tác vụ bạn cần hoàn thành trước khi có thể xuất bản.
- Content Rating (Xếp hạng nội dung): Hoàn thành bảng câu hỏi về nội dung ứng dụng của bạn. Dựa trên câu trả lời của bạn, Google Play sẽ gán một xếp hạng nội dung (ví dụ: PEGI, ESRB). Điều này giúp ứng dụng của bạn hiển thị đúng cho đối tượng mục tiêu và ở các khu vực địa lý phù hợp. Cung cấp thông tin không chính xác có thể dẫn đến việc bị gỡ bỏ.
- Target audience and content (Đối tượng mục tiêu và nội dung): Khai báo nhóm tuổi mà ứng dụng của bạn hướng tới.
- News apps (Ứng dụng tin tức): Khai báo nếu ứng dụng của bạn là ứng dụng tin tức.
- COVID-19 contact tracing and status apps (Ứng dụng truy vết và trạng thái COVID-19): Khai báo nếu ứng dụng của bạn liên quan đến COVID-19.
- Data safety (An toàn dữ liệu): Cung cấp thông tin chi tiết về cách ứng dụng của bạn thu thập, sử dụng và chia sẻ dữ liệu người dùng. Thông tin này sẽ hiển thị trên trang danh sách cửa hàng của bạn.
- Government apps (Ứng dụng của chính phủ): Khai báo nếu ứng dụng của bạn được xuất bản thay mặt cho một chính phủ hoặc tổ chức chính trị.
Đảm bảo bạn hoàn thành tất cả các mục này một cách trung thực và chính xác.
4. Tải lên và Quản lý Bản phát hành (Releases)
Đây là bước bạn đưa file .aab
đã chuẩn bị lên Google Play.
Tạo Bản phát hành mới
Trong Play Console, điều hướng đến Release
-> Production
(hoặc kênh thử nghiệm bạn muốn bắt đầu, ví dụ: Internal testing). Nhấn Create new release
.
Tải lên App Bundle
Kéo và thả hoặc duyệt để tải file .aab
của bạn lên. Google Play sẽ xử lý app bundle, hiển thị thông tin về phiên bản ứng dụng (Version Code, Version Name), kích thước tải về ước tính cho các thiết bị khác nhau, và danh sách các quyền hạn mà ứng dụng yêu cầu.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yourpackage.yourapp">
<uses-permission android:name="android.permission.INTERNET"/>
<!-- Thêm các quyền hạn khác nếu cần -->
<application
...>
...
</application>
</manifest>
Lưu ý về Version Code và Version Name:
versionCode
: Một số nguyên dương dùng để so sánh các phiên bản của ứng dụng. Mỗi lần cập nhật, bạn PHẢI tăng giá trị này. Google Play sử dụngversionCode
để xác định người dùng nào nên nhận bản cập nhật.versionName
: Một chuỗi ký tự biểu thị phiên bản “thân thiện với người dùng” (ví dụ: “1.0”, “1.1.5”, “2.0 Beta”). Bạn có thể đặt tên tùy ý, không nhất thiết phải là số.
Bạn định nghĩa chúng trong file build.gradle
(module-level):
android {
// ...
defaultConfig {
// ...
versionCode 1
versionName "1.0"
}
// ...
}
Ghi chú phát hành (Release notes)
Viết mô tả ngắn gọn về những thay đổi trong phiên bản này (ví dụ: “Sửa lỗi”, “Thêm tính năng X”, “Cải thiện hiệu năng”). Thông tin này sẽ hiển thị cho người dùng khi họ cập nhật ứng dụng.
Chọn các quốc gia/khu vực
Chọn những quốc gia hoặc khu vực mà bạn muốn ứng dụng của mình khả dụng.
Lưu và Xem xét Bản phát hành
Sau khi điền đầy đủ thông tin, lưu bản phát hành. Hệ thống của Google Play sẽ tự động bắt đầu quá trình xem xét. Quá trình này có thể mất từ vài giờ đến vài ngày, tùy thuộc vào ứng dụng và khối lượng công việc của Google.
Sử dụng các Kênh phát hành (Release Tracks)
Google Play Console cung cấp nhiều kênh để bạn kiểm thử ứng dụng trước khi phát hành rộng rãi ra thị trường:
- Internal testing: Dành cho tối đa 100 tester nội bộ, có thể nhận bản cập nhật trong vài phút. Rất hữu ích cho việc kiểm tra nhanh trước khi chuyển sang các giai đoạn thử nghiệm lớn hơn.
- Closed testing: Dành cho một nhóm tester bạn chọn (qua email hoặc Google Groups). Giúp kiểm thử trên nhiều thiết bị và môi trường thực tế hơn.
- Open testing: Bất kỳ ai trên Google Play đều có thể tham gia chương trình thử nghiệm của bạn. Hữu ích để thu thập phản hồi từ một lượng lớn người dùng trước khi chính thức phát hành.
- Production: Kênh dành cho bản phát hành cuối cùng đến tất cả người dùng trên các quốc gia bạn đã chọn.
Sử dụng quy trình thử nghiệm theo giai đoạn (ví dụ: Internal -> Closed -> Production) là một phương pháp tốt để đảm bảo chất lượng trước khi ứng dụng đến tay hàng triệu người dùng.
Bạn cũng có thể sử dụng các dịch vụ phân phối ứng dụng như Firebase App Distribution để phân phối các bản build thử nghiệm cho tester bên ngoài Google Play Console.
5. Xuất bản Được quản lý (Managed Publishing)
Một tính năng hữu ích trong Play Console là Managed publishing. Khi bật tính năng này, bản phát hành của bạn sẽ được Google xem xét và phê duyệt, nhưng sẽ KHÔNG tự động được xuất bản. Bạn có thể kiểm tra tất cả các thay đổi đã được phê duyệt và tự tay nhấn nút “Go live” khi bạn sẵn sàng. Điều này giúp bạn kiểm soát chính xác thời điểm ứng dụng xuất hiện trên Play Store, ví dụ để đồng bộ với chiến dịch marketing.
6. Sau khi xuất bản: Theo dõi và Cập nhật
Quá trình không kết thúc sau khi ứng dụng của bạn “lên kệ”. Việc theo dõi và duy trì là liên tục.
Theo dõi Hiệu suất và Phản hồi
Google Play Console cung cấp các báo cáo chi tiết về:
- Lượt cài đặt, gỡ cài đặt, cập nhật.
- Xếp hạng và đánh giá của người dùng.
- Sự cố ANR (Application Not Responding) và Sự cố crash (crashes).
Hãy thường xuyên kiểm tra các báo cáo này. Phản hồi các đánh giá của người dùng một cách chuyên nghiệp. Sử dụng các công cụ như Firebase Crashlytics để theo dõi và phân tích sự cố crash một cách hiệu quả.
Cập nhật Ứng dụng
Để giữ chân người dùng và thêm tính năng mới, bạn cần phát hành các bản cập nhật định kỳ. Quy trình tương tự như lần xuất bản đầu tiên: tạo bản release mới, tăng versionCode
, viết ghi chú phát hành, tải lên file .aab
và gửi đi xem xét.
Kiếm tiền (Monetization)
Nếu ứng dụng của bạn có mô hình kiếm tiền (ví dụ: quảng cáo, mua hàng trong ứng dụng), hãy theo dõi hiệu quả của chúng. Nếu bạn sử dụng quảng cáo, bài viết Kiếm Tiền Từ Ứng Dụng Với Google AdMob có thể hữu ích.
7. Danh sách kiểm tra Xuất bản Google Play Store
Dưới đây là bảng tổng hợp các bước chính bạn cần thực hiện trước khi nhấn nút xuất bản:
Mục cần kiểm tra | Chi tiết / Cần làm | Trạng thái (Hoàn thành / Cần làm) |
---|---|---|
Đăng ký tài khoản Google Play Developer | Tài khoản hoạt động, đã thanh toán phí | |
Thiết lập Play App Signing | Upload key đã tạo và lưu trữ an toàn | |
Chuẩn bị Tài sản đồ họa | Icon (512×512), Feature Graphic (1024×500), Screenshots (min 2, max 8), Video (tùy chọn) | |
Xem xét Chính sách Google Play | Đọc kỹ và đảm bảo ứng dụng tuân thủ | |
Cấu hình Build Release | minifyEnabled, shrinkResources, signingConfig | |
Kiểm thử Toàn diện | Unit tests, UI tests (Espresso), Performance tests (Benchmark), trên thiết bị thật | |
Tối ưu hóa ứng dụng | Giảm kích thước, cập nhật Target API Level | |
Chuẩn bị Chính sách quyền riêng tư | URL hợp lệ nếu thu thập dữ liệu người dùng | |
Tạo Android App Bundle (.aab) | Sử dụng tính năng Generate Signed Bundle / APK | |
Thiết lập thông tin Cửa hàng | Tên, mô tả ngắn/đầy đủ, danh mục, tags | |
Hoàn thành Bảng câu hỏi xếp hạng nội dung | Khai báo chính xác đối tượng và nội dung | |
Khai báo An toàn dữ liệu | Chi tiết về cách xử lý dữ liệu người dùng | |
Thiết lập Kênh phát hành | Chọn Internal/Closed/Open/Production | |
Tải lên file .aab | Đảm bảo version Code/Name chính xác | |
Viết Ghi chú phát hành | Mô tả thay đổi trong phiên bản mới | |
Chọn Quốc gia/Khu vực phân phối | Chọn các thị trường mục tiêu | |
Bật/Tắt Managed Publishing (tùy chọn) | Kiểm soát thời điểm ứng dụng lên kệ |
Kết luận
Xuất bản ứng dụng lên Google Play Store là một cột mốc quan trọng trên con đường phát triển ứng dụng Android của bạn. Nó đòi hỏi sự cẩn thận trong từng bước, từ chuẩn bị kỹ lưỡng ứng dụng và tài sản cho đến việc điều hướng các thiết lập phức tạp trên Google Play Console và tuân thủ nghiêm ngặt các chính sách của Google.
Bằng cách đi theo danh sách kiểm tra chi tiết này, bạn sẽ giảm thiểu đáng kể rủi ro gặp phải sự cố trong quá trình xem xét và đảm bảo rằng ứng dụng của bạn được trình bày một cách tốt nhất có thể cho người dùng tiềm năng. Hãy nhớ rằng, việc xuất bản chỉ là khởi đầu. Việc theo dõi, cập nhật thường xuyên và tương tác với người dùng là chìa khoá giữ cho ứng dụng của bạn tồn tại và phát triển mạnh mẽ trên Play Store.
Chúc mừng bạn đã hoàn thành ứng dụng và sẵn sàng chia sẻ nó với thế giới! Hãy tiếp tục theo dõi series Android Developer Roadmap để khám phá những bước tiếp theo trong sự nghiệp phát triển Android của bạn.