Phát triển bằng Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính

Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính là trình mô phỏng dành riêng cho nhà phát triển Google Play Games trên máy tính. Không giống như trải nghiệm của người chơi, bạn có thể cài đặt và gỡ lỗi các gói của mình. Bạn cũng có thể mô phỏng nhiều cấu hình của người chơi, chẳng hạn như tỷ lệ khung hình, chế độ mô phỏng chuột và chương trình phụ trợ đồ hoạ để giúp đảm bảo rằng trò chơi của bạn hoạt động như mong đợi trên nhiều cấu hình máy tính.

Khởi động trình mô phỏng

Sau khi cài đặt, bạn sẽ có phần tử trình đơn khởi động "Trình mô phỏng dành cho nhà phát triển Google Play Games" và lối tắt trên màn hình để chạy trình mô phỏng này. Trình mô phỏng này sẽ vẫn nằm trong khay hệ thống khi bạn đóng cửa sổ.

Đăng nhập

Bạn sẽ được yêu cầu đăng nhập vào Tài khoản Google của mình trong lần đầu tiên chạy trình mô phỏng. Hãy sử dụng chính thông tin đăng nhập mà bạn định dùng cho hoạt động phát triển.

Bạn có thể đăng xuất bằng cách nhấp chuột phải vào biểu tượng khay hệ thống, chọn Developer Options (Tuỳ chọn cho nhà phát triển), sau đó nhấp vào Force sign out (Buộc đăng xuất). Khi bạn làm như vậy, trình mô phỏng sẽ khởi động lại ngay lập tức và yêu cầu bạn đăng nhập lại.

Sau khi chạy, bạn sẽ thấy màn hình chính điển hình của Android. Thao tác nhấp chuột trái được chuyển đổi trực tiếp thành thao tác nhấn ngón tay như ở chế độ mô phỏng chuột. Các trò chơi được cài đặt không qua cửa hàng ứng dụng để phát triển sẽ xuất hiện trong danh sách ứng dụng. Bạn có thể truy cập vào các trò chơi đó bằng cách nhấp và kéo lên trên máy tính (mô phỏng thao tác vuốt lên trên điện thoại hoặc máy tính bảng).

Ngoài tính năng chuyển đổi thao tác chuột, Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính còn cung cấp các phím tắt để cải thiện khả năng thao tác:

  • ctrl + h: nhấn nút màn hình chính
  • ctrl + b: nhấn nút quay lại
  • F11 hoặc alt + enter: chuyển đổi giữa chế độ toàn màn hình và chế độ cửa sổ
  • shift + tab: mở lớp phủ Google Play Games trên máy tính, bao gồm cả sơ đồ phím hiện tại cho SDK Đầu vào

Cài đặt trò chơi

Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính sử dụng Cầu gỡ lỗi Android (adb) để cài đặt các gói.

Khả năng tương thích với adb

Các phiên bản hiện tại của adb tương thích với Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính. Ngoài ra, một phiên bản tương thích sẽ được cài đặt tại C:\Program Files\Google\Play Games Developer Emulator\current\emulator khi bạn cài đặt trình mô phỏng.

Để làm theo các hướng dẫn này, bạn nên sử dụng adb trong $PATH của mình. Bạn có thể xác minh rằng adb được định cấu hình chính xác bằng lệnh adb devices

adb devices
List of devices attached
localhost:6520  device

Cài đặt trò chơi

  • Chạy Google Play Games for PC Emulator
  • Nhập adb devices vào dấu nhắc lệnh. Bạn sẽ thấy:

    adb devices
    List of devices attached
    localhost:6520 device
    
  • Gỡ rối:

    • Nếu gặp lỗi, hãy xác minh rằng bạn đã làm theo hướng dẫn trong phần Khả năng tương thích với Adb.
    • Nếu bạn không thấy thiết bị, hãy thử kết nối lại qua cổng 6520:
    adb connect localhost:6520
    
  • Nhập adb install path\to\your\game.apk để cài đặt trò chơi của bạn. Nếu bạn đã tạo Android App Bundle (aab), hãy xem hướng dẫn về bundletool và sử dụng bundletool install-apks.

  • Chạy trò chơi của bạn bằng một trong hai cách sau:

    • Nhập adb shell monkey -p your.package.name 1 để chạy trò chơi, thay your.package.name bằng tên gói của trò chơi.
    • Trong Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính, hãy nhấp vào biểu tượng để chạy trò chơi của bạn. Giống như trên điện thoại Android, bạn phải "vuốt lên" trên màn hình chính để xem danh sách các trò chơi đã cài đặt.

