หากมีคำถามที่ไม่พบในหน้านี้ โปรดติดต่อเราโดยใช้ข้อมูลติดต่อในหน้าติดต่อทีมสนับสนุน
หน้านี้อาจได้รับการอัปเดตด้วยคำถามที่พบบ่อยเมื่อได้รับคำถาม
ทั่วไป
ส่วนนี้ประกอบด้วยคำถามที่ไม่ได้จัดอยู่ในหมวดหมู่ที่เฉพาะเจาะจง
ฉันจะทดสอบเกมในสภาพแวดล้อมของ YouTube ได้ไหม
ได้ โดยใช้พอร์ทัลนักพัฒนาซอฟต์แวร์และทำตามวิธีการทดสอบ
ฉันควรทำอย่างไรหากเกมไม่แสดงผลใน Android หรือชุดโปรแกรมทดสอบ SDK
เมื่อเกมไม่แสดงผลเฉพาะใน Android หรือชุดโปรแกรมทดสอบ SDK มักเกิดจากวิธีโหลดเกมใน WebView เนื่องจากเหตุผลด้านประสิทธิภาพ ระบบจะโหลดเกมใน WebView ที่ไม่แสดงต่อผู้ใช้ในตอนแรก ส่งผลให้ขนาดวิวพอร์ต WebView เป็น 0 เราขอแนะนำให้ใช้โซลูชันต่อไปนี้เพื่อแก้ไขปัญหานี้
(1) ตรวจสอบว่าโค้ดเกมทำงานได้ไม่ว่าวิวพอร์ตจะมีขนาดเท่าใด
(2) ตรวจสอบว่าโค้ดเกมจัดการการปรับขนาดวิวพอร์ต และโค้ดเกมไม่รอหรือล้มเหลวเมื่อขนาดวิวพอร์ตเป็น 0
เราขอแนะนำให้ฟังเหตุการณ์ของหน้าต่าง resize และตั้งค่าความสูงของเกมเฉพาะเมื่อ window.innerHeight ไม่ใช่ 0
ข้อกำหนดทางเทคนิค
ส่วนนี้ประกอบด้วยคำถามที่เกี่ยวข้องกับข้อกำหนดทางเทคนิคของฟีเจอร์เล่นเกมของ YouTube
ฉันจะได้รับการยกเว้นสำหรับขีดจำกัดขนาดไฟล์แต่ละไฟล์ได้ไหม
ไม่ได้ ขนาดไฟล์แต่ละไฟล์เป็นขีดจำกัดที่แน่นอน
ระบบวัดขนาดแพ็กเกจเริ่มต้นอย่างไร
ขนาดแพ็กเกจเริ่มต้นจะวัดจากจำนวนไบต์ทั้งหมดที่ดาวน์โหลดโดย Playable จนกว่าจะมีการเรียกเหตุการณ์ gameReady
Playables จะใช้การบีบอัด HTTP เมื่อเป็นไปได้ ซึ่งหมายความว่าขนาดแพ็กเกจเริ่มต้นอาจเล็กกว่าขนาดดิบทั้งหมดของชิ้นงาน เมื่อทดสอบขนาดแพ็กเกจเริ่มต้นในชุดโปรแกรมทดสอบ SDK หากโฮสต์ในเครื่องไม่บีบอัดชิ้นงาน ขนาดอาจใหญ่กว่าขนาดที่จะเกิดขึ้นเมื่อเผยแพร่โฆษณาที่เล่นได้ หากต้องการดูขนาดแพ็กเกจเริ่มต้นจริงที่แสดงสำหรับโฆษณาที่เล่นได้ ให้ใช้ชุดโปรแกรมทดสอบ SDK ที่ชี้ไปยังไฟล์ index.html จากบิลด์ที่อัปโหลด หรือแก้ไขการตั้งค่าเซิร์ฟเวอร์ในเครื่องเพื่อเปิดใช้การบีบอัด gzip
ฉันใช้พื้นที่เกินขีดจำกัดขนาดไฟล์แต่ละไฟล์หรือขนาดแพ็กเกจรวมแล้ว ฉันควรทำอย่างไร
หากต้องการเพิ่มประสิทธิภาพเกมและปรับปรุงประสิทธิภาพ โปรดดูบทความต่อไปนี้
- การบีบอัดรูปภาพ
- การตรวจสอบประสิทธิภาพ
- เวลาในการโหลดที่รวดเร็ว
-
การเพิ่มประสิทธิภาพการเข้ารหัสและขนาดการโอนของชิ้นงานแบบข้อความ
จะเกิดอะไรขึ้นหากฉันไม่สามารถจำกัดขนาดรวมของแพ็กเกจให้อยู่ภายในขีดจำกัดได้
ผู้ใช้อาจต้องดาวน์โหลดเนื้อหาจากเกมของคุณทุกครั้งที่เล่นเกม เพื่อป้องกันไม่ให้ใช้เวลาโหลดนานและใช้ปริมาณอินเทอร์เน็ตมาก ขอแนะนำให้ขนาดแพ็กเกจทั้งหมดของเกมมีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้
เราขอแนะนำให้เกมใช้การโหลดแบบ Lazy Loading หรือการโหลดเนื้อหาแบบเพิ่มทีละส่วนประเภทอื่นๆ ในระหว่างเซสชันการเล่นแต่ละครั้งเมื่อผู้ใช้เล่นไปเรื่อยๆ หรือแบ่งเนื้อหาตามระดับเพื่อให้ดาวน์โหลดเนื้อหาในปริมาณน้อยๆ ตลอดเซสชันที่ยาวนาน ในสถานการณ์เช่นนี้ การมีขนาดแพ็กเกจรวมที่ใหญ่ขึ้นอาจไม่ทำให้ประสบการณ์ของผู้ใช้แย่ลง และอาจสร้างประสบการณ์ของผู้ใช้ที่ดีขึ้นด้วยการเปิดใช้เนื้อหาในเกมมากขึ้นโดยมีพื้นที่ต่อผู้ใช้ต่ำลง หากคุณรู้สึกว่าเกมของคุณทำงานในลักษณะนี้และมีเหตุผลสมควรที่จะมีขนาดแพ็กเกจรวมที่ใหญ่ขึ้น โปรดติดต่อเราโดยใช้หน้าติดต่อทีมสนับสนุนเพื่อพูดคุยเกี่ยวกับกรณีการใช้งานของคุณ
ฉันจะยกเว้นการวิเคราะห์ภายในจากข้อกำหนดการเรียกใช้ API ภายนอกได้ไหม
ไม่ได้ เล่นเกมต้องไม่เรียกใช้ API ภายนอกในขณะนี้ แจ้งให้ผู้จัดการพาร์ทเนอร์ทราบเกี่ยวกับประเภทข้อมูลวิเคราะห์ที่คุณสนใจ เพื่อให้เราจัดลำดับความสำคัญของฟีเจอร์ในอนาคตในพื้นที่นี้ได้
เกมดึงข้อมูลและระดับจากฐานข้อมูลระยะไกล แบบนี้ยอมรับได้ไหม
ตอนนี้ยังไม่ได้ แต่เรากำลังนำร่องการเข้าถึงข้อมูลจากระยะไกลกับเกมบางเกมอยู่ ปัจจุบัน ข้อมูลเกมทั้งหมดต้องรวมอยู่ในแพ็กเกจเกม หากต้องการอัปเดตหรือรีเฟรชเนื้อหาหรือชิ้นงานเกม โปรดติดต่อเราโดยใช้ข้อมูลติดต่อในหน้าติดต่อทีมสนับสนุนเพื่อส่งแพ็กเกจเกมที่รีเฟรชแล้ว หรือติดต่อเพื่อสอบถามเพิ่มเติมหากต้องการรับการพิจารณาเข้าร่วมโปรแกรมนำร่องของเรา
ฉันเห็นข้อผิดพลาดเกี่ยวกับการละเมิด "นโยบายรักษาความปลอดภัยเนื้อหา" สำหรับการเรียกใช้สคริปต์ในบรรทัด
กรณีนี้จะเกิดขึ้นเมื่อคุณใช้ JavaScript เพื่อสร้างและเพิ่มแท็ก <script> ลงในหน้าเว็บ เพื่อความปลอดภัย YouTube ใช้นโยบายรักษาความปลอดภัยเนื้อหา (CSP) ที่กำหนดให้สคริปต์ต้องมีรหัสความปลอดภัยพิเศษที่เรียกว่า "Nonce" YouTube จะเพิ่มโค้ดนี้ลงในสคริปต์ในไฟล์ HTML โดยอัตโนมัติ แต่คุณต้องเพิ่มโค้ดนี้ลงในสคริปต์ที่สร้างด้วยโค้ดด้วยตนเอง
เมื่อสร้างแท็กสคริปต์แบบเป็นโปรแกรมโดยใช้ JavaScript คุณต้องค้นหา Nonce จากหน้าเว็บและนำไปใช้กับองค์ประกอบสคริปต์ใหม่
ตัวอย่าง
const script = document.createElement('script');
script.src = '...';
// Find the nonce from the main page and apply it
script.nonce = document.querySelector('script[nonce]')?.nonce;
document.head.appendChild(script);
คุณทดสอบการกำหนดค่าออฟไลน์ได้โดยใช้หลักเกณฑ์ที่ระบุไว้ในวิธีการใช้ชุดทดสอบ
การผสานรวม SDK
ส่วนนี้ประกอบด้วยคำถามที่เกี่ยวข้องกับ Playables SDK API
ฉันไม่ผ่านการรับรองเนื่องจากปัญหาการผสานรวมเสียง ฉันต้องแก้ไขอะไรบ้าง
ปัญหาเกี่ยวกับเสียงที่พบบ่อยที่สุดเกี่ยวข้องกับเกมที่คาดหวังให้ผู้ใช้โต้ตอบก่อนเริ่มเล่น อย่างไรก็ตาม ฟีเจอร์เล่นเกมของ YouTube อาจได้รับโฟกัสโดยอัตโนมัติ ดังนั้นเกมจึงต้องจัดการกรณีนี้
ดูตัวอย่างการตั้งค่าเสียงได้ที่ตัวอย่าง
Unity
ส่วนนี้ประกอบด้วยคำถามเกี่ยวกับการผสานรวมเกม Unity ที่มีอยู่กับ SDK ของฟีเจอร์เล่นเกมของ YouTube ดูตัวอย่างวิธีใช้ SDK และ Unity Wrapper ได้ที่เอกสารประกอบเกี่ยวกับ ฟีเจอร์เล่นเกมของ YouTube Unity Wrapper
ฉันใช้การบีบอัดล่วงหน้าของ Unity ได้ไหม
เราไม่แนะนำให้บีบอัดชิ้นงานล่วงหน้า ข้อกำหนดขนาดแพ็กเกจเริ่มต้นจะใช้ขนาดหลังการบีบอัด และไฟล์ที่อัปโหลดจะมีการบีบอัดหลังจากการส่งผ่านข้อมูล หากยังจำเป็นต้องบีบอัดไฟล์ล่วงหน้า โปรดดูส่วนที่เหลือของส่วนนี้หรือติดต่อทีมสนับสนุนที่หน้าติดต่อฝ่ายสนับสนุนเพื่อพูดคุยเกี่ยวกับตัวเลือกที่ดีที่สุดสำหรับเกมของคุณ
บางเกมจะต้องใช้การบีบอัดล่วงหน้าสำหรับไฟล์ .wasm หรือ .data ของ Unity
ใช้การบีบอัดล่วงหน้าในเงื่อนไขต่อไปนี้เท่านั้น เนื่องจากอาจทำให้เวลาในการโหลดช้าลงมาก
- หากคุณจำเป็นต้องใช้การบีบอัดล่วงหน้าของ Unity เพื่อให้เป็นไปตามข้อกำหนดขนาดไฟล์แต่ละไฟล์หรือขนาดแพ็กเกจรวม โปรดดู"ฉันมีขนาดไฟล์แต่ละไฟล์หรือขนาดแพ็กเกจรวมถึงหรือเกินขีดจำกัดแล้ว ฉันควรทำอย่างไร"
- หากคุณจำเป็นต้องใช้การบีบอัดล่วงหน้าของ Unity เพื่อให้เกมผ่านการรับรอง คุณต้องปฏิบัติตามข้อกำหนดต่อไปนี้
- คุณต้องใช้การบีบอัดไฟล์ ZIP ล่วงหน้า
- คุณต้องคลายการบีบอัดไฟล์ด้วยตนเองภายในสคริปต์ Loader เราขอแนะนำให้ใช้ Compression Streams API
ข้อกำหนดเพิ่มเติมเหล่านี้เกิดจากข้อจำกัดของสถาปัตยกรรมการแสดงผล ขณะนี้เรายังไม่รองรับส่วนหัว HTTP เพิ่มเติมหรือการบีบอัด Brotli
ฉันจะจัดการการอัปเดตเฟรมเมื่อเกมทำงานอยู่เบื้องหลังได้อย่างไร
คุณใช้ setTimeout เพื่อจัดการการอัปเดตเฟรมเมื่อเกมทำงานอยู่เบื้องหลังได้
ซึ่งจะช่วยควบคุมลักษณะการทำงานต่างๆ เช่น การหยุดเสียงชั่วคราว คุณสามารถยืนยันการจัดการเฟรมในเบื้องหลังได้โดยเปิดใช้ตัวเลือก "เรียกใช้ในเบื้องหลัง" ในการตั้งค่าโปรแกรมเล่น
ข้อจำกัดด้านหน่วยความจำสำหรับเกม Unity
เกมบางเกมใน Unity จะใช้หน่วยความจำจำนวนมาก ซึ่งอาจทำให้เกินข้อจำกัดการใช้งานหน่วยความจำสำหรับโฆษณาที่เล่นได้ ขอแนะนำให้ทำตามเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์สำหรับหน่วยความจำใน Unity WebGL