เผยแพร่เกม HTML5 บน Google Play ด้วย Capacitor
จากโฟลเดอร์เกมสู่แอปบันเดิลที่เซ็นแล้ว ฟอร์มใน Play Console กฎผู้ทดสอบ 12 คนสำหรับบัญชีใหม่ และปัญหา webview ที่เราเจอกับแอปของเราเอง

การเผยแพร่เกม HTML5 บน Google Play ทำได้โดยห่อโฟลเดอร์เกมเป็นโปรเจกต์ Android เนทีฟด้วย Capacitor บิลด์ Android App Bundle ที่เซ็นแล้วใน Android Studio สร้างแอปใน Play Console ตอบฟอร์มเนื้อหา และอัปโหลดบันเดิลขึ้นแทร็กทดสอบก่อนขึ้นเวอร์ชันใช้งานจริง ถ้าบัญชีนักพัฒนาของคุณเป็นบัญชีส่วนตัวที่สร้างหลังวันที่ 13 พฤศจิกายน 2023 Google ยังกำหนดให้ทำการทดสอบแบบปิดกับผู้ทดสอบอย่างน้อย 12 คนเป็นเวลา 14 วัน ก่อนจะขอเผยแพร่เวอร์ชันใช้งานจริงได้
เราทำแบบนี้กับเกมของเราเองมาแล้ว ในเดือนตุลาคม 2026 เราแพ็ก Ricopop และ Velvet Pool ด้วย Capacitor แล้วส่งทั้งสองเกมเข้ารีวิวเวอร์ชันใช้งานจริงบน Google Play รวมถึงเกมแอ็กชัน Little Ninja Dash ด้วย คู่มือนี้รวมสิ่งที่หน้าทางการของ Capacitor, Android และ Play Console ระบุไว้ ซึ่งอ่านเมื่อวันที่ 30 ตุลาคม 2026 เข้ากับสิ่งที่บันทึกการรีลีสของเราจดไว้ กฎและข้อกำหนดเปลี่ยนได้ ควรตรวจแต่ละหน้าที่ลิงก์ไว้ก่อนส่งแอป
ก่อนเผยแพร่เกม HTML5 บน Google Play
- บัญชีนักพัฒนา Google Play โดย Google เก็บค่าลงทะเบียนครั้งเดียว 25 ดอลลาร์สหรัฐ และให้นักพัฒนาทุกคนยืนยันตัวตน บัญชีส่วนตัวต้องยืนยันการเข้าถึงอุปกรณ์ Android ผ่านแอป Play Console บนมือถือก่อนเผยแพร่ด้วย
- Node.js และ Android Studio เอกสาร Android ของ Capacitor ระบุว่าแอป Capacitor Android ตั้งค่าและจัดการผ่าน Android Studio
- เกมที่เล่นออฟไลน์ได้จากโฟลเดอร์ของตัวเอง และมี index.html อยู่ที่รูท
- ไลเซนส์ของเกม สำหรับเทมเพลตของเรา หนึ่งไลเซนส์ใช้กับผลิตภัณฑ์ปลายทางหนึ่งชิ้น และคุณนำเกมนั้นไปเผยแพร่ที่ไหนก็ได้ รวมถึง Google Play และ App Store แต่ห้ามขายต่อตัวเทมเพลตเอง ถามเราก่อนตั้งราคาหรือเพิ่มการซื้อในแอป เพราะเงื่อนไขของเราพูดถึงผู้เล่นที่เข้าถึงผลิตภัณฑ์ฟรีหรือผ่านโฆษณา
เทมเพลตของเราเป็นเกมบนเบราว์เซอร์ ทุกหน้าของแต่ละเวอร์ชันระบุว่าไม่รวมบิลด์แอปเนทีฟ ขั้นตอนด้านล่างจึงเป็นงานที่คุณทำเอง หรือสั่งให้เราทำโดยเสนอราคา
ดู Velvet Pool เทมเพลตพูลที่เราแพ็กเป็นแอป Android ด้วย
ขั้นที่ 1: ห่อโฟลเดอร์เกมด้วย Capacitor
Capacitor ต้องมี package.json โฟลเดอร์ที่เก็บไฟล์เว็บที่บิลด์แล้ว และ index.html ที่รูทของโฟลเดอร์นั้น หน้าเริ่มต้นใช้งานเตือนว่า index.html ต้องมีแท็ก head ไม่อย่างนั้นปลั๊กอินจะไม่ทำงาน เทมเพลต HTML5 ที่ดาวน์โหลดมามักมีโฟลเดอร์นี้อยู่แล้ว ของเราคือ game/
- ในโฟลเดอร์โปรเจกต์ใหม่ รัน npm i @capacitor/core และ npm i -D @capacitor/cli
- รัน npx cap init คำสั่งนี้จะถามชื่อแอป app ID (โดเมนกลับด้าน เช่น com.yourstudio.yourgame) และโฟลเดอร์เว็บ ให้ชี้ webDir ไปที่โฟลเดอร์เกมของคุณ
- รัน npm i @capacitor/android แล้วตามด้วย npx cap add android จะได้โปรเจกต์ android/
- รัน npx cap sync ทุกครั้งที่แก้ไฟล์เกม คำสั่งนี้คัดลอกไฟล์เข้าโปรเจกต์เนทีฟ
- รัน npx cap open android เพื่อเปิดโปรเจกต์ใน Android Studio
เอกสารของ Capacitor ระบุว่ารองรับ API 24 ขึ้นไป หรือ Android 7 ขึ้นไป โปรเจกต์ Android ของเราใช้ค่าขั้นต่ำนี้
สิ่งที่เราทำต่างออกไป: เราเก็บโปรเจกต์เนทีฟไว้ในเวิร์กสเปซ mobile/ แยกต่างหาก ที่คัดลอกเกมเข้าโฟลเดอร์เว็บของตัวเอง เวอร์ชันเว็บไซต์จึงไม่ถูกแตะต้อง และอะไรที่เป็นของแอปเท่านั้น เช่น โฆษณาเนทีฟ ก็อยู่ในเวิร์กสเปซนั้น
ขั้นที่ 2: บิลด์และเซ็นแอปบันเดิล
ตั้งแต่เดือนสิงหาคม 2021 แอปใหม่บน Google Play ต้องเผยแพร่เป็น Android App Bundle (AAB) ไม่ใช่ APK ใน Android Studio ให้ไปที่ Build แล้วเลือก Generate Signed Bundle/APK เลือก Android App Bundle และสร้างหรือเลือก keystore
keystore นั้นเก็บ upload key ของคุณ หน้าการเซ็นแอปของ Google อธิบายว่าด้วย Play App Signing ซึ่งแอปใหม่ต้องตั้งค่าตั้งแต่การเผยแพร่ครั้งแรก Google จะเก็บคีย์เซ็นแอปไว้ และคุณเซ็นทุกการอัปโหลดด้วย upload key ให้เก็บ upload key เป็นความลับ ใช้รหัสผ่านที่แข็งแรง และเก็บ keystore ไว้ในที่ปลอดภัย ถ้าหายหรือรั่วไหล Play Console ให้คุณขอรีเซ็ต upload key ได้
- Target API level: ตั้งแต่ 31 สิงหาคม 2026 แอปใหม่และอัปเดตต้องตั้งเป้าที่ Android 16 (API level 36) ขึ้นไป ตรวจค่า target ใน android/app/build.gradle
- Version code: เพิ่มค่าก่อนอัปโหลดทุกครั้ง ทุกบันเดิลที่อัปโหลดจะใช้ version code ไปแล้ว เราจึงดูเลขสูงสุดใน Play Console ก่อนบิลด์ทุกครั้ง
- บิลด์ release เท่านั้น: บันเดิลที่ส่งขึ้นเวอร์ชันใช้งานจริงต้องไม่มีเมนูดีบัก ID โฆษณาทดสอบ หรือทางลัดสำหรับนักพัฒนา
อะไรพังใน webview และเราแก้อย่างไร
เกมที่รันในเบราว์เซอร์ได้ดีอาจทำงานต่างไปเมื่ออยู่ในแอป นี่คือปัญหาที่บันทึกการรีลีสของเราจดไว้ พร้อมวิธีแก้ตามเอกสารถ้ามี
ปุ่มย้อนกลับของ Android
ปลั๊กอิน App ของ Capacitor มีอีเวนต์ backButton เอกสารระบุว่าการดักฟังอีเวนต์นี้จะปิดพฤติกรรมปกติของปุ่มย้อนกลับ คุณจึงกำหนดเองได้ว่าปุ่มนี้ทำอะไร และมี App.exitApp() ไว้ปิดแอป ใน Velvet Pool เราให้ปุ่มย้อนกลับเปิดเมนูหยุดชั่วคราวแทนการปิดเกม
หยุดชั่วคราวและเล่นต่อ
ปลั๊กอินเดียวกันส่งอีเวนต์ appStateChange, pause และ resume ใช้อีเวนต์เหล่านี้เพื่อหยุดเกม ตัวจับเวลา และโฆษณาที่กำลังเล่นเมื่อผู้เล่นออกจากแอป แล้วกลับมาเล่นต่อได้อย่างราบรื่น
ทางลัดดีบักบน localhost
ภายในแอป Capacitor ให้บริการเกมจากที่อยู่ภายในเครื่อง ถ้าเกมของคุณเปิดเครื่องมือดีบักเมื่อรันบน localhost เครื่องมือเหล่านั้นก็จะเปิดในแอปด้วย สคริปต์บิลด์ของเราบังคับปิดแฟล็กเหล่านั้น และไม่ยอมบิลด์ถ้าปิดไม่ได้
โฆษณา
เราไม่ใช้โค้ดโฆษณาของเว็บไซต์ในแอป บน Android เราใช้ AdMob SDK แบบเนทีฟผ่านปลั๊กอิน Capacitor ใช้หน่วยโฆษณาเดโมของ Google ระหว่างทดสอบ และใช้หน่วยโฆษณาของแอปเองเฉพาะในบิลด์ใช้งานจริง
เลย์เอาต์และการบันทึก
บนอีมูเลเตอร์ เราเจอปุ่มถูกตัดในแนวนอน และคำยาวๆ ขึ้นบรรทัดใหม่ผิดที่ ซึ่งเวอร์ชันเบราว์เซอร์ไม่เป็น ทดสอบทุกหน้าจอทั้งสองแนว และตรวจว่าความคืบหน้ายังอยู่หลังปิดแล้วเปิดแอปใหม่
ดู Ricopop อีกเทมเพลตที่เราแพ็กลง Google Play
ขั้นที่ 3: ตั้งค่า Play Console และหน้าร้าน
สร้างแอปใน Play Console แล้วไล่ทำส่วนเนื้อหาแอปทีละข้อ ฟอร์มที่เรากรอกสำหรับแต่ละเกมได้แก่ นโยบายความเป็นส่วนตัว การเข้าถึงแอป โฆษณา การจัดประเภทเนื้อหา กลุ่มเป้าหมาย ความปลอดภัยของข้อมูล รหัสโฆษณา และการแจ้งเรื่องภาครัฐ การเงิน และสุขภาพ
- การจัดประเภทเนื้อหา: Google ระบุว่าทุกแอปต้องมีการจัดประเภท IARC และแอปที่ไม่มีจะถูกนำออก คุณได้มาโดยตอบแบบสอบถามตามจริง
- ความปลอดภัยของข้อมูล: ทุกแอปต้องกรอก แม้แอปที่ไม่เก็บข้อมูลเลย ต้องสะท้อนข้อมูลที่ SDK ของบุคคลที่สามเก็บ เช่น SDK โฆษณา และต้องมีลิงก์นโยบายความเป็นส่วนตัว
- กลุ่มเป้าหมาย: ตอบตามผู้เล่นที่คุณตั้งใจจะเข้าถึงจริงๆ การจัดประเภทกับกลุ่มเป้าหมายเป็นคำตอบแยกกัน
ไฟล์สำหรับหน้าร้าน
- ไอคอนแอป: 512 x 512 พิกเซล PNG 32 บิต ไม่เกิน 1024 KB
- กราฟิกเด่น: 1024 x 500 พิกเซล JPEG หรือ PNG 24 บิตแบบไม่มีอัลฟา
- ภาพหน้าจอ: อย่างน้อยสองภาพ ไม่เกินแปดภาพต่อประเภทอุปกรณ์ สำหรับเกม Google แนะนำอย่างน้อยสามภาพแนวนอน 16:9 (อย่างน้อย 1920 x 1080) หรือแนวตั้ง 9:16 (อย่างน้อย 1080 x 1920) ที่แสดงการเล่นจริง
- คำอธิบายสั้น: ไม่เกิน 80 ตัวอักษร
ขั้นที่ 4: ทดสอบ แล้วขึ้นเวอร์ชันใช้งานจริง
ขั้นตอนของเราเริ่มจากการทดสอบภายในก่อน: ติดตั้งแอปจาก Play ด้วยบัญชีจริงแล้วเล่นก่อนทำอย่างอื่น จากนั้นจึงโปรโมตรีลีสขึ้นเวอร์ชันใช้งานจริง ซึ่งจะผ่านการรีวิวของ Google
กฎสำหรับบัญชีส่วนตัวใหม่
Play Console Help ของ Google ระบุว่าบัญชีนักพัฒนาส่วนตัวที่สร้างหลังวันที่ 13 พฤศจิกายน 2023 ต้องทำการทดสอบแบบปิดกับผู้ทดสอบอย่างน้อย 12 คน ที่เข้าร่วมต่อเนื่องอย่างน้อย 14 วัน หลังจากนั้นจึงขอสิทธิ์เวอร์ชันใช้งานจริงจากแดชบอร์ด และตอบคำถามเกี่ยวกับการทดสอบแบบปิด ตัวแอป และความพร้อมสำหรับใช้งานจริง ให้เผื่อสองสัปดาห์นี้ไว้ในวันเปิดตัว
เวลารายงานลูกค้า ให้แยกสถานะให้ชัด: อัปโหลดขึ้นแทร็กทดสอบ ส่งรีวิว อนุมัติ และเผยแพร่สาธารณะบน Google Play เป็นสี่ช่วงเวลาที่ต่างกัน บันทึกการรีลีสของเราจดวันส่ง ไม่ใช่วันอนุมัติ คู่มือนี้ก็เช่นกัน
เทมเพลตของเรามีอะไรบ้าง และส่วนที่เราทำแทนคุณได้
ทุกเทมเพลตมาพร้อมโฟลเดอร์เกมที่พร้อมโฮสต์ ซอร์สโค้ดที่อ่านง่าย คู่มือ และซัพพอร์ต 6 เดือน หรือ 12 เดือนถ้าซื้อส่วนขยาย ซัพพอร์ตครอบคลุมการติดตั้งและใช้ไฟล์ที่ให้ไป และการแก้บั๊กที่ทำซ้ำได้ การแพ็กสำหรับ Android โฆษณาเนทีฟ การเชื่อม SDK และการเผยแพร่บนสโตร์เป็นบริการแยก
ถ้าไม่อยากจัดการ Android Studio เอง ส่งเทมเพลต แผนบัญชีสโตร์ และกำหนดส่งมาให้เรา เราจะตอบเรื่องขอบเขต ราคา และระยะเวลา ก่อนเริ่มงาน เราไม่ได้เผยแพร่ราคางานสั่งทำ
ขอใบเสนอราคาแพ็กเกมของคุณลง Google Play
คำถามที่พบบ่อย
เผยแพร่เกม HTML5 บน Google Play มีค่าใช้จ่ายเท่าไร
Google เก็บค่าลงทะเบียนบัญชีนักพัฒนาครั้งเดียว 25 ดอลลาร์สหรัฐ ค่าใช้จ่ายอื่นคือไลเซนส์เกม ภาพสำหรับหน้าร้าน และเวลาของคุณ หรือค่าบริการตามใบเสนอราคาถ้ามีคนอื่นแพ็กให้
ต้องมีผู้ทดสอบ 12 คนจึงจะเผยแพร่บน Google Play ได้ใช่ไหม
เฉพาะกรณีที่บัญชีของคุณเป็นบัญชีนักพัฒนาส่วนตัวที่สร้างหลังวันที่ 13 พฤศจิกายน 2023 บัญชีเหล่านี้ต้องทดสอบแบบปิดกับผู้ทดสอบอย่างน้อย 12 คนที่เข้าร่วมอย่างน้อย 14 วัน ก่อนขอสิทธิ์เวอร์ชันใช้งานจริง
APK หรือ AAB
AAB แอปใหม่บน Google Play ต้องใช้ Android App Bundle ตั้งแต่เดือนสิงหาคม 2021 ส่วน APK ยังมีประโยชน์สำหรับติดตั้งบิลด์ลงมือถือทดสอบของคุณโดยตรง
ให้แอปโหลดเกมจากเว็บไซต์ของฉันเลยได้ไหม
เราไม่ทำแบบนั้น เราใส่ไฟล์เกมไว้ในแอป เพื่อให้เล่นออฟไลน์ได้และไม่ต้องพึ่งเว็บไซต์ นโยบายสแปมของ Google ก็มุ่งไปที่แอปที่มีจุดประสงค์หลักคือแสดงเว็บไซต์ผ่าน webview โดยไม่ได้รับอนุญาตจากเจ้าของ
เทมเพลตของคุณพร้อมลง Google Play ทันทีเลยไหม
ไม่ เทมเพลตเป็นเกมบนเบราว์เซอร์ที่พร้อมโฮสต์ และหน้าสินค้าระบุว่าไม่รวมบิลด์แอปเนทีฟ คุณแพ็กเองได้ตามขั้นตอนข้างต้น หรือสั่งให้เราทำโดยเสนอราคา
