Khả năng tương thích và tối ưu hoá trên máy tính của Google Play Games trên máy tính

Google Play Games trên máy tính yêu cầu bạn thực hiện những thay đổi về khả năng tương thích và tối ưu hoá trên máy tính cho trò chơi của mình. Những thay đổi này đảm bảo trò chơi của bạn có thể chạy trên máy tính và mang lại trải nghiệm người dùng tối ưu cho nền tảng.

Ngoài ra, Google Play Games trên máy tính còn có yêu cầu về đồ hoạ, đầu vào thiết bị và khả năng chơi trên nhiều thiết bị. Để biết thêm thông tin, vui lòng xem bài viết Hướng dẫn bắt đầu sử dụng.

Khi thực hiện những thay đổi về khả năng tương thích và tối ưu hoá trên máy tính (ngoài khả năng hỗ trợ x86-64), bạn có thể thiết lập trò chơi để phát hiện Google Play Games trên máy tính, sau đó tắt hoặc bật các tính năng dành riêng cho nền tảng. Điều này cho phép bạn sử dụng cùng một APK hoặc Gói ứng dụng cho các bản phát hành trên máy tính và thiết bị di động Android.

Sau đây là tóm tắt về các yêu cầu và đề xuất có trên trang này:

Bao gồm cấu trúc ABI x86-64

Đây là yêu cầu bắt buộc theo quy trình phát hành

Tất cả thư viện trong trò chơi của bạn đều phải có phiên bản tương thích với ABI (Giao diện nhị phân ứng dụng) x86-64 để đảm bảo hiệu suất và độ ổn định tốt nhất trên nền tảng.

Nếu về mặt kỹ thuật, trò chơi của bạn không thể gửi tệp thực thi 64 bit x86, thì bạn phải liên hệ với nhóm xem xét về trường hợp ngoại lệ. Trò chơi của bạn không đạt được toàn bộ chứng nhận do có một trường hợp ngoại lệ, nhưng có thể được đưa vào danh mục dưới dạng một trò chơi "có thể chơi được".

Biên dịch thư viện

Để đảm bảo khả năng tương thích tốt nhất cho bộ xử lý x86-64, bạn không nên sử dụng tập lệnh atom khi biên dịch thư viện. Ví dụ: khi sử dụng gcc, hãy dùng -march=x86-64 và tránh dùng -march=atom.

Cấu trúc mục tiêu trong Unity

Một số phiên bản Unity 2019 và 2020 không hỗ trợ cấu trúc x86-64 trên Android. Hãy đảm bảo bạn đang dùng Unity 2019.4.31f1, 2020.3.19f1 trở lên.

