App Store & Play
คืออะไร
การส่งแอปมือถือออกไปให้คนใช้จริง ไม่ใช่แค่เขียนโค้ดเสร็จแล้วจบ คุณต้องเซ็นรับรอง (sign) แพ็กเกจแอป ส่งให้ตรวจสอบ (review) แล้วจึงเผยแพร่ลงบน Apple App Store และ Google Play ร้านค้าแต่ละเจ้ามีระบบบัญชีนักพัฒนา ระบบเซ็นรับรอง ข้อมูลเมทาดาต้า (metadata — ข้อมูลอธิบายแอป) และขั้นตอนตรวจสอบเป็นของตัวเอง ฝั่ง Apple ใช้ App Store Connect ร่วมกับ provisioning profile (ไฟล์อนุญาตสิทธิ์ติดตั้ง) และ TestFlight สำหรับทดสอบรุ่นเบต้า ส่วนฝั่ง Google ใช้ Play Console ที่มีระบบเซ็นแอปอัตโนมัติและการปล่อยอัปเดตแบบทยอย (staged rollout) นี่คือ "ไมล์สุดท้าย" ที่เปลี่ยนงานที่ build เสร็จแล้วให้กลายเป็นสิ่งที่คนทั่วไปกดติดตั้งได้จริง
จุดแข็ง
- เข้าถึงผู้ใช้จำนวนมหาศาล — ร้านค้าทั้งสองแห่งคือช่องทางหลักที่ผู้ใช้นับพันล้านคนใช้ค้นหาและเชื่อถือแอป
- มีระบบเผยแพร่ ระบบชำระเงิน ระบบอัปเดต และระบบรายงานข้อขัดข้อง (crash reporting) มาให้พร้อมในตัว
- มีช่องทางเบต้า (TestFlight ของ Apple, การทดสอบแบบ internal/closed ของ Play) ให้ทดลองปล่อยแอปอย่างปลอดภัยก่อนเผยแพร่จริง
- ปล่อยอัปเดตแบบทยอย (staged rollout) พร้อมความสามารถในการหยุดรุ่นที่มีปัญหาได้ทันที
ข้อแลกเปลี่ยน
- การตรวจสอบ (review) อาจใช้เวลานาน และบางครั้งก็ถูกปฏิเสธด้วยเหตุผลด้านนโยบายหรือแนวทางปฏิบัติ
- Apple เก็บค่าธรรมเนียมสมาชิกนักพัฒนารายปี ส่วน Google เก็บครั้งเดียว และทั้งสองเจ้าหักส่วนแบ่งรายได้จากยอดขาย
- การเซ็นรับรอง (signing) ใบรับรอง (certificate) และ provisioning profile ตั้งค่ายุ่งยากและผิดพลาดง่าย
- ต้องดูแลสองไปป์ไลน์ สองชุดเมทาดาต้า และสองหน้ารายละเอียดร้านค้าแยกกัน
เมื่อไหร่ควรใช้
แอปมือถือสำหรับผู้บริโภคทุกตัวสุดท้ายแล้วต้องผ่านขั้นตอนนี้ ควรวางแผนไว้ล่วงหน้า จองชื่อแอปไว้ก่อน ตั้งค่าบัญชีนักพัฒนาทั้งสองฝั่งให้เรียบร้อย และเชื่อมระบบ build อัตโนมัติไว้ เพื่อไม่ให้แต่ละรุ่นที่ปล่อยกลายเป็นงานเร่งด่วนที่ต้องทำมือทุกครั้ง
เข้ากับ vibe coding ได้แค่ไหน
นี่คือจุดที่ AI ผู้ช่วยช่วยประหยัดความยุ่งยากได้มากที่สุด ลองให้โมเดลเขียนสคริปต์สำหรับการปล่อยรุ่นด้วยเครื่องมืออย่าง Fastlane หรือ EAS Submit ของ Expo เพื่อให้การเซ็นรับรอง การกำหนดเวอร์ชัน และการอัปโหลด รวมอยู่ในคำสั่งเดียว ให้มันช่วยสร้างข้อมูลเมทาดาต้าสำหรับร้านค้า สเปกของภาพหน้าจอ (screenshot) และเช็กลิสต์สำหรับการปล่อยรุ่น รวมถึงอธิบายเหตุผลที่ถูกปฏิเสธด้วยภาษาที่เข้าใจง่ายเมื่อเกิดเหตุการณ์นั้นขึ้น ให้ระบบอัตโนมัติจัดการส่วนที่ทำซ้ำ ๆ ไป แต่ให้คนยังคงเป็นผู้ตัดสินใจในเรื่องที่เกี่ยวกับนโยบาย
# Expo: build and submit to both stores
npx eas build --platform all
npx eas submit --platform ios
npx eas submit --platform android