Google Play Games đang ở giai đoạn thử nghiệm công khai.

Khả năng tương thích và tối ưu hoá

Stay organized with collections Save and categorize content based on your preferences.

Google Play Games yêu cầu bạn nâng cao khả năng tương thích cũng như khả năng tối ưu hoá với máy tính cho trò chơi của bạn. Ngoài những thay đổi này, bạn cũng cần cập nhật cấu hình đồ hoạ của trò chơi để đảm bảo khả năng tương thích với máy tính.

Vui lòng xem Các yêu cầu tối thiểu về máy tính để người dùng có thể cài đặt nền tảng này cũng như thiết lập máy phát triển.

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

Tất cả cá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 x86 ABI để đảm bảo hiệu suất và độ ổn định tốt nhất trên nền tảng. Google Play Games hỗ trợ cả phiên bản 32 bit và 64 bit, nhưng bạn chỉ cần chọn một phiên bản để đáp ứng yêu cầu này.

Biên dịch thư viện

Để đảm bảo khả năng tương thích tối đa với bộ xử lý x86, hãy tránh 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 hoặc -march=x86-64 và tránh dùng -march=atom.

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

Nếu trò chơi của bạn sử dụng 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/x86-64:

  1. Chuyển đến Player Settings (Cài đặt người chơi) > Other Settings (Cài đặt khác) > Configuration (Cấu hình) > Scripting Backend (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 cho phiên bản Unity của bạn:

    • Unity 2018 trở xuống: chuyển đến Player Settings (Cài đặt người chơi) > Other Settings (Cài đặt khác) > Target Architecture (Cấu trúc mục tiêu), sau đó chọn hộp đánh dấu x86.

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

Để hỗ trợ tối đa cho công cụ phát triển trò chơi, bạn nên bật cả tính năng hỗ trợ x86 và x86-64, hoặc chỉ bật x86-64 để không bị giới hạn trong dung lượng bộ nhớ 32 bit.

Vì Unity 2018 chỉ hỗ trợ mục tiêu x86, nên bạn có thể bỏ qua tính năng hỗ trợ x86-64. Tuy nhiên, bạn không thể phát hành bản dựng đó trên Android do yêu cầu về 64 bit. Trong trường hợp như vậy, bạn cần duy trì một bản dựng riêng cho Google Play Games.

Phát hiện Google Play Games

Bạn có thể phát hiện nền tảng Google Play Games trong thời gian chạy. Điều này cho phé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 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ò chơi của bạn sẽ hiển thị khi người chơi kích hoạt lớp phủ trình mô phỏng. Việc không theo dõi sự kiện onPause có thể dẫn đến trải nghiệm không tốt cho người dùng.

Cập nhật giao diện người dùng để tương thích với máy tính

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 hành động trên giao diện người dùng mà cần sử dụng 2 ngón tay trở lên (ví dụ: "Chụm để thu phóng")
  • 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 khu vực có thể mở rộng nên có thanh cuộn hoặc công cụ khác giúp lướt nhanh qua các khoảng cách 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 giới hạn 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 hiển thị. Không phát hiện lượt nhấp ở phạm vi bên ngoài hộp thoại.

Tắt hộp thoại quyền

Google Play Games không hiển thị các hộp thoại quyền, vì vậy, bạn không nên tìm cách hiển thị hộp thoại quyền trước khi yêu cầu quyền. Nếu các hộp thoại quyền được hiển thị từ trước, bạn nên cập nhật ứng dụng của mình để ứng dụng không tiếp tục hiển thị các hội thoại quyền trên máy tính.

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

Một số tính năng của Android trên điện thoại di động hoặc máy tính bảng sẽ không thể truy cập được trên máy tính. Cụ thể là các tính năng phần cứng như máy ảnh và các tính năng khác như vị trí của người dùng. Do đó, hãy tránh để trò chơi phụ thuộc vào các tính năng hoặc quyền trên Android không được hỗ trợ. Nếu trên máy tính, trò chơi yêu cầu quyền truy cập không được hỗ trợ, thì yêu cầu đó sẽ tự động được coi là không thành công.

Để 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:

  • Trong tệp kê khai ứng dụng, hãy thêm android:required="false" vào phần khai báo <uses-feature> cho mọi tính năng mà Google Play Games không hỗ trợ. Điều 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.
  • Trong trò chơi của bạn, hãy tắt các tính năng phụ thuộc vào các tính năng phần cứng và phần mềm không được hỗ trợ trên máy tính. Nếu sử dụng cùng một tệp APK với trò chơi dành cho thiết bị di động, thì bạn có thể tắt các tính năng theo điều kiện cho máy tính.
  • Tắt yêu các cầu quyền trên Android không được hỗ trợ xuất phát từ trò chơi và các tính năng phụ thuộc vào những quyền này. Nếu đang sử dụng cùng một tệp APK với trò chơi dành cho thiết bị di động, bạn có thể thực hiện các thay đổi này cho máy tính theo điều kiện. Bạn không nên thay đổi các quyền đã khai báo trong 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 của chúng tôi về khả năng tương thích của tệp kê khai ứng dụng đối với Chromebook.

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
  • android.hardware.microphone

Để biết thêm thông tin về cách xoá tính năng android.hardware.wifi, hãy xem phần 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.

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 lần cuối cho Google Play Console:

  • android.hardware.audio.pro
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.hardware.consumerir
  • android.hardware.location
  • android.hardware.microphone
  • 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 thường dùng sau đây không được hỗ trợ trên máy tính:

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

Trang web bên ngoài và WebView

Một ý định của trình duyệt 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. Điều này mang lại 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 có hỗ trợ WebView. Vì được mở trong môi trường Google Play Games, nên WebView sẽ không có trải nghiệm người dùng đặc trưng trên trình duyệt dành cho máy tính. Nếu trước đó bạn đã 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 API Dịch vụ Google Play không được hỗ trợ

Google Play Games sẽ phân phối biến thể Dịch vụ Google Play riêng chỉ chứa một nhóm nhỏ 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ụ: Firebase Cloud Messaging sẽ không hoạt động khi Google Play Games đóng.

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

Những mô-đun này hiện có sẵn và sẽ được Google Play Games hỗ trợ trong tương lai:

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 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ợ

Các mô-đun này không được hỗ trợ trong Google Play Games nhưng không gây ra vấn đề trong Google Play Games khi gặp lỗi:

Hỏng

Bạn không nên sử dụng các mô-đun này để tránh khả năng phát sinh các hành vi không mong muốn trên Google Play Games.

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

Mục này áp dụng nếu trò chơi của bạn đọc/ghi vào bộ nhớ ngoài. Cần bật bộ nhớ có giới hạn 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:

Tắt quảng cáo trên thiết bị di động trong phiên bản trò chơi dành cho máy tính

Để tối ưu hoá trò chơi dành cho máy tính, bạn phải tắt quảng cáo trên thiết bị di động trong phiên bản dành cho máy tính, vì loại quảng cáo này không tương thích với máy tính và máy tính xách tay. Điều này áp dụng cho tất cả đơn vị quảng cáo do SDK quảng cáo trên thiết bị di động cung cấp. Bạn không cần thay đổi gì đối với quảng cáo trong phiên bản trò chơi dành cho thiết bị di động. Bạn nên dùng cờ tính năng để chỉ áp dụng các thay đổi cho phiên bản trò chơi dành cho máy tính. Bạn vẫn có thể giữ lại quảng cáo trên thiết bị di động trên Chrome OS.

Khi xoá quảng cáo trên thiết bị di động, bạn cần thực hiện các bước sau:

  • Tắt tất cả đơn vị quảng cáo trên thiết bị di động, bao gồm biểu ngữ, quảng cáo xen kẽ và quảng cáo có tặng thưởng.
  • Tắt các tính năng phụ thuộc vào quảng cáo có tặng thưởng trong trò chơi. Ví dụ: bạn có thể tắt hoặc xoá hoàn toàn nút mở tính năng cho phép người dùng xem quảng cáo dạng video để kiếm tiền trong trò chơi.

Analytics

Các sản phẩm Google Analytics cũ không hoạt động trong Google Play Games. Nếu bạn gặp trường hợp này, bạn cần chuyển sang Google Analytics 4.

Bạn sẽ chỉ bị ảnh hưởng nếu đang sử dụng Google Analytics 360. Nếu bạn đang sử 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.