Nếu trò chơi của bạn sử dụng một phiên bản tương thích của công cụ phát triển trò chơi Unity, hãy làm như sau để bật các mục tiêu Android x86-64:

  1. Chuyển đến Player Settings > Other Settings > Configuration > Scripting Backend (Cài đặt người chơi > Cài đặt khác > Cấu hình > Phần phụ trợ tập lệnh) rồi chọn IL2CPP trong trình đơn thả xuống để bật Phần phụ trợ tập lệnh IL2CPP.

  2. Bật các mục tiêu Android x86-64 cho phiên bản Unity của bạn:

    • Unity 2018 trở xuống: chuyển đến Player Settings > Other Settings > Target Architecture (Cài đặt người chơi > Cài đặt khác > Cấu trúc mục tiêu) rồi chọn hộp đánh dấu x86. Vì Unity 2018 chỉ hỗ trợ các mục tiêu x86, nên bạn sẽ không thể tạo x86-64. Bản dựng này sẽ yêu cầu một ngoại lệ từ nhóm đánh giá. Vui lòng liên hệ với người liên hệ của Google để yêu cầu một ngoại lệ x86.

    • Bản phát hành Hỗ trợ dài hạn (LTS) Unity 2019 trở lên: chuyển đến phần Player Settings > Other Settings > Target Architectures (Cài đặt người chơi > Cài đặt khác > Cấu trúc mục tiêu rồi bật x86-64 (ChromeOS).

Phát hiện Google Play Games trên máy tính

Bạn có thể phát hiện nền tảng Google Play Games trên máy tính trong thời gian chạy. Điều này giúp bạn bật hoặc tắt các tính năng riêng của nền tảng trong trò chơi của mình.

Hãy kiểm tra tính năng hệ thống com.google.android.play.feature.HPE_EXPERIENCE để xác định xem trò chơi của bạn có đang chạy trên nền tảng Google Play Games trên máy tính hay không:

Kotlin

    var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

Java

    PackageManager pm = getPackageManager();
    boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

C#

var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager");
var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
  

Xử lý các sự kiện trong vòng đời của Android

Xử lý sự kiện onPause (c++) là việc quan trọng cần thực hiện trong môi trường Google Play Games trên máy tính. Người chơi sẽ nhìn thấy trò chơi của bạn khi kích hoạt lớp phủ trình mô phỏng, vì vậy, việc không nghe được sự kiện onPause có thể dẫn đến trải nghiệm người dùng không tốt.

Cập nhật giao diện người dùng

Một số thành phần và cử chỉ trên giao diện người dùng không phù hợp với máy tính và cần được cập nhật.

Bắt buộc:

  • Thay thế các thao tác trên giao diện người dùng cần hai ngón tay trở lên (cử chỉ nhiều điểm chạm). Ví dụ: bạn nên thay thế cử chỉ chụm để thu phóng và các cử chỉ nhiều điểm chạm khác bằng phương thức nhập tương ứng từ chuột và bàn phím. Để biết thông tin chi tiết về những thay đổi đối với phương thức nhập của thiết bị, hãy xem bài viết Hỗ trợ phương thức nhập.

Đề xuất:

  • Tất cả văn bản hiển thị với người dùng nên hiển thị là "nhấp" thay vì "nhấn".
  • Danh sách dạng cuộn nên có thanh cuộn.
  • Các vùng mà người dùng có thể kéo nên có thanh cuộn hoặc cách thức khác giúp lướt nhanh qua các khoảng lớn.
  • Không hiển thị bàn phím có thể nhấp trên màn hình nhập văn bản.
  • Tất cả mục nhập văn bản phải nằm trong ranh giới của trường văn bản.
  • Thao tác nhấp vào các thành phần hiển thị nên:
    • Chấp nhận lượt nhấp ở bất cứ đâu trong ranh giới hiển thị của thành phần.
    • Không chấp nhận lượt nhấp ở phạm vi bên ngoài thành phần hiển thị.
  • Hộp thoại nên có một nút đóng dễ thấy. Không phát hiện lượt nhấp ở bên ngoài ranh giới hộp thoại.

Tắt hầu hết các hộp thoại quyền

Ngoại trừ quyền truy cập vào micrô, Google Play Games trên máy tính không hiện hộp thoại quyền. Vì vậy, bạn không nên tìm cách hiện hộp thoại quyền hoặc yêu cầu cấp quyền trong thời gian chạy. Nếu đã hiện hộp thoại quyền từ trước, bạn nên cập nhật trò chơi để không hiện hộp thoại quyền trên máy tính nữa.

Các tính năng và quyền trên Android không được hỗ trợ

Đây là yêu cầu bắt buộc theo quy trình phát hành

Một số tính năng phần cứng phổ biến trên điện thoại di động và máy tính bảng không có trên máy tính. Điều này bao gồm các tính năng phần cứng (như máy ảnh) hoặc thông tin vị trí của người chơi. Nếu bất cứ trò chơi nào yêu cầu các tính năng còn thiếu, người chơi sẽ không thể tải trò chơi đó xuống và cài đặt trên máy tính của họ. Mọi yêu cầu tải tính năng còn thiếu xuống máy tính sẽ tự động không thành công.

Để xem danh sách đầy đủ các tính năng hiện có, hãy nhập:

adb shell pm list features

Để trò chơi tương thích với máy tính, bạn cần thực hiện những thay đổi sau:

  • Cần phải đánh dấu các tính năng là không bắt buộc trong tệp kê khai ứng dụng bằng cách thêm android:required="false" vào lệnh khai báo <uses-feature>. Bước này chỉ áp dụng cho các tính năng đã được khai báo trong tệp kê khai ứng dụng.

  • Không thử dùng các tính năng còn thiếu trong thời gian chạy. Nếu bạn đang sử dụng cùng một APK trên cả phiên bản dành cho thiết bị di động và máy tính, hãy phát hiện môi trường máy tính trong thời gian chạy và tránh các đường dẫn mã có liên quan.

  • Không yêu cầu quyền không được hỗ trợ trên Android trong thời gian chạy. Nếu bạn đang sử dụng cùng một APK trên cả phiên bản dành cho thiết bị di động và máy tính, hãy phát hiện môi trường máy tính trong thời gian chạy và tránh các đường dẫn mã có liên quan. Bạn không cần phải cập nhật tệp kê khai.

Để biết thêm thông tin về khả năng tương thích của tệp kê khai ứng dụng, hãy xem hướng dẫn về Khả năng tương thích của tệp kê khai ứng dụng đối với Chromebook.

Yêu cầu về kiểm thử chức năng

Hãy xoá các tính năng phần cứng này trước khi gửi bản thử nghiệm đầu tiên đến Google Play Console:

  • android.hardware.wifi
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.hardware.location

Vì lý do về tính tương thích, một số tính năng trong số này có thể được liệt kê là được hỗ trợ khi chạy pm list features, nhưng sẽ không được triển khai đầy đủ. Để biết thêm thông tin về cách xoá tính năng android.hardware.wifi, hãy xem bài viết Theo dõi trạng thái kết nối và định mức kết nối. Để xem danh sách đầy đủ các tính năng không được hỗ trợ, hãy xem hướng dẫn về khả năng tương thích với tệp kê khai ứng dụng đối với Chromebook.

Yêu cầu về kiểm thử chất lượng

Các tính năng phần cứng thường dùng này không tương thích với máy tính. Vì vậy, bạn phải xoá các tính năng này trước khi gửi chính thức cho Google Play Console:

  • android.hardware.audio.pro
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.hardware.consumerir
  • android.hardware.location
  • android.hardware.nfc
  • android.hardware.sensor.light
  • android.hardware.sensor.accelerometer
  • android.hardware.sensor.barometer
  • android.hardware.sensor.compass
  • android.hardware.sensor.gyroscope
  • android.hardware.sensor.proximity
  • android.hardware.telephony
  • android.hardware.touchscreen
  • android.hardware.usb.accessory
  • android.hardware.usb.host
  • android.hardware.wifi
  • android.software.midi

Các quyền không được hỗ trợ

Các quyền thường dùng sau đây không được hỗ trợ trên máy tính. Vì vậy, trò chơi của bạn phải tắt các quyền đó cho Google Play Games trên máy tính:

  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.BLUETOOTH
  • android.permission.CAMERA
  • android.permission.FOREGROUND_SERVICE
  • android.permission.GET_ACCOUNTS
  • android.permission.INSTALL_PACKAGES
  • android.permission.READ_CONTACTS
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_PHONE_STATE
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.USE_CREDENTIALS
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.WRITE_SETTINGS
  • com.google.android.gms.permission.ACTIVITY_RECOGNITION

Trang web bên ngoài và WebView

Một ý định của trình duyệt sẽ tải trên trình duyệt web gốc của máy tính thay vì một trình duyệt trong môi trường Google Play Games trên máy tính. Đây là trải nghiệm lý tưởng cho người chơi trong hầu hết các tình huống.

Để dễ dàng chuyển đổi, Google Play Games trên máy tính có hỗ trợ WebView. Vì được mở trong môi trường Google Play Games trên máy tính nên WebView sẽ thiếu trình duyệt đặc trưng dành cho máy tính. Nếu trước đó đã sử dụng WebView để chia sẻ Điều khoản dịch vụ, Chính sách quyền riêng tư hoặc nội dung tương tự khác, thì bạn nên gọi một ý định của trình duyệt.

Tắt các Google Play Service API (API Dịch vụ Google Play) không được hỗ trợ

Đây là yêu cầu bắt buộc theo quy trình phát hành

Google Play Games trên máy tính sẽ phân phối biến thể Dịch vụ Google Play riêng chỉ chứa một nhóm nhỏ Google Play Service API (API Dịch vụ Google Play). Bạn cần xác nhận rằng ứng dụng của bạn không phụ thuộc nhiều vào các mô-đun đã bị xoá hoặc không được hỗ trợ trên máy tính. Hãy lưu ý rằng một số mô-đun có thể có sẵn nhưng chức năng của các mô-đun này không phải lúc nào cũng được hỗ trợ. Ví dụ: Giải pháp gửi thông báo qua đám mây của Firebase sẽ không hoạt động khi Google Play Games trên máy tính đóng.

Mô-đun được hỗ trợ

Những mô-đun này hiện có sẵn và được Google Play Games trên máy tính hỗ trợ, cùng với các gói hỗ trợ tính năng bổ sung:

Hỗ trợ có giới hạn

Các mô-đun sau đây chỉ hoạt động một phần. Các mô-đun này sẽ được Google Play Games trên máy tính hỗ trợ ở mức tối đa, nhưng chúng tôi không thể đảm bảo chức năng của chúng.

Không được hỗ trợ

Những mô-đun này không được hỗ trợ trong Google Play Games trên máy tính nhưng khi gặp lỗi sẽ không gây ra sự cố trong Google Play Games trên máy tính:

Hỏng

Đây là yêu cầu bắt buộc theo quy trình phát hành

Bạn không được dùng những mô-đun này trên máy tính vì như vậy có thể gây ra hành vi không mong muốn trong Google Play Games trên máy tính.

Bật tính năng bộ nhớ có giới hạn

Đây là yêu cầu bắt buộc theo quy trình phát hành

Phần này áp dụng nếu trò chơi của bạn đọc hoặc ghi vào bộ nhớ ngoài. Việc thực thi bộ nhớ có giới hạn là bắt buộc, đóng vai trò như một cách khác để đọc và ghi vào bộ nhớ. Khi làm như vậy, bạn không cần phải đưa ra lời nhắc cho người chơi về các quyền truy cập thông tin nhạy cảm này:

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE

Để biết thêm thông tin về bộ nhớ có giới hạn, hãy xem:

Số liệu phân tích

Các sản phẩm Google Analytics cũ không hoạt động trong Google Play Games trên máy tính. Nếu trường hợp này áp dụng cho trò chơi của bạn, bạn nên chuyển sang Google Analytics 4.

Điều này sẽ chỉ ảnh hưởng đến trò chơi nếu bạn đang dùng Google Analytics 360. Nếu bạn đang dùng Firebase SDK để theo dõi các sự kiện phân tích trong trò chơi của mình và có thể thấy trò chơi dưới dạng một tài sản trong Google Analytics Console, thì bạn không cần làm gì thêm.