App Review คือกระบวนการตรวจสอบแอปพลิเคชันก่อนเผยแพร่ใน App Store แต่ละแอปพลิเคชันจะผ่านการตรวจสอบเพื่อให้เป็นไปตามกฎของ Apple: ความปลอดภัย ความเป็นส่วนตัว คุณภาพอินเทอร์เฟซ และความเสถียร ตาม Apple Developer Guidelines, 2024 48 ชั่วโมง คือเวลาเฉลี่ยในการตรวจสอบหลังจากส่งคำขอ การรู้เกณฑ์การตรวจสอบช่วยให้นักพัฒนาผ่านการตรวจสอบได้ในครั้งแรก
ประเด็นสำคัญ
App Review คือกระบวนการตรวจสอบแอปพลิเคชันของ Apple ก่อนเผยแพร่ใน App Store แอปพลิเคชัน อัปเดต หรือส่วนขยายทุกตัวจะผ่านการตรวจสอบเพื่อให้เป็นไปตาม App Store Review Guidelines ซึ่งเป็นเอกสารที่มีหลายส่วนครอบคลุมความปลอดภัย ความเป็นส่วนตัว การออกแบบ มาตรฐานทางกฎหมาย และเนื้อหา
ขั้นตอนนี้จำเป็นสำหรับนักพัฒนาทุกคนในระบบนิเวศของ Apple หากไม่ผ่าน App Review แอปพลิเคชันจะไม่ปรากฏในแค็ตตาล็อก App Store ไม่พร้อมให้ดาวน์โหลด และไม่สามารถเผยแพร่ผ่าน TestFlight ได้ ข้อยกเว้นคือใบรับรอง Enterprise สำหรับการเผยแพร่ภายในองค์กร
Apple เปิดตัว App Review พร้อมกับการเปิด App Store ในปี 2008 ในตอนแรกการตรวจสอบใช้เวลา 7–14 วันและเป็นทางการน้อยกว่า ตามการศึกษาของ CNBC (2023) ในช่วง 15 ปี Apple ปฏิเสธแอปพลิเคชันมากกว่า 2 ล้าน รายการด้วยเหตุผลต่าง ๆ ในปี 2020 Apple เปิดตัวโปรแกรมตรวจสอบแบบเร่งด่วนสำหรับนักพัฒนาที่มีระดับความน่าเชื่อถือสูง
ซึ่งแตกต่างจาก Google Play ที่สามารถเผยแพร่ได้โดยไม่ต้องตรวจสอบล่วงหน้า App Store ใช้การตรวจสอบล่วงหน้า — แต่ละแอปพลิเคชันจะถูกตรวจสอบก่อนเผยแพร่ Google Play ใช้การตรวจสอบภายหลังและสแกนเนอร์อัตโนมัติ ตามการวิเคราะห์ของ Appfigures (2024) เวลาเฉลี่ยในการอนุมัติใน App Store คือ 48 ชั่วโมง เทียบกับ 4 ชั่วโมงใน Google Play ในขณะเดียวกัน อัตราการปฏิเสธใน App Store สูงกว่า 35%
หลังจากอัปโหลดบิลด์ผ่าน App Store Connect การตรวจสอบหลายขั้นตอนจะเริ่มขึ้น นักพัฒนาส่งแอปพลิเคชันเพื่อตรวจสอบ เลือกเวอร์ชันและกรอกข้อมูลเมตา Apple จัดสรรคำขอระหว่างทีมผู้ตรวจสอบตามหมวดหมู่แอปพลิเคชันและภูมิภาค
ขั้นตอนแรกดำเนินการโดยอัตโนมัติ สแกนเนอร์ของ Apple ตรวจสอบโค้ดไบนารีเพื่อหาเฟรมเวิร์กที่เป็นอันตราย การใช้ API ส่วนตัว และการปฏิบัติตามรูปแบบ App Store ระบบวิเคราะห์ข้อมูลเมตา: ชื่อ คำอธิบาย ภาพหน้าจอ และการจัดระดับอายุ การตรวจสอบอัตโนมัติใช้เวลา 5 ถึง 30 นาที
import StoreKit
func checkReviewStatus() {
let url = URL("https://api.appstoreconnect.apple.com/v1/apps/<APP_ID>/reviewSubmissions")!
var request = URLRequest(url: url)
request.setValue("Bearer <JWT_TOKEN>", forHTTPHeaderField: "Authorization")
URLSession.shared.dataTask(with: request) { data, _, _ in
guard let data = data else { return }
let status = try? JSONDecoder().decode(ReviewStatus.self, from: data)
print("Review status: \(status?.attributes.state ?? \`"unknown\`")")
}.resume()
}
หลังจากการตรวจสอบอัตโนมัติ คำขอจะส่งต่อไปยัง ผู้ตรวจสอบที่เป็นมนุษย์ ผู้ตรวจสอบจะตรวจสอบฟังก์ชันการทำงานของแอปพลิเคชัน ทดสอบสถานการณ์สำคัญ ประเมินการออกแบบตาม Human Interface Guidelines และตรวจสอบเนื้อหา ตามรายงานของ Apple (2024) การตรวจสอบด้วยตนเองใช้เวลา 40–70% ของเวลาการตรวจสอบทั้งหมด
App Store Review Guidelines คือชุดกฎที่แบ่งออกเป็น 6 หมวดหมู่หลัก: ความปลอดภัย ความเป็นส่วนตัว การออกแบบ ข้อกำหนดทางกฎหมาย เนื้อหา และเกณฑ์ทางเทคนิค แต่ละหมวดหมู่มี 5 ถึง 30 หัวข้อย่อยพร้อมข้อกำหนดเฉพาะ
| หมวดหมู่ | ข้อกำหนดหลัก | Guidelines |
|---|---|---|
| ความปลอดภัย | ไม่มีโค้ดที่เป็นอันตราย การปกป้องข้อมูล | 1.0–1.5 |
| ความเป็นส่วนตัว | การจัดการข้อมูลส่วนบุคคล การขออนุญาต | 2.0–2.5 |
| การออกแบบ | การปฏิบัติตาม HIG ความเสถียรของอินเทอร์เฟซ | 3.0–3.4 |
| กฎหมาย | การจัดระดับอายุ การพนัน เนื้อหา | 4.0–4.9 |
| เนื้อหา | ไม่มีเนื้อหาที่ไม่เหมาะสม ลิขสิทธิ์ | 5.0–5.6 |
Apple ตรวจสอบการใช้ Privacy Manifests และคำอธิบายวัตถุประสงค์การเก็บรวบรวมข้อมูลอย่างเคร่งครัด ตั้งแต่ปี 2024 แอปพลิเคชันทุกตัวต้องระบุ API ที่ใช้สำหรับการเก็บรวบรวมข้อมูลและแสดงความจำเป็น การขาด Privacy Manifest เป็นสาเหตุหนึ่งของการปฏิเสธที่พบบ่อย
แอปพลิเคชันต้องปฏิบัติตาม Human Interface Guidelines Apple ปฏิเสธแอปพลิเคชันที่มีองค์ประกอบที่ทำงานไม่ได้ ลิงก์เสีย การแสดงผลไม่ถูกต้องบนอุปกรณ์ต่าง ๆ และข้อความที่อ่านไม่ได้ ให้ความสนใจเป็นพิเศษกับการปรับให้เข้ากับ Dynamic Type และ VoiceOver
การเตรียมตัวสำหรับ App Review เริ่มต้นตั้งแต่ขั้นตอนการพัฒนา การปฏิเสธส่วนใหญ่ไม่ได้เกิดจากข้อผิดพลาดในโค้ด แต่เกิดจากการละเมิดข้อกำหนดที่เป็นทางการ: ไม่มีบัญชีทดสอบ ข้อมูลเมตาไม่สมบูรณ์ หรือการจัดระดับอายุที่ไม่ถูกต้อง ด้านล่างนี้คือรายการตรวจสอบสำหรับเตรียมการส่ง
// การตรวจสอบก่อนส่ง App Review
struct PreReviewChecklist {
let hasPrivacyManifest: Bool
let hasTestAccount: Bool
let screenshotsValid: Bool
func isReadyForReview() -> Bool {
let checks = [hasPrivacyManifest, hasTestAccount, screenshotsValid]
return checks.allSatisfy { $0 }
}
}
ใน App Store Connect คุณต้องระบุ หมวดหมู่แอปพลิเคชัน คำสำคัญ คำอธิบาย และข้อมูลติดต่อ สำหรับแอปพลิเคชันที่มีการสมัครสมาชิก คุณต้องกรอกข้อมูลราคาและระยะเวลาการสมัคร Apple แนะนำให้เพิ่ม ตัวอย่างวิดีโอ ความยาว 15–30 วินาที — ซึ่งจะเพิ่มอัตราการแปลงเป็นการติดตั้ง 20–25%
ก่อนส่งเพื่อตรวจสอบ ให้ทำการทดสอบบน อุปกรณ์จริง ที่มี iOS เวอร์ชันต่าง ๆ โปรแกรมจำลองไม่เปิดเผยปัญหาด้านประสิทธิภาพ ความร้อน และการใช้แบตเตอรี่ Apple ปฏิเสธแอปพลิเคชันที่ค้างหรือหยุดทำงานระหว่างสถานการณ์การใช้งานมาตรฐาน
หากแอปพลิเคชันของคุณมีการแปลเป็นหลายภาษา ให้ตรวจสอบความถูกต้องของ สตริงที่แปลแล้ว และการจัดรูปแบบข้อมูล Apple ปฏิเสธแอปพลิเคชันที่ส่วนหนึ่งของอินเทอร์เฟซยังคงเป็นภาษาอังกฤษเมื่อเลือกภาษาอื่น สำหรับแอปพลิเคชันที่มีเนื้อหาในสหภาพยุโรปหรือจีน ให้ตรวจสอบการปฏิบัติตามกฎหมายระดับภูมิภาค: GDPR, CCPA และข้อกำหนดการรับรองของจีน
เพื่อทำให้กระบวนการ App Review เป็นอัตโนมัติ ให้ใช้ App Store Connect API API ช่วยให้อัปโหลดบิลด์โดยทางโปรแกรม ติดตามสถานะการตรวจสอบ และรับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลง การรวมกับ CI/CD ผ่าน Fastlane หรือ GitHub Actions ช่วยลดเวลาระหว่างการคอมมิตและการส่งเพื่อตรวจสอบจากหลายชั่วโมงเหลือ 10–15 นาที
ตามสถิติ App Review ที่เผยแพร่โดย Apple ในปี 2024 5 สาเหตุคิดเป็นมากกว่า 60% ของการปฏิเสธทั้งหมด ส่วนใหญ่ไม่เกี่ยวข้องกับข้อผิดพลาดทางเทคนิค แต่เกี่ยวข้องกับการละเมิดกฎการนำเสนอและคำอธิบาย
| สาเหตุ | Guideline | สัดส่วนการปฏิเสธ |
|---|---|---|
| ข้อมูลไม่สมบูรณ์ | 3.0–3.4 | 22% |
| เก็บข้อมูลโดยไม่ได้รับความยินยอม | 2.0–2.5 | 18% |
| การค้างและข้อบกพร่อง | 1.0–1.5 | 12% |
| เนื้อหาที่ต้องชำระเงินโดยไม่มี IAP | 4.0–4.2 | 10% |
| การจัดระดับอายุไม่ถูกต้อง | 5.0–5.6 | 8% |
เมื่อถูกปฏิเสธ Apple จะส่ง จดหมายระบุสาเหตุ พร้อมลิงก์ไปยังส่วนเฉพาะของ Guidelines นักพัฒนาสามารถแก้ไขปัญหาและส่งแอปพลิเคชันอีกครั้งผ่าน App Store Connect สำหรับการชี้แจงสาเหตุการปฏิเสธ Resolution Center พร้อมให้บริการ — แชทกับผู้ตรวจสอบของ Apple
หากนักพัฒนาไม่เห็นด้วยกับการตัดสินใจของผู้ตรวจสอบ สามารถยื่นอุทธรณ์ได้ ใน Resolution Center คุณต้องอธิบายว่าเหตุใดแอปพลิเคชันจึงเป็นไปตามกฎและแนบหลักฐาน ตามรายงานของ Appfigures (2024) ประมาณ 35% ของการอุทธรณ์ สิ้นสุดด้วยการอนุมัติหลังจากการตรวจสอบอีกครั้ง
เวลา App Review มาตรฐานคือ 24–48 ชั่วโมง อย่างไรก็ตาม ในช่วงที่มีโหลดสูง — หลัง WWDC ก่อนวันหยุดปีใหม่ และในช่วงฤดูกาลอัปเดต iOS — ระยะเวลาเพิ่มขึ้นเป็น 5–7 วัน Apple เผยแพร่เวลาเฉลี่ยปัจจุบันบนหน้า App Review Status
สำหรับการแก้ไขที่สำคัญ Apple มี Expedited Review — การตรวจสอบแบบเร่งด่วนภายใน 2–6 ชั่วโมง คำขอจะถูกส่งผ่าน App Store Connect โดยระบุเหตุผล: แก้ไขช่องโหว่ที่สำคัญ กู้คืนบริการ หรือข้อผิดพลาดที่ขัดขวางกิจกรรมของผู้ใช้ คำขอเร่งด่วนเท็จอาจนำไปสู่การปฏิเสธคำขอในภายหลัง
การตรวจสอบแบบเร่งด่วนจะสมเหตุสมผลเฉพาะในสถานการณ์ที่แอปพลิเคชัน ไม่สามารถทำงานได้ หรือละเมิดกฎหมาย ตาม Apple Developer Support (2024) Expedited Review อนุมัติใน 70% ของกรณีที่มีเหตุผลที่ถูกต้อง ไม่แนะนำให้ขอการเร่งด่วนสำหรับการอัปเดตตามแผนที่มีฟีเจอร์ใหม่
คำถามที่พบบ่อย
การตรวจสอบมาตรฐานใช้เวลา 24–48 ชั่วโมง ในช่วงที่มีโหลดสูง ระยะเวลาเพิ่มขึ้นเป็น 5–7 วัน เวลาเฉลี่ยปัจจุบันเผยแพร่บนหน้า App Review Status ใน App Store Connect
ได้ ผ่านกลไก Expedited Review การตรวจสอบแบบเร่งด่วนใช้เวลา 2–6 ชั่วโมง คำขอถูกส่งใน App Store Connect พร้อมเหตุผล: ช่องโหว่สำคัญ การหยุดชะงักของบริการ หรือข้อผิดพลาดที่ขัดขวาง คำขอเท็จนำไปสู่การปฏิเสธ
แก้ไข การละเมิด ที่ระบุในจดหมายและส่งแอปพลิเคชันอีกครั้งผ่าน App Store Connect หากต้องการชี้แจงสาเหตุ ให้ใช้ Resolution Center — แชทกับผู้ตรวจสอบ Apple การตรวจสอบซ้ำไม่มีค่าใช้จ่ายเพิ่มเติม
ไม่ การตรวจสอบซ้ำ ฟรี หลังจากแก้ไขการละเมิด เพียงอัปโหลดบิลด์ใหม่หรืออัปเดตข้อมูลเมตาใน App Store Connect และส่งอีกครั้ง จำนวนครั้งไม่จำกัด
สถานะจะแสดงใน App Store Connect ใน My Apps → เลือกแอป → แท็บ App Review สถานะที่พร้อมใช้งาน: Waiting for Review, In Review, Approved, Rejected การแจ้งเตือนจะส่งไปยังอีเมลของนักพัฒนา
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ
อ่านเพิ่มเติม