Trang này có thể nhận được các câu hỏi thường gặp khi chúng tôi nhận được.
Giải pháp chung
Phần này bao gồm mọi câu hỏi không thuộc một danh mục cụ thể.
Tôi có thể kiểm thử trò chơi trong môi trường YouTube không?
Có, hãy sử dụng Cổng thông tin nhà phát triển và làm theo hướng dẫn kiểm thử.
Trò chơi của tôi không kết xuất trên Android hoặc bộ kiểm thử SDK. Tôi nên làm gì?
Khi trò chơi không kết xuất riêng trên Android hoặc bộ kiểm thử SDK, nguyên nhân thường là do cách trò chơi được tải trong WebView. Vì lý do hiệu suất, trò chơi ban đầu được tải trong một WebView không hiển thị cho người dùng, dẫn đến kích thước khung nhìn WebView bằng 0. Để giải quyết vấn đề này, bạn nên áp dụng giải pháp sau:
(1) Xác minh rằng mã trò chơi của bạn thực thi bất kể kích thước khung nhìn.
(2) Xác minh rằng mã trò chơi của bạn xử lý việc đổi kích thước khung nhìn và mã trò chơi không chờ hoặc gặp lỗi khi kích thước khung nhìn bằng 0.
Bạn nên theo dõi sự kiện resize của cửa sổ và chỉ đặt chiều cao của trò chơi khi window.innerHeight khác 0.
Các Yêu cầu về Kỹ thuật
Phần này bao gồm các câu hỏi liên quan đến yêu cầu kỹ thuật của Chơi game trên YouTube.
Tôi có thể được miễn trừ giới hạn kích thước tệp riêng lẻ không?
Không. Giới hạn kích thước tệp riêng lẻ là giới hạn cứng.
Kích thước gói ban đầu được đo lường như thế nào?
Kích thước gói ban đầu được đo lường là tổng số byte mà Playable tải xuống cho đến khi sự kiện gameReady được gọi.
Playables sử dụng tính năng nén HTTP khi có thể, nghĩa là kích thước gói ban đầu có thể nhỏ hơn tổng kích thước thô của các thành phần. Khi kiểm thử kích thước gói ban đầu trong Bộ kiểm thử SDK, nếu máy chủ cục bộ của bạn không nén thành phần, thì kích thước có thể lớn hơn kích thước thực tế sau khi Playable của bạn được xuất bản. Để xem kích thước gói ban đầu thực tế được phân phát cho một Playable, hãy sử dụng Bộ kiểm thử SDK trỏ đến tệp index.html từ bản dựng đã tải lên hoặc sửa đổi chế độ cài đặt máy chủ cục bộ để bật tính năng nén gzip.
Tôi đã đạt hoặc vượt quá giới hạn kích thước tệp riêng lẻ hoặc tổng kích thước gói. Tôi nên làm gì?
Để tối ưu hoá trò chơi và cải thiện hiệu suất, hãy xem các bài viết sau:
- Nén hình ảnh
- Kiểm tra hiệu quả
- Thời gian tải nhanh
-
Tối ưu hoá kích thước mã hoá và chuyển của các thành phần dựa trên văn bản
Tôi phải làm gì nếu không đáp ứng được giới hạn tổng kích thước gói?
Người dùng có thể phải tải các thành phần xuống từ trò chơi của bạn mỗi khi họ chơi trò chơi đó. Để tránh thời gian tải lâu và mức sử dụng dữ liệu lớn, bạn nên giảm tổng kích thước gói của trò chơi xuống mức nhỏ nhất có thể.
Bạn nên sử dụng tính năng tải từng phần hoặc các loại tải thành phần gia tăng khác trong mỗi phiên chơi khi người dùng tiến bộ, hoặc chia nhỏ các thành phần theo từng cấp độ để cho phép tải các thành phần với số lượng nhỏ trong suốt phiên chơi dài. Trong những trường hợp như vậy, việc có tổng kích thước gói lớn hơn có thể không làm giảm trải nghiệm người dùng, và trên thực tế, có thể tạo ra trải nghiệm người dùng tốt hơn bằng cách cho phép có nhiều nội dung hơn trong trò chơi của bạn với mức sử dụng dữ liệu thấp hơn trên mỗi người dùng. Nếu bạn cảm thấy trò chơi của mình hoạt động theo cách này và việc có tổng kích thước gói lớn hơn là hợp lý, hãy liên hệ qua trang liên hệ hỗ trợ của chúng tôi để thảo luận về trường hợp sử dụng của bạn.
Tôi có thể loại trừ dữ liệu phân tích nội bộ khỏi các yêu cầu về cuộc gọi bên ngoài không?
Không. Hiện tại, Playables không được thực hiện bất kỳ cuộc gọi bên ngoài nào tại thời điểm này. Hãy cho người quản lý đối tác của bạn biết về loại dữ liệu phân tích mà bạn quan tâm để các tính năng trong tương lai trong không gian này có thể được ưu tiên.
Trò chơi tìm nạp dữ liệu và cấp độ từ cơ sở dữ liệu từ xa. Điều này có được chấp nhận không?
Hiện tại thì không, nhưng chúng tôi đang thí điểm quyền truy cập dữ liệu từ xa với một số tựa game. Hiện tại, tất cả dữ liệu trò chơi phải được đưa vào gói trò chơi. Nếu bạn muốn cập nhật hoặc làm mới các thành phần hoặc nội dung trò chơi, hãy liên hệ bằng thông tin liên hệ trên trang liên hệ hỗ trợ để gửi gói trò chơi đã làm mới hoặc liên hệ để hỏi thêm nếu bạn muốn được xem xét tham gia chương trình thử nghiệm của chúng tôi.
Tôi thấy lỗi về việc vi phạm "Chính sách bảo mật nội dung" khi thực thi tập lệnh cùng dòng
Lỗi này xảy ra khi bạn sử dụng JavaScript để tạo và thêm thẻ <script> vào trang
của mình. Để đảm bảo an toàn, YouTube sử dụng Chính sách bảo mật nội dung (CSP) yêu cầu các tập lệnh phải có một mã bảo mật đặc biệt gọi là "nonce". YouTube tự động thêm mã này vào các tập lệnh trong tệp HTML của bạn, nhưng bạn phải tự thêm mã này vào mọi tập lệnh mà bạn tạo bằng mã.
Khi tạo thẻ tập lệnh theo phương thức lập trình bằng JavaScript, bạn cần tìm số chỉ dùng một lần từ trang của mình và áp dụng số chỉ dùng một lần đó cho phần tử tập lệnh mới.
Ví dụ:
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);
Bạn có thể kiểm thử các cấu hình ngoại tuyến bằng cách sử dụng nguyên tắc được chỉ định trong hướng dẫn của bộ kiểm thử.
Tích hợp SDK
Phần này bao gồm mọi câu hỏi liên quan đến bất kỳ API nào của SDK Playables.
Tôi không được cấp chứng nhận do các vấn đề về tích hợp âm thanh. Tôi cần khắc phục vấn đề gì?
Vấn đề âm thanh thường gặp nhất là các trò chơi yêu cầu người dùng tương tác trước khi bắt đầu phát. Tuy nhiên, Chơi game trên YouTube có thể tự động được tập trung, vì vậy, trò chơi phải xử lý trường hợp này.
Để xem ví dụ về cách thiết lập âm thanh, hãy xem các mẫu.
Unity
Phần này bao gồm mọi câu hỏi liên quan đến việc tích hợp các trò chơi Unity hiện có với SDK Chơi game trên YouTube. Để biết ví dụ về cách sử dụng SDK và Trình bao bọc Unity, hãy xem tài liệu về Trình bao bọc Unity của Chơi game trên YouTube.
Tôi có thể sử dụng tính năng nén trước của Unity không?
Bạn không nên nén trước các thành phần của mình. Yêu cầu về kích thước gói ban đầu sử dụng kích thước sau khi nén và các tệp đã tải lên sẽ được nén sau khi tiếp nhận. Nếu bạn vẫn cần nén trước các tệp, hãy xem phần còn lại của phần này hoặc liên hệ với nhóm hỗ trợ trên trang liên hệ hỗ trợ của chúng tôi để thảo luận về lựa chọn tốt nhất cho trò chơi của bạn.
Một số trò chơi sẽ cần sử dụng tính năng nén trước cho các tệp .wasm hoặc .data của Unity.
Chỉ sử dụng tính năng nén trước trong các điều kiện sau vì điều này có thể dẫn đến thời gian tải chậm hơn nhiều:
- Nếu bạn cần sử dụng tính năng nén trước của Unity để đáp ứng các yêu cầu về kích thước tệp riêng lẻ hoặc tổng kích thước gói, hãy xem "Tôi đã đạt hoặc vượt quá giới hạn kích thước tệp riêng lẻ hoặc tổng kích thước gói. Tôi nên làm gì?".
- Nếu bạn cần sử dụng tính năng nén trước của Unity để trò chơi của bạn vượt qua quy trình chứng nhận, bạn phải đáp ứng các yêu cầu sau:
- Bạn PHẢI sử dụng tính năng nén trước bằng zip.
- Bạn PHẢI giải nén các tệp theo cách thủ công trong tập lệnh trình tải. Bạn nên sử dụng API Luồng nén.
Các yêu cầu bổ sung này xuất phát từ những hạn chế của kiến trúc phân phát. Hiện tại, chúng tôi không hỗ trợ các tiêu đề HTTP bổ sung hoặc tính năng nén Brotli.
Làm cách nào để quản lý các bản cập nhật khung hình khi trò chơi đang chạy ở chế độ nền?
Bạn có thể sử dụng setTimeout để quản lý các bản cập nhật khung hình khi trò chơi chạy ở chế độ nền.
Điều này giúp kiểm soát các hành vi như tạm dừng âm thanh. Bạn có thể xác minh tính năng quản lý khung hình ở chế độ nền bằng cách bật tuỳ chọn "Chạy ở chế độ nền" trong phần cài đặt trình phát.
Giới hạn bộ nhớ cho trò chơi Unity
Một số trò chơi trong Unity sẽ sử dụng một lượng bộ nhớ đáng kể, điều này có thể dẫn đến vượt quá mức sử dụng bộ nhớ cho các trò chơi có thể chơi được. Bạn nên làm theo tài liệu phát triển về Bộ nhớ trong Unity WebGL.