Android App Bundle เป็นรูปแบบการเผยแพร่ที่มีโค้ดและทรัพยากรที่คอมไพล์แล้วทั้งหมดของแอป และเลื่อนการสร้างและ Signing APK ไปยัง Google Play
Google Play ใช้ App Bundle ของคุณเพื่อสร้างและให้บริการ APK ที่เพิ่มประสิทธิภาพสำหรับการกำหนดค่าอุปกรณ์แต่ละรายการ ดังนั้นระบบจะดาวน์โหลดเฉพาะโค้ดและทรัพยากรที่จำเป็นสำหรับอุปกรณ์หนึ่งๆ เพื่อเรียกใช้แอปของคุณ คุณจึงไม่ต้องสร้าง ลงนาม และจัดการ APK หลายรายการเพื่อเพิ่มประสิทธิภาพการรองรับอุปกรณ์ต่างๆ อีกต่อไป และผู้ใช้จะดาวน์โหลดไฟล์ที่มีขนาดเล็กลงและเพิ่มประสิทธิภาพมากขึ้น
โปรเจ็กต์แอปส่วนใหญ่ไม่จําเป็นต้องทําอะไรมากนักเพื่อสร้าง App Bundle ที่รองรับการแสดง APK ที่เพิ่มประสิทธิภาพแล้ว หากคุณจัดระเบียบโค้ดและทรัพยากรของแอปตามแบบแผนที่กำหนดไว้แล้ว สร้าง Android App Bundle ที่ลงนามโดยใช้ Android Studio หรือใช้บรรทัดคำสั่ง และอัปโหลดไปยัง Google Play การแสดง APK ที่เพิ่มประสิทธิภาพจะกลายเป็นประโยชน์โดยอัตโนมัติ
เมื่อใช้รูปแบบ App Bundle เพื่อเผยแพร่แอป คุณยังเลือกใช้ประโยชน์จากการนำส่งฟีเจอร์ Play ได้ด้วย ซึ่งจะช่วยให้คุณเพิ่มโมดูลฟีเจอร์ลงในโปรเจ็กต์แอปได้ โมดูลเหล่านี้มีฟีเจอร์และทรัพยากรที่รวมอยู่ในแอปตามเงื่อนไขที่คุณระบุเท่านั้น หรือจะพร้อมให้ดาวน์โหลดในภายหลังเมื่อรันไทม์โดยใช้ไลบรารี Play Core ก็ได้
นักพัฒนาเกมที่เผยแพร่แอปด้วย App Bundle สามารถใช้ Play Asset Delivery ซึ่งเป็นโซลูชันของ Google Play สำหรับการนำส่งชิ้นงานเกมจำนวนมากที่มอบวิธีการนำส่งที่ยืดหยุ่นและประสิทธิภาพสูงให้แก่นักพัฒนาแอป
ดูภาพรวมของเหตุผลที่ควรเผยแพร่แอปโดยใช้ Android App Bundle ได้จากวิดีโอต่อไปนี้
ข้อจำกัดด้านขนาดการดาวน์โหลดที่บีบอัด
การเผยแพร่ด้วย Android App Bundle จะช่วยให้ผู้ใช้ติดตั้งแอปของคุณได้ด้วยการดาวน์โหลดที่มีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้และเพิ่มขนาดการดาวน์โหลดที่บีบอัด กล่าวคือ เมื่อผู้ใช้ดาวน์โหลดแอปของคุณ ขนาดรวมของ APK ที่บีบอัดซึ่งจําเป็นต่อการติดตั้งแอป (เช่น APK พื้นฐาน + APK การกําหนดค่า) ต้องไม่เกิน 4 GB การดาวน์โหลดที่ตามมา เช่น การดาวน์โหลดโมดูลฟีเจอร์ (และ APK การกำหนดค่า) ตามคำขอ จะต้องเป็นไปตามข้อจำกัดด้านขนาดการดาวน์โหลดที่บีบอัดนี้ด้วย Asset Pack จะไม่นับรวมในขีดจำกัดนี้ แต่จะมีข้อจำกัดด้านขนาดอื่นๆ
หาก Play Console พบว่าการดาวน์โหลดที่เป็นไปได้ของแอปหรือฟีเจอร์แบบออนดีมานด์มีขนาดใหญ่เกินขีดจำกัดขนาดสูงสุด คุณจะได้รับข้อผิดพลาด
โปรดทราบว่า Android App Bundle ไม่รองรับไฟล์สำหรับขยายของ APK (*.obb
) ดังนั้น หากคุณพบข้อผิดพลาดนี้เมื่อเผยแพร่ App Bundle ให้ใช้แหล่งข้อมูลอย่างใดอย่างหนึ่งต่อไปนี้เพื่อลดขนาดการดาวน์โหลด APK ที่บีบอัด
- ตรวจสอบว่าคุณได้เปิดใช้ APK การกำหนดค่าทั้งหมดโดยตั้งค่า
enableSplit = true
สำหรับ APK การกำหนดค่าแต่ละประเภท วิธีนี้ช่วยให้มั่นใจได้ว่าผู้ใช้จะดาวน์โหลดเฉพาะโค้ดและทรัพยากรที่จำเป็นต่อการใช้งานแอปในอุปกรณ์ของตน - อย่าลืมลดขนาดแอปโดยนำโค้ดและทรัพยากรที่ไม่ได้ใช้งานออก
- ทำตามแนวทางปฏิบัติแนะนำเพื่อลดขนาดแอปให้น้อยลง
- ลองแปลงฟีเจอร์ที่ผู้ใช้บางรายใช้ไปเป็นโมดูลฟีเจอร์ที่แอปจะดาวน์โหลดในภายหลังได้ตามคําขอ โปรดทราบว่าวิธีนี้อาจต้องมีการปรับโครงสร้างแอปบางส่วน ดังนั้นโปรดลองใช้คำแนะนำอื่นๆ ที่อธิบายไว้ก่อน
ปัจจัยพิจารณาอื่นๆ
ต่อไปนี้เป็นปัญหาที่ทราบเมื่อสร้างหรือแสดงแอปด้วย Android App Bundle หากพบปัญหาที่ไม่ได้อธิบายไว้ที่นี่ โปรดรายงานข้อบกพร่อง
- การติดตั้งแอปที่โหลดจากแหล่งที่ไม่รู้จักบางส่วน ซึ่งก็คือแอปที่ไม่ได้ติดตั้งโดยใช้ Google Play Store และไม่มี APK แบบแยกที่จำเป็นอย่างน้อย 1 รายการ จะดำเนินการไม่สำเร็จในอุปกรณ์ที่ผ่านการรับรองจาก Google ทั้งหมดและอุปกรณ์ที่ใช้ Android 10 (API ระดับ 29) ขึ้นไป เมื่อดาวน์โหลดแอปผ่าน Google Play Store ทาง Google จะตรวจสอบว่าได้ติดตั้งคอมโพเนนต์ที่จำเป็นทั้งหมดของแอปแล้ว
หากคุณใช้เครื่องมือที่แก้ไขตารางทรัพยากรแบบไดนามิก APK ที่สร้างขึ้นจาก App Bundle อาจทำงานอย่างไม่คาดคิด ดังนั้นเมื่อสร้าง App Bundle เราขอแนะนำให้คุณปิดใช้เครื่องมือดังกล่าว
คุณสามารถกําหนดค่าพร็อพเพอร์ตี้ในการกําหนดค่าบิลด์ของโมดูลฟีเจอร์ที่ขัดแย้งกับพร็อพเพอร์ตี้จากโมดูลฐาน (หรือโมดูลอื่นๆ) ได้ เช่น คุณอาจตั้งค่าเป็น
buildTypes.release.debuggable = true
ในโมดูลพื้นฐานและตั้งค่าเป็นfalse
ในโมดูลฟีเจอร์ ข้อขัดแย้งดังกล่าวอาจทำให้เกิดปัญหาเกี่ยวกับบิลด์และรันไทม์ โปรดทราบว่าโดยค่าเริ่มต้นแล้ว โมดูลฟีเจอร์จะรับค่ากําหนดการสร้างบางอย่างมาจากโมดูลฐาน ดังนั้น โปรดตรวจสอบว่าคุณเข้าใจว่าควรเก็บการกำหนดค่าใดไว้และควรละเว้นการกำหนดค่าใดในการกำหนดค่าการสร้างโมดูลฟีเจอร์
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Android App Bundle ได้ที่แหล่งข้อมูลต่อไปนี้
บล็อกโพสต์
- การสร้าง App Bundle รายการแรก
- รูปแบบใหม่ในการเผยแพร่มีความสำคัญต่ออนาคตของ Android อย่างไร
- ฟีเจอร์ใหม่ที่จะช่วยคุณพัฒนา เผยแพร่ และขยายธุรกิจใน Google Play
- การอัปเดต Android App Bundle ล่าสุด รวมถึง API ภาษาเพิ่มเติม
- Patchwork Plaid เรื่องราวของการแยกแอปออกเป็นโมดูลย่อยๆ
- Google ติดตามซานตาคลอสกำลังจะย้ายไปอยู่ใน Android App Bundle
- เครื่องมือสำหรับนักพัฒนาแอปใน Play Console
วิดีโอ
- ข้อมูลทั้งหมดที่ควรทราบเกี่ยวกับ Play App Signing
- การสร้าง App Bundle รายการแรก
- App Bundle: การทดสอบด้วย Bundletool และ Play Console
- การนำส่งที่ปรับแต่งได้โดยใช้ App Bundle และการแชร์บิลด์ทดสอบที่ง่ายดาย
- เครื่องมือใหม่เพื่อเพิ่มประสิทธิภาพขนาดของแอปและเพิ่มยอดการติดตั้งใน Google Play