Nếu bạn có câu hỏi không có trên trang này, hãy liên hệ bằng thông tin liên hệ trên trang liên hệ hỗ trợ.
Trang này có thể được cập nhật các câu hỏi thường gặp khi chúng tôi nhận được.
Giải pháp chung
Mục 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ể thử nghiệm trò chơi trong môi trường YouTube không?
Có – hãy sử dụng Cổng thông tin cho nhà phát triển và làm theo hướng dẫn kiểm thử.
Tôi nên làm gì nếu trò chơi của tôi không hiển thị trên Android hoặc bộ kiểm thử SDK?
Khi trò chơi không hiển thị 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 không thành công khi kích thước khung nhìn bằng 0.
Bạn nên theo dõi sự kiện cửa sổ resize và chỉ đặt chiều cao của trò chơi khi window.innerHeight khác 0.
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 tính năng Chơi game trên YouTube.
Tôi có thể được miễn giới hạn về kích thước tệp riêng lẻ không?
Không. Kích thước tệp riêng lẻ là giới hạn cố định.
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 bằng tổng số byte mà Quảng cáo có thể chơi tải xuống cho đến khi sự kiện gameReady được gọi.
Bản có thể chơi 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 tài sả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 so với kích thước sau khi Quảng cáo có thể chơi đượ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 Quảng cáo có thể chơi, hãy sử dụng Bộ kiểm thử SDK trỏ đến tệp index.html từ mộ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 đến hoặc vượt quá giới hạn kích thước của từng tệp hoặc tổng kích thước của 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 suất
- Thời gian tải nhanh
-
Tối ưu hoá việc mã hoá và kích thước chuyển của thành phần dựa trên văn bản
Nếu tôi không thể đáp ứng giới hạn tổng kích thước gói thì sao?
Người dùng có thể phải tải thành phần xuống từ trò chơi của bạn mỗi khi 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 đặt tổng kích thước gói của trò chơi ở mức nhỏ nhất có thể.
Bạn nên sử dụng tính năng tải chậm 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ỏ thành phần theo từng cấp để cho phép tải thành phần xuống với số lượng nhỏ trong suốt một phiên chơi dài. Trong những trường hợp như thế nà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 nhiều nội dung hơn trong trò chơi của bạn với mức sử dụng thấp hơn cho 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à cần có tổng kích thước gói lớn hơn, hãy liên hệ với chúng tôi qua trang liên hệ hỗ trợ để thảo luận về trường hợp sử dụng của bạn.
Tôi có thể loại trừ số liệu phân tích nội bộ khỏi các yêu cầu về lệnh gọi bên ngoài không?
Không. Hiện tại, Chơi game không được thực hiện bất kỳ lệnh gọi bên ngoài nào. Hãy cho người quản lý đối tác biết loại số liệu phân tích mà bạn quan tâm để chúng tôi có thể ưu tiên các tính năng trong tương lai cho không gian này.
Trò chơi tìm nạp dữ liệu và cấp độ từ mộ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, tuy nhiên, chúng tôi đang thử nghiệm quyền truy cập dữ liệu từ xa với một số tựa sách. 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 nội dung hay thành phần trò chơi, hãy liên hệ với chúng tôi bằng thông tin liên hệ trên trang liên hệ hỗ trợ để gửi gói trò chơi mới hoặc liên hệ để tìm hiểu thêm nếu bạn muốn được xem xét tham gia chương trình thí điểm của chúng tôi.
Tôi thấy lỗi 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
Điều 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 tính bảo mật, 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 sẽ 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 trên trang của mình rồi áp dụng số đó 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ấu hình ngoại tuyến bằng cách làm theo hướng dẫn trong hướng dẫn về 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 SDK Playables nào.
Tôi không vượt qua được quy trình chứng nhận do các vấn đề về việc tích hợp âm thanh. Tôi cần khắc phục vấn đề gì?
Vấn đề phổ biến nhất về âm thanh 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ể được tự động lấy tiêu điểm, 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 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 hiện có trên Unity với SDK Chơi game trên YouTube. Để xem 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 cho tính năng 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. 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 được tải lên sẽ được nén sau khi nhập. Nếu bạn vẫn cần nén trước tệp, hãy xem phần còn lại của mục này hoặc liên hệ với nhóm hỗ trợ tại trang liên hệ hỗ trợ của chúng tôi để thảo luận về lựa chọn phù hợp 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ì việc này có thể khiế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 phần "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, thì 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 tệp 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 Compression Streams API.
Những yêu cầu bổ sung này bắt nguồn từ các điểm hạn chế của cấu trúc phân phát. Hiện tại, chúng tôi chưa 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 việc quản lý khung hình trong nền bằng cách bật tuỳ chọn "Run in Background" (Chạy trong 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ể, có thể dẫn đến việc vượt quá mức sử dụng bộ nhớ cho quảng cáo có thể chơi. Bạn nên làm theo tài liệu dành cho nhà phát triển về Bộ nhớ trong Unity WebGL.