如果您的問題未列在本頁,請透過支援聯絡頁面上的聯絡資訊與我們聯絡。
我們會根據收到的常見問題,不定期更新這個頁面。
一般
本節包含不屬於特定類別的問題。
可以在 YouTube 環境中測試遊戲嗎?
可以,請使用開發人員入口網站,並按照測試操作說明進行。
我的遊戲無法在 Android 或 SDK 測試套件上算繪,該怎麼辦?
如果遊戲未在 Android 或 SDK 測試套件上專屬算繪,通常是因為遊戲在 WebView 中的載入方式所致。基於效能考量,遊戲一開始會載入至不向使用者顯示的 WebView,導致 WebView 可視區域大小為零。如要解決這個問題,建議採取下列解決方案:
(1) 確認無論可視區域大小為何,遊戲程式碼都能執行。
(2) 確認遊戲程式碼會處理可視區域大小調整,且在可視區域大小為零時,遊戲程式碼不會等待或失敗。
建議您監聽視窗事件 resize,並在 window.innerHeight 不為零時,才設定遊戲高度。
技術相關規定
本節包含 YouTube 遊戲角落技術相關規定的問題。
我可以申請豁免個別檔案大小限制嗎?
否。個別檔案大小是硬性限制。
如何評估初始套件大小?
初始套件大小是指可玩廣告在呼叫 gameReady 事件前,下載的位元組總量。
遊戲可玩內容會盡可能使用 HTTP 壓縮,因此初始套件大小可能會小於素材資源的原始總大小。在 SDK 測試套件中測試初始套件大小時,如果本機主機未壓縮素材資源,可能會導致大小超過可玩廣告發布後的大小。如要查看可玩廣告實際提供的初始套件大小,請使用 SDK 測試套件指向上傳版本中的 index.html 檔案,或修改本機伺服器設定,啟用 gzip 壓縮功能。
我已達到或超過個別檔案或組合總大小上限,該怎麼辦?
如要最佳化遊戲並提升效能,請參閱下列文章:
如果無法符合總套件大小限制,該怎麼辦?
使用者每次玩遊戲時,可能都必須下載遊戲素材資源。為避免載入時間過長和資料用量過大,建議盡可能縮減遊戲的總套件大小。
我們建議遊戲在每次遊戲工作階段中,隨著使用者進度採用延遲載入或其他類型的增量素材資源載入,或依關卡拆分素材資源,以便在長時間的工作階段中少量下載素材資源。在這種情況下,較大的套件總大小可能不會降低使用者體驗,反而能讓遊戲提供更多內容,同時降低每位使用者的資源占用量,進而提升使用者體驗。如果您認為遊戲運作方式符合上述情況,且有理由需要更大的套件總大小,請透過支援聯絡頁面與我們聯絡,討論您的用途。
內部數據分析是否可排除在外部呼叫規定之外?
不行。遊戲角落目前不得發出任何外部呼叫。請告知合作夥伴經理你感興趣的數據分析類型,以便我們優先開發這方面的功能。
遊戲會從遠端資料庫擷取資料和關卡,這樣可以嗎?
目前不行,但我們正在試行遠端資料存取功能,並開放部分遊戲使用。 目前,所有遊戲資料都必須包含在遊戲套件中。如要更新或重新整理遊戲素材資源或內容,請透過支援聯絡頁面上的聯絡資訊提交更新後的遊戲套件,或進一步洽詢是否能加入前測計畫。
我看到一則錯誤訊息,指出執行內嵌指令碼違反「內容安全政策」
如果您使用 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 遊戲與 YouTube 遊戲角落 SDK 整合的相關問題。如需 SDK 和 Unity Wrapper 的使用範例,請參閱 YouTube 遊戲角落 Unity Wrapper 說明文件。
可以使用 Unity 預先壓縮功能嗎?
不建議預先壓縮素材資源。初始套件大小規定採用壓縮後的大小,上傳的檔案會在擷取後壓縮。如果仍需要預先壓縮檔案,請參閱本節其餘部分,或前往支援聯絡頁面與支援團隊聯絡,討論最適合您遊戲的選項。
部分遊戲需要對 Unity 的 .wasm 或 .data 檔案使用預先壓縮。請僅在下列情況下使用預先壓縮,因為這可能會導致載入時間大幅增加:
- 如果您需要使用 Unity 預先壓縮功能,以符合個別檔案大小或套件總大小規定,請參閱「我已達到或超過個別檔案或套件總大小限制,該怎麼辦?」一節。
- 如果遊戲需要使用 Unity 預先壓縮功能才能通過認證,則必須符合下列規定:
- 您必須使用 ZIP 預先壓縮。
- 您必須在載入器指令碼中手動解壓縮檔案。建議使用 Compression Streams API。
這些額外要求是因放送架構的限制而產生。目前不支援其他 HTTP 標頭或 Brotli 壓縮。
遊戲在背景執行時,如何管理影格更新?
您可以使用 setTimeout 管理遊戲在背景執行時的影格更新。這有助於控制暫停音訊等行為。如要驗證背景影格管理功能,請在播放器設定中啟用「在背景執行」選項。
Unity 遊戲的記憶體限制
Unity 中的某些遊戲會使用大量記憶體,可能導致可試玩遊戲超出記憶體用量限制。建議您按照 Unity WebGL 記憶體的開發人員說明文件操作。