Gỡ lỗi trò chơi

Sử dụng Cầu gỡ lỗi Android (adb) để gỡ lỗi giống như với bất kỳ trò chơi nào khác. Trình mô phỏng xuất hiện dưới dạng một thiết bị được kết nối qua localhost:6520.

adb logcat hoạt động như dự kiến, cũng như các công cụ giúp làm đẹp hoặc lọc đầu ra logcat – bao gồm cả Android Studio.

Ngoài adb, bạn có thể truy cập vào các nhật ký trong thư mục %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs của mình. Ở đây, AndroidSerial.log là hữu ích nhất. Tệp này đại diện cho mọi giá trị mà adb logcat sẽ lặp lại từ thời điểm trình mô phỏng khởi động.

Chế độ cài đặt cho nhà phát triển

Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính tập trung vào hiệu quả của nhà phát triển hơn là trải nghiệm của người dùng cuối. Điều này có nghĩa là bạn có quyền truy cập không bị cản trở vào hệ thống Android, bao gồm cả việc sử dụng trình chạy Android tiêu chuẩn thay vì trải nghiệm Google Play Games trên máy tính, đồng thời kiểm soát các tính năng được bật và tắt tự động cho người chơi.

Kiểm thử thao tác đầu vào bằng chuột

Trong quá trình phát triển, Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính sẽ ở chế độ mặc định là mô phỏng thao tác chạm thay vì cung cấp cho bạn chế độ thao tác đầu vào bằng chuột trực tiếp. Bạn có thể bật chế độ thao tác đầu vào bằng chuột trực tiếp bằng cách nhấp chuột phải vào biểu tượng khay hệ thống, chọn Developer Options (Tuỳ chọn cho nhà phát triển) rồi chọn PC mode (KiwiMouse) (Chế độ máy tính (KiwiMouse)).

Google Play Games trên máy tính có 2 chế độ chuột: chế độ mô phỏng chuyển đổi thao tác nhấp chuột thành thao tác nhấn một lần và "Chế độ máy tính" truyền qua, cho phép trò chơi xử lý các thao tác với chuột một cách tự nhiên và thực hiện thao tác thu nạp con trỏ. Để biết thông tin chi tiết về thao tác đầu vào bằng chuột trong Google Play Games trên máy tính, hãy xem bài viết Thiết lập thao tác đầu vào bằng chuột.

Trong ứng dụng của người chơi, bạn có thể tắt tính năng mô phỏng bằng cách thêm đoạn mã này vào tệp kê khai:

<manifest ...>
  <uses-feature
      android:name="android.hardware.type.pc"
      android:required="false" />
  ...
</manifest>

Cờ tính năng này không ảnh hưởng đến môi trường phát triển.

Kiểm thử tỷ lệ khung hình

Trình mô phỏng dành cho nhà phát triển chạy theo tỷ lệ khung hình 16:9 – không giống như ứng dụng của người chơi lấy tỷ lệ khung hình của màn hình chính. Bằng cách nhấp chuột phải vào biểu tượng khay hệ thống, chọn Developer Options (Tuỳ chọn cho nhà phát triển) rồi chọn bất kỳ tuỳ chọn nào trong phần Display Ratio (Tỷ lệ hiển thị), bạn có thể kiểm thử giao diện trò chơi trên các màn hình mà người chơi sử dụng.

Phương thức ưu tiên để định cấu hình tỷ lệ khung hình là sử dụng android:minAspectRatioandroid:maxAspectRatio.

