Nếu bất kỳ phần nào của ứng dụng nằm sau màn hình đăng nhập, tài khoản demo cho App Store review của bạn phải hoạt động ngay lần đầu Apple thử. App Review Guidelines của Apple yêu cầu thông tin tài khoản demo, hoặc một chế độ demo đầy đủ tính năng, và backend phải hoạt động trong suốt quá trình xét duyệt. Trên thực tế, điều đó nghĩa là một tài khoản riêng không bao giờ hết hạn, đã có sẵn dữ liệu thực tế, truy cập được mọi tính năng trả phí và theo vai trò, và không cần mã đăng nhập mà chỉ bạn mới thấy được. Bài viết này hướng dẫn cách tạo tài khoản đó, cách viết ghi chú đi kèm, và những gì các nhà phát triển khác đã gặp phải khi nó không hoạt động.
Apple yêu cầu gì đối với tài khoản demo cho App Store review?
Apple yêu cầu một tên đăng nhập và mật khẩu demo hoạt động được bất cứ khi nào ứng dụng cần đăng nhập, nhập trong mục App Review Information trên App Store Connect, và tài khoản không được hết hạn. Guideline 2.1(a) cũng yêu cầu backend của bạn phải chạy trong suốt quá trình xét duyệt.
Nguyên văn guideline 2.1(a) là: "cung cấp thông tin tài khoản demo (và bật dịch vụ back-end của bạn!) nếu ứng dụng có đăng nhập." Tài liệu tham khảo thông tin phiên bản nền tảng của App Store Connect bổ sung rằng "tài khoản demo được dùng trong quá trình App Review và không được hết hạn", rằng "thông tin chi tiết cho các tài khoản bổ sung nên được ghi trong trường Notes", và Notes "có thể chứa tối đa 4000 byte." Các trường Sign-in required áp dụng "nếu ứng dụng của bạn yêu cầu đăng nhập để sử dụng."
Trang trợ giúp về cung cấp thông tin cho xét duyệt đầy đủ của Apple cụ thể hơn: "Thông tin đăng nhập hết hạn hoặc bị thay đổi trước khi xét duyệt bắt đầu có thể khiến bản nộp bị từ chối." Nếu ứng dụng có nhiều loại tài khoản, chẳng hạn admin và người dùng thông thường, hãy thêm thông tin đăng nhập cho từng loại trong Notes. Nếu bạn bán gói đăng ký tự động gia hạn, hãy "cung cấp một tài khoản demo có gói đăng ký đã hết hạn để có thể xét duyệt toàn bộ luồng mua."
Thiết lập tài khoản demo cho App Review như thế nào?
Hãy thiết lập tài khoản demo bằng cách tạo một tài khoản production riêng, loại nó khỏi mọi tác vụ hết hạn và dọn dẹp, nạp dữ liệu thực tế vào, và đăng nhập thử trên đúng bản build phát hành trước khi nộp.
- Tạo một tài khoản production riêng, chẳng hạn
appreview@yourdomain.com. Đừng dùng lại tài khoản cá nhân hay tài khoản QA mà ai đó có thể thay đổi. - Loại tài khoản này khỏi mọi tác vụ dọn dẹp: xoay vòng mật khẩu, xóa tài khoản không hoạt động, hết hạn dùng thử và các quy tắc chống gian lận.
- Nạp nội dung thực tế để không màn hình nào trống. Người duyệt đánh giá mức độ hoàn chỉnh dựa trên những gì họ nhìn thấy.
- Đặt trạng thái gói đăng ký theo hướng dẫn của Apple. Nếu bạn bán gói đăng ký, tài khoản nên có gói đăng ký đã hết hạn để paywall và luồng mua hiển thị.
- Đặt tài khoản ở khu vực mà mọi tính năng đều hoạt động, hoặc mô tả sự khác biệt theo khu vực trong Notes.
- Đăng nhập trên một thiết bị sạch bằng đúng bản build phát hành bạn sắp nộp, rồi thử lần lượt từng tính năng bạn nhắc đến trong Notes.
- Không động đến mật khẩu nữa cho đến khi xét duyệt kết thúc.
Nếu ứng dụng dùng mã đăng nhập, OTP qua SMS, magic link hoặc SSO thì sao?
Nếu đăng nhập cần mã dùng một lần, hãy ghi một mã cố định cho tài khoản xét duyệt vào Notes trước khi nộp. Apple cảnh báo rằng nếu không có mã, "có thể cần một cuộc gọi để tiếp tục xét duyệt", và các cuộc gọi đó "thường hoàn tất trong vòng ba đến năm ngày làm việc."
Với magic link gửi qua email hoặc mã dùng một lần qua SMS, hãy thiết lập tài khoản xét duyệt để nó chấp nhận một mã hoặc mật khẩu cố định, và ghi mã đó vào Notes. Nếu bạn dùng dịch vụ đăng nhập một lần (SSO) của bên thứ ba, App Store Connect cũng yêu cầu bạn "cung cấp thông tin đăng nhập tài khoản demo cho dịch vụ đó".
Nếu bạn không thể chia sẻ tài khoản demo vì lý do pháp lý hoặc bảo mật, điều thường gặp ở ứng dụng ngân hàng, y tế và các lĩnh vực được quản lý chặt chẽ khác, guideline 2.1(a) cho phép dùng "chế độ demo tích hợp sẵn thay cho tài khoản demo khi được Apple chấp thuận trước." Chế độ demo đó phải thể hiện "đầy đủ tính năng và chức năng của ứng dụng" bằng dữ liệu minh họa, chứ không phải một bản giới thiệu rút gọn.
Nên cung cấp những tài khoản nào cho App Review?
Hãy cung cấp cho App Review một tài khoản không hết hạn cho mỗi loại tài khoản trong ứng dụng, cùng với mọi thứ cần thiết để vượt qua mã xác thực, paywall và yêu cầu phần cứng. Bảng dưới đây cho biết mỗi trường hợp cần ghi ở đâu.
| Ứng dụng của bạn có | Cung cấp cho App Review | Ghi ở đâu |
|---|---|---|
| Một loại tài khoản | Một tài khoản demo không hết hạn | Trường tên đăng nhập và mật khẩu |
| Vai trò admin và thành viên | Mỗi vai trò một tài khoản | Tài khoản chính trong các trường, tài khoản phụ trong Notes |
| Gói đăng ký tự động gia hạn | Một tài khoản có gói đăng ký đã hết hạn | Các trường, kèm ghi chú về vị trí paywall |
| Mã đăng nhập hoặc magic link | Một mã cố định mà tài khoản xét duyệt chấp nhận | Notes |
| Phần cứng đặc thù hoặc môi trường khó tái tạo | Video demo, hoặc chính phần cứng nếu Apple yêu cầu | Notes |
| Dữ liệu không được phép chia sẻ theo luật | Chế độ demo được Apple chấp thuận trước | Notes giải thích cách vào chế độ đó |
Ghi chú xét duyệt cho tài khoản demo nên viết gì?
Ghi chú xét duyệt tốt cần nêu ý tưởng của ứng dụng, mọi tài khoản đăng nhập, mã đăng nhập, cách đến paywall, vị trí của từng tính năng, các khác biệt theo khu vực và những thiết bị bạn đã thử. Dưới đây là ví dụ cho một ứng dụng giả định theo dõi thói quen theo nhóm, dùng mã đăng nhập gửi qua email và có gói đăng ký Pro.
CONCEPT: Team habit tracker. Coaches create groups; members log daily habits.
Pro subscription (monthly/annual) unlocks progress reports.
ACCOUNTS (non-expiring, pre-filled with 30 days of data):
- Member: review-member@example.com (in the username/password fields)
- Coach: review-coach@example.com / password: [shared here]
- Deletion test: review-delete@example.com / password: [shared here]
LOGIN CODE: The app emails a 6-digit code. For these review
accounts, enter 246810.
SUBSCRIPTION: The member account's subscription has expired.
Tap Reports > Upgrade to see the full purchase flow.
WHERE TO LOOK: Groups tab (coach) > Create group. Today tab (member)
> Log habit. Settings > Account > Delete account.
REGIONS: All features work the same in every storefront.
TESTED ON: iPhone 15 (iOS 26), iPad Air (iPadOS 26).
SERVICES: Supabase (auth/data), RevenueCat (subscriptions).Hãy viết ngắn gọn và thiết thực. Với các bản cập nhật, trang trợ giúp của Apple khuyên bạn "mô tả những gì đã thay đổi, và nơi người duyệt có thể tìm thấy nội dung hoặc tính năng mới quan trọng." Guideline 2.3.1(a) yêu cầu tính năng mới phải được "mô tả cụ thể" và cảnh báo rằng "mô tả chung chung sẽ bị từ chối." Câu chữ trong guideline thay đổi nhiều lần mỗi năm, vì vậy hãy đọc bản tóm tắt của chúng tôi về những thay đổi của App Review Guidelines tháng 10/2026 trước khi nộp.
Vì sao tài khoản demo không đăng nhập được khi xét duyệt? Các trường hợp thực tế
Theo các báo cáo công khai, đăng nhập demo thường thất bại vì một trong hai lý do: một lớp xác thực thứ hai mà người duyệt không nhận được, hoặc một tài khoản hoạt động bình thường với nhà phát triển nhưng báo lỗi trên thiết bị của Apple. Hai chủ đề trên Apple Developer Forums cho thấy cả hai trường hợp.
Xác thực hai lớp qua SMS ở một tính năng quan trọng. Một nhà phát triển trên Apple Developer Forums cho biết ứng dụng của họ "liên tục bị từ chối" vì việc chỉnh sửa hồ sơ yêu cầu mã gửi qua tin nhắn đến một số di động Mỹ. Họ giải thích rằng "vì chúng tôi không có số điện thoại của người duyệt... người duyệt không nhận được mã xác thực." Các nhà phát triển khác trong chủ đề mô tả cách khắc phục: một người đã sửa backend "để tài khoản thử nghiệm luôn nhận cùng một mã 2FA" và ghi mã đó trong phần ghi chú, người khác liên kết một tài khoản production với số điện thoại ảo và cấp cho Apple quyền truy cập số đó.
Thông tin đăng nhập hoạt động ở mọi nơi trừ khi xét duyệt. Một nhà phát triển React Native và Expo dùng xác thực email và mật khẩu của Supabase báo cáo bị từ chối nhiều lần. Ảnh chụp màn hình của Apple cho thấy đúng email cùng lỗi "Invalid login credentials", trong khi đăng nhập vẫn hoạt động từ thiết bị của nhà phát triển, Postman và client Supabase, không có MFA, giới hạn tần suất hay chặn theo vị trí địa lý. Chủ đề này chưa có nguyên nhân được xác nhận. Nhà phát triển đang cân nhắc thêm chế độ demo, nhưng theo guideline 2.1(a), cách đó cần Apple chấp thuận trước.
Điểm chung của các trường hợp này: trải nghiệm của người duyệt là bài kiểm tra duy nhất có giá trị. Một mã cố định ghi trong Notes giải quyết vấn đề lớp xác thực thứ hai. Với vấn đề "máy tôi vẫn chạy được", bạn cần đăng nhập trên bản build phát hành, trên thiết bị sạch, với môi trường production, rồi để yên tài khoản đó.
Cần kiểm tra gì trước khi nộp kèm tài khoản demo?
Trước khi nộp, hãy xác nhận đăng nhập demo hoạt động trên bản build phát hành, mọi vai trò và mã đều có trong Notes, và không có gì sẽ làm tài khoản hết hạn, đổi mật khẩu hay bị xóa trong lúc xét duyệt.
- Đã đăng nhập vào bản build phát hành trên thiết bị sạch trong vòng một giờ qua
- Backend, nhà cung cấp xác thực và dịch vụ email hoặc SMS đều đang hoạt động và không giới hạn tần suất với tài khoản này
- Tài khoản được loại khỏi các tác vụ hết hạn, dọn dẹp và xoay vòng mật khẩu
- Mỗi vai trò có tài khoản đăng nhập riêng trong Notes
- Trạng thái gói đăng ký cho thấy được luồng mua
- Đã có sẵn một tài khoản riêng để thử xóa tài khoản
- Mã đăng nhập hoặc cách bỏ qua đã được ghi trong Notes
- Số điện thoại liên hệ ở định dạng quốc tế có dấu cộng (+), và có người sẽ nghe máy
Theo trang App Review của Apple, "trung bình, hơn 40% các vấn đề chưa được giải quyết liên quan đến guideline 2.1: App Completeness," bao gồm cả thông tin không đầy đủ. Đăng nhập demo bị lỗi là một trong những lỗi dễ phòng tránh nhất trong số đó. Để kiểm tra phần còn lại của bản build, hãy dùng kế hoạch kiểm thử bản build phát hành cho lỗi từ chối 2.1 của chúng tôi.
Phải làm gì nếu App Review vẫn không đăng nhập được?
Nếu App Review không đăng nhập được, hãy sửa tài khoản, kiểm tra lại trên bản build phát hành, cập nhật App Review Information và trả lời trong App Store Connect, nêu chính xác những gì bạn đã thay đổi. App Review Information "có thể được chỉnh sửa bất cứ lúc nào."
Hãy đọc kỹ thông báo từ chối. Nguyên nhân thường là một sai lệch đơn giản: mật khẩu đã bị đổi, phiên đăng nhập hết hạn, hoặc người duyệt ở khu vực mà backend của bạn chặn. Hướng dẫn biến thông báo xét duyệt thành bản sửa lỗi của chúng tôi hướng dẫn chi tiết cách trả lời. Nếu bạn muốn giao lại phần chuẩn bị xét duyệt, dịch vụ nộp ứng dụng lên App Store của chúng tôi sẽ chuẩn bị hồ sơ xét duyệt và cùng bạn xử lý phản hồi từ chối, với giá $599 cho cả hai store (phí tài khoản nhà phát triển tính riêng).
Câu hỏi thường gặp
Apple có cần tài khoản demo nếu ứng dụng của tôi có chức năng đăng ký không?
Có, nếu ứng dụng cần đăng nhập để sử dụng các tính năng. Guideline 2.1(a) yêu cầu thông tin tài khoản demo bất cứ khi nào ứng dụng có đăng nhập, và các trường Sign-in required của App Store Connect áp dụng nếu ứng dụng yêu cầu đăng nhập để sử dụng. Ngay cả khi người duyệt có thể tự đăng ký, hãy cung cấp cho họ một tài khoản có sẵn dữ liệu, để họ không phải xác minh email hay số điện thoại hoặc gặp các màn hình trống.
Tôi có thể gửi video demo cho App Review thay vì tài khoản demo không?
Thường là không với các tính năng yêu cầu đăng nhập. Phương án thay thế tài khoản demo mà Apple chấp nhận là chế độ demo tích hợp sẵn, cần được Apple chấp thuận trước và phải thể hiện đầy đủ tính năng của ứng dụng bằng dữ liệu minh họa. Apple có nói bạn nên sẵn sàng cung cấp video demo hoặc phần cứng khi tính năng cần phần cứng đặc thù hoặc môi trường khó tái tạo. Video chỉ bổ trợ cho tài khoản demo, không thay thế được nó.
Có nên tắt xác thực hai lớp cho tài khoản xét duyệt App Store không?
Hãy tắt lớp xác thực thứ hai cho riêng tài khoản đó, hoặc cho nó chấp nhận một mã cố định, và ghi mã vào Notes. Apple cho biết nếu cần mã xác thực mà không được cung cấp, có thể cần một cuộc gọi, thường mất ba đến năm ngày làm việc. Sau khi được duyệt, hãy đổi mã hoặc tắt cơ chế bỏ qua, và chỉ áp dụng nó cho tài khoản xét duyệt.
Tôi có thể đổi mật khẩu tài khoản demo sau khi ứng dụng được duyệt không?
Có thể, nhưng rủi ro. App Review dùng cùng thông tin này cho các bản cập nhật sau, và Apple cho biết thông tin đăng nhập hết hạn hoặc bị thay đổi trước khi xét duyệt bắt đầu có thể khiến bản nộp bị từ chối. Nếu bạn đổi mật khẩu, hãy cập nhật App Review Information trước. App Store Connect cho biết thông tin này có thể được chỉnh sửa bất cứ lúc nào, kể cả trên phiên bản đã được duyệt thông qua nút Edit.
Tôi ghi tài khoản demo thứ hai ở đâu trong App Store Connect?
Ghi tài khoản chính vào các trường tên đăng nhập và mật khẩu của Sign-in required, còn các tài khoản khác ghi vào trường Notes trong App Review Information, kèm nhãn theo vai trò (ví dụ admin, thành viên, thử xóa tài khoản). App Store Connect cho biết thông tin các tài khoản bổ sung nên được ghi trong Notes, vốn chứa tối đa 4.000 byte, vì vậy hãy viết mỗi mục thật ngắn gọn.
Nguồn & tài liệu tham khảo
Chính sách có thể thay đổi. Hãy kiểm tra tài liệu chính thức trước khi nộp.
- App Review Guidelines (Hướng dẫn xét duyệt ứng dụng) ↗Đã kiểm tra 31 thg 10, 2026
- Cung cấp thông tin để xét duyệt đầy đủ – Trợ giúp App Review ↗Đã kiểm tra 31 thg 10, 2026
- Thông tin phiên bản nền tảng – Trợ giúp App Store Connect ↗Đã kiểm tra 31 thg 10, 2026
- App Review – Apple Developer ↗Đã kiểm tra 31 thg 10, 2026
- Ứng dụng bị từ chối do xác thực hai lớp – Apple Developer Forums ↗Đã kiểm tra 31 thg 10, 2026
- Bị App Review từ chối — Tài khoản demo không đăng nhập được dù thông tin đăng nhập đúng (Supabase Auth) – Apple Developer Forums ↗Đã kiểm tra 31 thg 10, 2026
Cùng đưa ứng dụng của bạn về đích.
Một cuộc gọi tập trung để tìm ra điều gì đang ngăn ứng dụng của bạn lên store.
Đặt lịch gọi ↗

