คำเตือน: 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 Instant ไปเป็นการดาวน์โหลด และติดตั้งเกมลงในอุปกรณ์ได้ เฟรมเวิร์ก 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
อย่าพึ่งพาการมีอยู่ของแคชหรือข้อมูลแอป
ระบบจะดาวน์โหลดประสบการณ์การใช้งาน Instant ไว้ในอุปกรณ์ของผู้ใช้จนกว่าจะล้าง แคชของประสบการณ์การใช้งาน Instant ซึ่งจะเกิดขึ้นในสถานการณ์ใดสถานการณ์หนึ่งต่อไปนี้
- ระบบจะล้างแคชของประสบการณ์แบบใช้งานได้ทันทีเนื่องจากอุปกรณ์มีหน่วยความจำเหลือน้อย
- ผู้ใช้รีสตาร์ทอุปกรณ์
หากเกิดกระบวนการใดกระบวนการหนึ่ง ผู้ใช้จะต้องดาวน์โหลดประสบการณ์ของรุ่น Instant อีกครั้ง จึงจะโต้ตอบกับประสบการณ์ดังกล่าวได้
หากระบบมีพื้นที่เก็บข้อมูลเหลือน้อยมาก ระบบอาจนำข้อมูลผู้ใช้ของ ประสบการณ์ทันที</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 Instant เพื่อให้เกมของคุณมีขนาดพอดีกับ APK ขนาด 15 MB เพียงไฟล์เดียวอาจเป็นเรื่องยาก แม้หลังจากใช้คำแนะนำเพื่อลดขนาด APK แล้วก็ตาม คุณสามารถแบ่งเกมออกเป็นหลาย 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 ที่มีหลายฟีเจอร์
- แยกแอปที่มีหลายฟีเจอร์ออกเป็นโมดูล