Ví dụ: trò chơi theo chiều dọc sẽ có tỷ lệ khung hình là 9/16 hoặc 0.5625. Do đó, bạn nên đặt tỷ lệ khung hình tối đa là 1 để giao diện trò chơi đó không rộng hơn hình vuông:

<activity android:maxAspectRatio="1">
 ...
</activity>

Tương tự như vậy, trò chơi theo chiều ngang sẽ là 16/9 hoặc khoảng 1.778. Vì vậy, bạn nên đặt tỷ lệ khung hình tối thiểu là 1 để giao diện trò chơi đó không hẹp hơn hình vuông:

<activity android:minAspectRatio="1">
 ...
</activity>

Nội dung cần kiểm thử

Nếu trò chơi của bạn chỉ hỗ trợ chế độ dọc trong tệp kê khai, bạn có thể chọn 9:16 (Dọc) trong trình đơn thả xuống để xem giao diện của trò chơi trên máy tính của người chơi. Nếu không, hãy xác minh rằng trò chơi của bạn hoạt động ở tỷ lệ ngang rộng nhất và hẹp nhất mà bạn hỗ trợ trong tệp kê khai. Xin lưu ý rằng tỷ lệ 16:9 (Mặc định) (hoặc 9:16 (Dọc) nếu trò chơi của bạn chỉ có chế độ dọc) là yêu cầu bắt buộc để được chứng nhận đầy đủ.

Kiểm thử phần phụ trợ kết xuất

Google Play Games trên máy tính sử dụng ANGLE làm lớp tương thích để đảm bảo rằng các lệnh gọi OpenGL ES được máy tính lưu trữ xử lý đúng cách thông qua phần phụ trợ DirectX hoặc Vulkan. Trình mô phỏng cũng hỗ trợ trực tiếp Vulkan, mặc dù không phải trên DirectX. Lớp này cũng chuyển đổi các định dạng hoạ tiết nén chỉ dành cho thiết bị di động sang các định dạng tương thích với máy tính. Bằng cách nhấp chuột phải vào biểu tượng khay hệ thống rồi chọn Cơ chế ghi đè ngăn xếp đồ hoạ, bạn có thể đặt tuỳ chọn này thành chế độ mặc định của hệ thống hoặc buộc bật/tắt vulkan để kiểm thử khả năng tương thích.

Nội dung cần kiểm thử

Có nhiều biến thể nhỏ trong các định dạng hoạ tiết được hỗ trợ và các bước cần thiết để mô phỏng nhiều tính năng dành cho thiết bị di động trên máy tính. Khi phân tích và tối ưu hoá trò chơi, bạn nên kiểm tra từng phần phụ trợ.

Phân tích trò chơi trên máy tính

Vì trình mô phỏng sử dụng cùng một công nghệ như ứng dụng của người dùng, nên đây là một môi trường thích hợp để phân tích hiệu suất.

