Skip to content

Yêu cầu kỹ thuật

Tương thích thiết bị và trình duyệt

Chúng tôi muốn trò chơi có thể chạy trên Chrome và Edge. Những trò chơi chạy không tốt trên Safari sẽ bị vô hiệu hóa. Một phần đáng kể người dùng của Jogos sử dụng Chromebook. Nếu trò chơi chạy không mượt trên thiết bị có 4GB RAM, hệ thống Chromium OS sẽ vô hiệu hóa những trò chơi này. Nếu hỗ trợ thiết bị di động, trò chơi cũng hỗ trợ chuột, bàn phím và cảm ứng. Trò chơi nên có thể chạy ở chế độ ngang trên thiết bị desktop. Chúng tôi cho phép phát hành trò chơi dọc, đặc biệt là phù hợp cho thiết bị di động, ví dụ như hiển thị các dải đen hoặc hình nền ở rìa màn hình.

  • Để đảm bảo tính tương thích của trò chơi H5 ở các quốc gia hoặc khu vực khác nhau, chúng tôi có các yêu cầu sau đối với việc đóng gói toàn bộ trò chơi:

    LoạiMáy tính để bànThiết bị di động
    Kích thước gói tải về ban đầu≤50MB≤25MB
    Tổng kích thước tệp≤ 500MB≤ 250MB
    Số lượng tệp≤5000≤3000

Yêu cầu cho trò chơi di động

Để đủ điều kiện cho trang chủ di động, kích thước tải về ban đầu không được vượt quá 25MB. Bạn có thể cấu hình hướng hỗ trợ trong nội dung gửi đi. Trang web sẽ yêu cầu người dùng quay thiết bị để đảm bảo trò chơi của bạn chỉ có thể chạy theo những hướng này. Do đó, bạn không cần phải triển khai bất kỳ logic khóa hướng nào. Ví dụ, khi chơi trò chơi trên một số thiết bị (ví dụ như máy tính bảng), nhấn đúp hoặc giữ lâu có thể hiển thị công cụ phóng to hoặc chọn toàn bộ trò chơi và hiển thị menu ngữ cảnh. Để tránh thao tác không trơn tru, hãy thêm CSS sau vào phần body của trò chơi:

java
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

Do bị lỗi không thường xuyên (do hết bộ nhớ), các trò chơi Unity trên nền tảng iOS mặc định bị vô hiệu hóa. Khi trò chơi của bạn đạt được số lượng người chơi nhất định, đội ngũ của chúng tôi sẽ đánh giá hiệu suất của nó trên nền tảng iOS và xem xét việc bật chức năng này hay không.

Chúng tôi quản lý chất lượng đồ họa Unity (tỷ lệ pixel thiết bị) để đảm bảo cung cấp cho người dùng trải nghiệm chơi game tốt: Đối với các thiết bị iOS và các thiết bị Android có lượng bộ nhớ thấp, chúng tôi chọn giá trị DPR là 1, vì các thiết bị này sẽ bị lỗi khi DPR được hỗ trợ natively cao hơn. Đối với các thiết bị khác, sử dụng DPR natively được hỗ trợ bởi thiết bị (window.devicePixelRatio). Nếu chúng tôi cho rằng cần có ngoại lệ, chúng tôi có thể ghi đè cấu hình này bằng tay.

Giải thích về bộ điều khiển QA

Công cụ kiểm tra chất lượng QA cho nhà phát triển Jogos cung cấp hai giải pháp thích ứng hoàn chỉnh, bạn không cần phải thực hiện công việc thích ứng bổ sung cho trò chơi của mình:

  • Nếu trò chơi của bạn chỉ được thích ứng cho thiết bị di động natively và sử dụng nút ảo, cần sử dụng joystick ảo. Thì bạn có thể sử dụng cấu hình "Chân tay điều khiển PC cho trò chơi di động" để cấu hình nút bàn phím hoặc chuột để đáp ứng nhu cầu điều khiển của người chơi trên máy tính để bàn. alt text

  • Nếu trò chơi của bạn chỉ được thích ứng cho máy tính để bàn natively và sử dụng bàn phím và chuột để điều khiển. Thì bạn có thể sử dụng "Chân tay điều khiển di động cho trò chơi PC" để kéo thả các nút ảo, joystick ảo đến vị trí bạn cho là phù hợp để ánh xạ các phím trên PC, giúp người chơi có thể thao tác trên thiết bị di động.
    alt text

Xử lý các vấn đề thường gặp

Đoạn mã sau có thể khắc phục nhiều vấn đề trải nghiệm người dùng gây ra bởi hành vi mặc định của trình duyệt (những vấn đề này đã được UnitySDK của chúng tôi giúp bạn thực hiện, các nền tảng khác xem trường hợp sử dụng).

  • Cuộn trang không cần thiết
  • Sự kiện phím không cần thiết
  • Thay đổi khả năng hiển thị trên ứng dụng Samsung
  • Xuất hiện menu ngữ cảnh bên ngoài canvas Unity
javascript
// Vô hiệu hóa cuộn trang không cần thiết.
window.addEventListener('wheel', (event) => event.preventDefault(), {
  passive: false,
});

// Vô hiệu hóa sự kiện phím không cần thiết và cuộn bằng phím cách.
window.addEventListener('keydown', (event) => {
  if (['ArrowUp', 'ArrowDown', ''].includes(event.key)) {
    event.preventDefault();
  }
});

// Đây là bản sửa lỗi xử lý thay đổi khả năng hiển thị
// Trên webview, đây là một vấn đề được báo cáo cho ứng dụng Samsung.
document.addEventListener('visibilitychange', () => {
  if (document.visibilityState) {
    if (document.visibilityState === 'hidden') {
      application.publishEvent('OnWebDocumentPause', 'True');
    } else if (document.visibilityState === 'visible') {
      application.publishEvent('OnWebDocumentPause', 'False');
    }
  }
});

// Vô hiệu hóa menu ngữ cảnh xuất hiện sau khi nhấp phải bên ngoài canvas.
document.addEventListener('contextmenu', (event) => event.preventDefault());