คำเตือน: Google Play Instant จะไม่มีให้บริการอีกต่อไป ตั้งแต่เดือนธันวาคม 2025 เป็นต้นไป คุณจะไม่สามารถเผยแพร่ Instant Apps ผ่าน Google Play ได้ และInstant API ของบริการ Google Play ทั้งหมดจะหยุดทำงาน Play จะไม่แสดงแอปด่วนต่อผู้ใช้โดยใช้กลไกใดๆ อีกต่อไป
เราทำการเปลี่ยนแปลงนี้ตามความคิดเห็นของนักพัฒนาแอปและการลงทุนอย่างต่อเนื่อง เพื่อปรับปรุงระบบนิเวศตั้งแต่เปิดตัว Google Play Instant
เราขอแนะนำให้นักพัฒนาแอปนำผู้ใช้ไปยังแอปหรือเกมปกติของตนโดยใช้ Deep Link เพื่อเปลี่ยนเส้นทางผู้ใช้ไปยังเส้นทางหรือฟีเจอร์ที่เฉพาะเจาะจงเมื่อเกี่ยวข้อง เพื่อเพิ่มประสิทธิภาพในการเพิ่มผู้ใช้อย่างต่อเนื่อง
ขั้นตอนการตั้งค่าแอปให้ทำงานใน Google Play Instant ตามที่อธิบายไว้ในสร้าง Instant App แรก ใช้ได้กับเกมด้วย คู่มือนี้เน้นขั้นตอนการตั้งค่าบางอย่างที่เฉพาะเจาะจงสำหรับเกม
คุณสามารถพัฒนาเกมสำหรับ Google Play Instant ได้โดยใช้ Unity (มีหรือไม่มีปลั๊กอิน Google Play Instant Unity ก็ได้) Cocos2D Android Studio หรือเอ็นจินที่กำหนดเอง
คู่มือนี้จะถือว่าคุณทราบอยู่แล้วว่าต้องการมอบประสบการณ์การเล่นเกมแบบใด หากต้องการดูไอเดียและแนวทางปฏิบัติแนะนำในการสร้างเกมคุณภาพสูง โปรดอ่านแนวทางปฏิบัติแนะนำเกี่ยวกับ UX สำหรับเกมใน Google Play Instant
นอกจากนี้ ก่อนเผยแพร่เกมที่เล่นบน Google Play Instant ได้ คุณควรตรวจสอบรายการตรวจสอบข้อกำหนดทางเทคนิค
ระบุจุดแรกเข้า
กิจกรรมที่มีตัวกรอง Intent ต่อไปนี้จะกลายเป็นจุดแรกเข้าสำหรับประสบการณ์ Google Play Instant
<activity android:name=".GameActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
กิจกรรมนี้จะเปิดขึ้นเมื่อผู้ใช้แตะปุ่มลองใช้เลยใน Play Store หรือปุ่มเล่นทันทีในแอป Google Play Games คุณยังเปิดกิจกรรมนี้ได้โดยตรงโดยใช้Deep Link API
กำหนดรหัสเวอร์ชันที่ถูกต้อง
รหัสเวอร์ชันของประสบการณ์แบบใช้งานได้ทันทีของเกมต้องน้อยกว่า รหัสเวอร์ชันของเกมที่ติดตั้งได้ การกำหนดเวอร์ชันแอปในลักษณะนี้จะช่วยให้ผู้เล่นเปลี่ยนจากประสบการณ์แบบใช้งานได้ทันทีของ Google Play ไปเป็นการดาวน์โหลดและติดตั้งเกมลงในอุปกรณ์ได้ เฟรมเวิร์ก Android ถือว่าการเปลี่ยนผ่านนี้เป็นการอัปเดตแอป
หากต้องการให้แน่ใจว่าคุณใช้รูปแบบการกำหนดเวอร์ชันที่แนะนำ ให้ใช้กลยุทธ์ใดกลยุทธ์หนึ่งต่อไปนี้
- รีสตาร์ทรหัสเวอร์ชันสำหรับ Google Play Instant Experience ที่ 1
- เพิ่มรหัสเวอร์ชันของแอปที่ติดตั้งได้เป็นจำนวนมาก เช่น 1000 เพื่อให้มีพื้นที่เพียงพอสำหรับหมายเลขเวอร์ชันของประสบการณ์การใช้งาน Instant
คุณสามารถพัฒนาเกมทันทีและเกมที่ติดตั้งได้ในโปรเจ็กต์ Android Studio 2 โปรเจ็กต์แยกกัน อย่างไรก็ตาม หากเลือกใช้ตัวเลือกนี้ คุณจะต้องทำตามขั้นตอนต่อไปนี้เพื่อ เผยแพร่เกมใน Google Play
- ใช้ชื่อแพ็กเกจเดียวกันในโปรเจ็กต์ Android Studio ทั้ง 2 โปรเจ็กต์
- ใน Google Play Console ให้อัปโหลดทั้ง 2 รูปแบบไปยังแอปพลิเคชันเดียวกัน
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการตั้งค่าเวอร์ชันของเกมได้ที่กำหนดเวอร์ชันของแอป
รองรับสภาพแวดล้อมการดำเนินการ
เกมใน Google Play Instant จะทำงานภายในแซนด์บ็อกซ์ที่มีข้อจำกัดในอุปกรณ์เช่นเดียวกับแอปอื่นๆ หากต้องการรองรับสภาพแวดล้อมการดำเนินการนี้ ให้ทำตามขั้นตอน ที่แสดงในส่วนต่อไปนี้
เลือกไม่ใช้การรับส่งข้อมูลข้อความธรรมดา
เกมใน Google Play Instant ไม่รองรับการเข้าชมผ่าน HTTP หากเกมของคุณกำหนดเป้าหมายเป็น Android 9 (ระดับ API 28) ขึ้นไป Android จะปิดใช้การรองรับข้อความธรรมดาในเกมโดยค่าเริ่มต้น
อย่างไรก็ตาม หากเกมกำหนดเป้าหมายเป็น Android 8.1 (ระดับ API 27) หรือต่ำกว่า คุณต้องสร้างไฟล์การกำหนดค่าความปลอดภัยของเครือข่าย
ในไฟล์นี้ ให้ตั้งค่า cleartextTrafficPermitted เป็น false ดังที่แสดงใน
ข้อมูลโค้ดต่อไปนี้
res/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="false"> <domain includeSubdomains="true">secure.example.com</domain> </domain-config> </network-security-config>
อัปเดตเวอร์ชันแซนด์บ็อกซ์เป้าหมาย
อัปเดตไฟล์ AndroidManifest.xml ของเกมทันใจเพื่อให้กำหนดเป้าหมายไปยัง
สภาพแวดล้อมแซนด์บ็อกซ์ที่ Google Play Instant รองรับ คุณอัปเดต
นี้ให้เสร็จสมบูรณ์ได้โดยการเพิ่มแอตทริบิวต์ android:targetSandboxVersion ลงในองค์ประกอบ <manifest> ของเกม ดังที่แสดงในข้อมูลโค้ดต่อไปนี้
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
...
android:targetSandboxVersion="2" ...>
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับแอตทริบิวต์
targetSandboxVersion
อย่าพึ่งพาการมีแคชหรือข้อมูลแอป
ระบบจะดาวน์โหลดประสบการณ์แบบใช้งานได้ทันทีไว้ในอุปกรณ์ของผู้ใช้จนกว่าจะล้างแคชของประสบการณ์แบบใช้งานได้ทันที ซึ่งจะเกิดขึ้นในสถานการณ์ใดสถานการณ์หนึ่งต่อไปนี้
- ระบบจะล้างแคชของประสบการณ์แบบใช้งานได้ทันทีเนื่องจากอุปกรณ์มี หน่วยความจำเหลือน้อย
- ผู้ใช้รีสตาร์ทอุปกรณ์
หากเกิดกระบวนการใดกระบวนการหนึ่ง ผู้ใช้จะต้องดาวน์โหลดประสบการณ์แบบใช้งานได้ทันทีอีกครั้ง จึงจะโต้ตอบกับประสบการณ์ดังกล่าวได้
หากระบบมีพื้นที่เก็บข้อมูลเหลือน้อยมาก ระบบอาจนำข้อมูลผู้ใช้ของ ประสบการณ์แบบใช้งานได้ทันที</0x0A>ออกจากที่จัดเก็บข้อมูลภายใน ดังนั้น เราขอแนะนำให้คุณซิงค์ข้อมูลผู้ใช้กับเซิร์ฟเวอร์ของเกมเป็นระยะๆ เพื่อเก็บรักษาความคืบหน้าของผู้ใช้ไว้
ลดขนาดแอป
เกมใน Google Play Instant มีขนาดดาวน์โหลดสูงสุดอยู่ที่ 15 MB ซึ่งแตกต่างจากแอปประเภทอื่นๆ หากต้องการสร้างเกมที่มีขนาดเท่านี้ คุณอาจต้องปรับโครงสร้างตรรกะของเกมใหม่ ส่วนนี้จะอธิบายเครื่องมือและเทคนิคบางอย่างที่จะช่วยเพิ่มประสิทธิภาพขนาดของเกม
เครื่องมือ
รายการเครื่องมือต่อไปนี้จะช่วยคุณพิจารณาว่าอะไรที่ทำให้เกมมีขนาดใหญ่
- ตัววิเคราะห์ APK: แสดงมุมมองแบบองค์รวมของ เนื้อหาของ APK ที่คอมไพล์แล้ว มุมมองนี้ช่วยให้คุณระบุจำนวนไบต์ที่แต่ละองค์ประกอบมีส่วนต่อขนาดโดยรวมได้ ใช้เครื่องมือนี้เพื่อตรวจสอบขนาดของทรัพยากร ชิ้นงาน ตรรกะ และไลบรารีเนทีฟที่เกมของคุณใช้ได้อย่างรวดเร็ว
- Bloaty McBloatface: แสดงโปรไฟล์ขนาดของไฟล์ไบนารี
- Android GPU Inspector: ดูผลกระทบต่อขนาดไฟล์จากการลดขนาดเท็กซ์เจอร์โดยไม่ต้องคอมไพล์เกมใหม่
เทคนิค
ต่อไปนี้คือรายการเทคนิคที่คุณใช้เพื่อลดขนาดเกมได้
- แยกตรรกะบางส่วนของเกมและวางไว้ในโมดูลฟีเจอร์อย่างน้อย 1 โมดูล ซึ่งจะไม่นับรวมในขีดจำกัดขนาด
- ลดความละเอียดของพื้นผิวในเกม
- ลองใช้รูปแบบ WebP โดยเฉพาะอย่างยิ่งหากคุณใช้พื้นผิวที่ไม่ได้บีบอัดใน GPU รูปแบบ WebP สร้างรูปภาพที่มีคุณภาพเท่ากับรูปภาพ JPEG แต่มีขนาดเล็กกว่า 15% ถึง 30% แม้ว่าการคลายการบีบอัดรูปภาพ WebP จะใช้เวลานานกว่า แต่ เวลาในการคลายการบีบอัดนี้ยังคงสั้นกว่าเวลาในการดาวน์โหลดพื้นผิวของเกม อย่างมาก นอกจากนี้ Google ยังได้ผสานรวมรูปแบบนี้เข้ากับเอนจินเกมโอเพนซอร์สด้วย
- บีบอัดหรือนำเสียงและเพลงกลับมาใช้ใหม่
- ใช้แฟล็กการคอมไพล์ที่แตกต่างกันเพื่อช่วยให้ไฟล์ไบนารีมีขนาดเล็กลง
-fvisibility=hidden– สำคัญที่สุด ในcmakeคุณระบุ ได้ดังนี้$ set_target_properties(your-target PROPERTIES CXX_VISIBILITY_PRESET hidden)
-Oz– ยังมีความสำคัญต่อการลดขนาดด้วย หากคอมไพล์โดยใช้gccให้ใช้-Osแทน-flto– บางครั้งจะลดขนาดไฟล์- แฟล็กของ Linker - ใช้
--gc-sectionsร่วมกับแฟล็กของคอมไพเลอร์ เช่น-ffunction-sectionsและ-fdata-sections
- ใช้ Proguard เพื่อย่อขนาดโค้ดและทรัพยากร
- ใช้ Gradle 4.4 ขึ้นไปเพื่อสร้างไฟล์ DEX ที่มีขนาดเล็กลง
- ใช้การนำส่งเนื้อหาในระบบคลาวด์
แบ่งเกมขนาดใหญ่ออกเป็น APK หลายรายการ
การเพิ่มประสิทธิภาพประสบการณ์แบบใช้งานได้ทันทีของ Google Play เพื่อให้เกมของคุณมีขนาดพอดีกับ APK ขนาด 15 MB เพียงไฟล์เดียวอาจเป็นเรื่องยาก แม้หลังจากใช้คำแนะนำเพื่อลดขนาด APK แล้วก็ตาม คุณสามารถแบ่งเกมออกเป็นหลาย APK เพื่อรับมือกับความท้าทายนี้ได้ ผู้เล่นจะเริ่มต้นด้วยการ ดาวน์โหลด APK หลักที่เป็นพื้นฐาน และขณะเล่นเกม ระบบจะทำให้APK ที่แยกส่วนที่เหลือพร้อมใช้งานในเบื้องหลัง
ตัวอย่างเช่น APK ฐานอาจมีเกมเอนจินหลักและเนื้อหา ที่จำเป็นต่อการแสดงหน้าจอโหลด เมื่อเปิดใช้ APK พื้นฐาน ระบบจะแสดง หน้าจอการโหลดและขอ APK แยกเพิ่มเติมที่มี ข้อมูลเกมและเลเวลทันที หลังจากที่ APK แยกพร้อมใช้งานแล้ว ก็จะโหลดเนื้อหาลงในเกมเอนจินและแสดงเนื้อหาที่ผู้เล่นต้องการเพื่อเริ่มเกม
ใช้แนวทางปฏิบัติแนะนำเกี่ยวกับ UX
หลังจากกำหนดค่าเกมให้รองรับประสบการณ์การใช้งาน Instant แล้ว ให้เพิ่มตรรกะที่แสดงในส่วนต่อไปนี้เพื่อมอบประสบการณ์การใช้งานที่ดีแก่ผู้ใช้
รองรับสถาปัตยกรรม 64 บิต
แอปที่เผยแพร่ใน Google Play ต้องรองรับสถาปัตยกรรม 64 บิต การเพิ่มแอปเวอร์ชัน 64 บิตจะช่วยปรับปรุงประสิทธิภาพและเตรียมพร้อมสำหรับอุปกรณ์ที่มีฮาร์ดแวร์แบบ 64 บิตเท่านั้น ดูข้อมูลเพิ่มเติมเกี่ยวกับการรองรับ 64 บิต
ตรวจสอบว่าเกมกำลังแสดงประสบการณ์แบบใช้งานได้ทันทีหรือไม่
หากตรรกะบางอย่างของเกมขึ้นอยู่กับว่าผู้ใช้มีส่วนร่วมกับประสบการณ์แบบใช้งานได้ทันทีของคุณหรือไม่ ให้เรียกใช้เมธอด
isInstantApp() เมธอดนี้จะแสดง true หากกระบวนการที่กำลังทำงานอยู่เป็นประสบการณ์แบบใช้งานได้ทันที
การตรวจสอบนี้จะช่วยให้คุณทราบว่าแอปต้องทำงานภายในสภาพแวดล้อมการดำเนินการที่จำกัดหรือไม่ หรือใช้ประโยชน์จากฟีเจอร์ของแพลตฟอร์มได้หรือไม่
แสดงข้อความแจ้งให้ติดตั้ง
หากคุณสร้างประสบการณ์ Google Play Instant แบบทดลองใช้ ในบางครั้งเกมควรแจ้งให้ผู้เล่นติดตั้งเวอร์ชันเต็มลงในอุปกรณ์ โดยใช้เมธอด
showInstallPrompt()
ใน Google APIs สำหรับ Android
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีและเวลาที่ควรแจ้งให้ผู้เล่นติดตั้งได้ที่แนวทางปฏิบัติแนะนำเกี่ยวกับ UX สำหรับเกมใน Google Play Instant
โอนข้อมูลไปยังประสบการณ์การใช้งานที่ติดตั้ง
หากผู้เล่นชื่นชอบประสบการณ์ช่วงทดลองใช้ ก็อาจตัดสินใจติดตั้งเกมเวอร์ชันเต็ม การโอนความคืบหน้าของผู้เล่นจากประสบการณ์แบบใช้งานได้ทันทีไปยังเกมเวอร์ชันเต็มเป็นสิ่งสำคัญในการมอบประสบการณ์ของผู้ใช้ที่ดี
หากเกมระบุtargetSandboxVersion
เป็น 2 ระบบจะโอนความคืบหน้าของผู้เล่น
ไปยังเกมเวอร์ชันเต็มโดยอัตโนมัติ ไม่เช่นนั้น คุณต้องโอน
ข้อมูลที่เกี่ยวข้องกับความคืบหน้าของผู้เล่นด้วยตนเอง โดยให้ใช้ Cookie API - แอปตัวอย่าง
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Google Play Instant ได้จากแหล่งข้อมูลเพิ่มเติมต่อไปนี้
- Codelab: สร้าง Instant App แรกของคุณ
- เพิ่มการรองรับ Google Play Instant ในแอปที่มีอยู่
- Codelab: สร้าง Instant App แบบหลายฟีเจอร์
- แยกแอปที่มีหลายฟีเจอร์ออกเป็นโมดูล