Perfetto là một công cụ dùng để phân tích hiệu suất trên Android. Bạn có thể thu thập và xem dấu vết Perfetto bằng cách làm theo các bước sau:

  1. Trong dấu nhắc PowerShell, hãy bắt đầu ghi lại dấu vết bằng adb

    adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
    
    1. Cờ --time chỉ định thời lượng dấu vết cần thu thập.Trong ví dụ này, dấu vết cần 10 giây.
    2. Các đối số sau cờ --time cho biết những sự kiện cần theo dõi. Trong ví dụ này, gfx biểu thị thông tin đồ hoạ, quản lý cửa sổ wm và thông tin lên lịch của quy trình sched. Đây là những cờ phổ biến để lập hồ sơ trò chơi và có sẵn tài liệu tham khảo đầy đủ.
    3. Cờ --out chỉ định tệp đầu ra, tệp này được kéo ra khỏi trình mô phỏng vào máy chủ trong bước tiếp theo.
  2. Lấy dấu vết từ máy chủ

    adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
    
  3. Mở dấu vết trong giao diện người dùng Perfetto

    1. Mở ui.perfetto.dev.
    2. Chọn Open trace file (Mở tệp theo dõi) ở góc trên bên trái trong phần Navigation (Điều hướng).
    3. Mở tệp example.trace bạn đã tải xuống ở bước trước vào thư mục Downloads/.
  4. Kiểm tra dấu vết trong giao diện người dùng Perfetto. Một số mẹo dành cho bạn:

    1. Mỗi quy trình có một hàng riêng mà bạn có thể mở rộng để hiển thị tất cả các luồng trong quy trình đó. Nếu bạn đang lập hồ sơ một trò chơi, thì quá trình đó có thể là hàng đầu tiên.
    2. Bạn có thể phóng to và thu nhỏ bằng cách giữ phím Control và dùng con lăn chuột.
    3. Khi sử dụng sự kiện sched, mỗi luồng sẽ có một hàng cho biết thời điểm trạng thái của luồng đó đang chạy, có thể chạy, đang ngủ hoặc bị chặn.
    4. Khi bật một sự kiện như gfx, bạn có thể xem nhiều lệnh gọi đồ hoạ do nhiều luồng đưa ra. Bạn có thể chọn từng "lát cắt" ("slice") riêng lẻ để xem thời lượng, hoặc bạn có thể kéo dọc theo một hàng làm cho phần "lát cắt" mở ra ở dưới cùng và cho bạn thấy thời lượng của tất cả "lát cắt" trong khoảng thời gian mà bạn chọn.

Phân tích đồ hoạ

Bạn có thể thực hiện một số hoạt động phân tích đồ hoạ bằng RenderDoc.

  1. Đặt biến môi trường ANDROID_EMU_RENDERDOC thành một chuỗi không trống (chẳng hạn như "1").
  2. Đặt biến môi trường TMP thành %USERPROFILE%\AppData\LocalLow. Thao tác này sẽ yêu cầu Renderdoc đặt các tệp nhật ký ở vị trí nào đó có thể tiếp cận được trong hộp cát của trình mô phỏng.

  3. Nếu bạn đang sử dụng phần phụ trợ Vulkan. Hãy chọn Graphics Settings > Vulkan Instance Implicit Layers (Cài đặt đồ hoạ > Lớp ngầm định thực thể Vulkan) và nhớ đánh dấu mục VKLAYER_RENDERDOC_Capture.

  4. Khởi chạy Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính. Một lớp phủ RenderDoc sẽ được vẽ ở trên cùng khi bật tính năng hỗ trợ.

  5. Khởi chạy RenderDoc bất cứ lúc nào trước hoặc sau khi Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính khởi chạy.

  6. Nhấp vào File > Attach to Running Instance (Tệp > Đính kèm vào phiên bản đang chạy) rồi chọn crosvm.

Chỉ định các biến môi trường

Để Renderdoc hoạt động được, bạn phải thêm hoặc thay đổi các biến môi trường trong Windows. Bạn có thể thay đổi các biến môi trường bằng cách sử dụng giao diện người dùng, PowerShell hoặc cmd.exe.

Sử dụng giao diện người dùng
  • Nhấn tổ hợp phím Win+R để mở hộp thoại chạy.
  • Nhập sysdm.cpl để mở cửa sổ System Properties (Thuộc tính hệ thống).
  • Chọn thẻ Advanced (Nâng cao) nếu thẻ này chưa hoạt động.
  • Nhấp vào nút Environment Variables (Biến môi trường).

Từ đây, bạn có thể nhấp vào nút New (Mới) để tạo một biến môi trường mới hoặc chọn một biến rồi nhấp vào nút Edit (Chỉnh sửa) để chỉnh sửa biến đó.

Sử dụng PowerShell

Trong cửa sổ PowerShell, hãy nhập:

$Env:VARIABLE_NAME=VALUE

Thay thế VARIABLE_NAMEVALUE bằng các giá trị mà bạn muốn đặt. Ví dụ: để đặt ANDROID_EMU_RENDERDOC thành "1", hãy nhập:

$Env:ANDROID_EMU_RENDERDOC="1"
Sử dụng cmd.exe

Trong cửa sổ cmd.exe, hãy nhập:

set VARIABLE_NAME=VALUE

Thay thế VARIABLE_NAMEVALUE bằng các giá trị mà bạn muốn đặt. Ví dụ: để đặt ANDROID_EMU_RENDERDOC thành "1", hãy nhập:

set ANDROID_EMU_RENDERDOC="1"

Mẹo phát triển cho Android 11 (API cấp 30) trở lên

Google Play Games trên máy tính được cập nhật cùng với các bản phát hành Android mới nhất. Dưới đây là một số mẹo để làm việc với phiên bản Android mới nhất.

Luôn cập nhật các công cụ

Android Studio sẽ cài đặt một phiên bản adb tương thích với trình mô phỏng dành cho nhà phát triển. Tuy nhiên, một số công cụ phát triển trò chơi có phiên bản adb cũ. Trong trường hợp đó, sau khi cài đặt trình mô phỏng dành cho nhà phát triển, bạn có thể tìm thấy phiên bản adb tương thích tại C:\Program Files\Google\Play Games Developer Emulator\current\emulator.

Nếu bạn chạy một phiên bản adb, thì phiên bản còn lại sẽ chấm dứt. Bởi vậy, nếu công cụ phát triển trò chơi của bạn tự động chạy phiên bản adb riêng, có thể bạn sẽ cần chạy và kết nối lại phiên bản adb cùng với trình mô phỏng dành cho nhà phát triển mỗi khi bạn triển khai.

Nếu đang sử dụng Android App Bundle, bạn phải cài đặt phiên bản Bundletool mới nhất từ kho lưu trữ GitHub.

Bộ nhớ có giới hạn

Android 11 (API cấp 30) trở lên chứa bộ nhớ có giới hạn, giúp bảo vệ tốt hơn dữ liệu của người dùng và ứng dụng trong bộ nhớ ngoài. Bên cạnh việc làm cho trò chơi tương thích với các yêu cầu về bộ nhớ có giới hạn, bạn cần thực hiện thêm các bước để tải Tệp mở rộng APK (obb) hoặc dữ liệu nội dung vào Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính. Hãy làm theo các bước sau nếu bạn gặp sự cố khi truy cập vào các tệp đó từ trò chơi:

  1. Tạo một thư mục mà ứng dụng của bạn có thể đọc.
  2. Đẩy tệp mở rộng vào trình mô phỏng.
adb shell mkdir /sdcard/Android/obb/com.example.game
adb push main.com.example.game.obb /sdcard/Android/obb/com.example.game

Chế độ hiển thị gói

Theo quy tắc mới về chế độ hiển thị gói, các ứng dụng nhắm đến Android 11 (API cấp 30) trở lên sẽ bị chặn truy vấn thông tin về các ứng dụng khác được cài đặt trên một thiết bị. Điều này có nghĩa là trò chơi của bạn sẽ bị chặn truy cập vào Dịch vụ Play khi cài đặt không qua cửa hàng ứng dụng thông qua adb chứ không phải cài đặt qua Cửa hàng Play. Để kiểm thử IAP bằng một trò chơi được cài đặt không qua cửa hàng ứng dụng, bạn phải thêm một truy vấn vào gói "com.android.vending" trong tệp AndroidManifest.xml như sau:

<manifest>
    <queries>
        <package android:name="com.android.vending" />
    </queries>
</manifest>

Cài đặt trò chơi của bạn trong ứng dụng của người dùng

Bạn không thể cài đặt một trò chơi trên ứng dụng của người dùng cho đến khi trò chơi đó có tên trong danh mục Dịch vụ trò chơi của Play. Sau khi trò chơi của bạn có một bản phát hành, bạn có thể tạo một kênh thử nghiệm nội bộ để xác thực các bản cập nhật trong tương lai trước khi phát hành.

Ứng dụng của người chơi không hỗ trợ các tính năng tập trung vào nhà phát triển của Trình mô phỏng dành cho nhà phát triển Google Play Games trên máy tính. Bạn nên sử dụng tính năng này để đảm bảo chất lượng của trò chơi trước khi phát hành nhằm kiểm thử trải nghiệm của người chơi từ đầu đến cuối sau bản phát hành ban đầu.