Câu hỏi thường gặp

Tài liệu này giải đáp các câu hỏi thường gặp về SDK và việc xuất bản cho Google Play Games trên máy tính.

Kiếm tiền

  1. Tôi có thể sử dụng quy trình mua hàng mà không cần máy chủ phụ trợ không?

    Xét ở góc độ bảo mật, bạn không nên xử lý mà không có máy chủ phụ trợ.

    Để biết thêm thông tin, hãy xem phần Xử lý mà không cần máy chủ phụ trợ.

  2. Tôi có được phép sử dụng các hệ thống thanh toán hiện có dựa trên API sau khi tích hợp SDK Google Play Games trên máy tính không?

    Tất cả các khoản thanh toán đều phải được xử lý bằng Google Play Billing thông qua SDK Google Play Games trên máy tính. Bạn không thể sử dụng phương thức thanh toán dựa trên API hiện có trong cùng một trò chơi.

  3. Làm cách nào để sử dụng các giao dịch mua ở chế độ nhà phát triển?

    Xử lý giao dịch mua ở chế độ nhà phát triển trong vòng 3 phút, nếu không giao dịch mua sẽ được hoàn tiền.

  4. Có hỗ trợ các khoản thanh toán định kỳ hoặc gói thuê bao không?

    Không phải trong tương lai gần, mặc dù bạn có thể cung cấp các trường hợp sử dụng cụ thể để chúng tôi đưa vào lộ trình phát triển trong tương lai.

  5. Lỗi thanh toán trong các lệnh gọi mua hàng là gì?

    BillingError là phản hồi của kết quả thanh toán. LaunchPurchaseFlow sẽ trả về ngay lập tức mà không chặn, nhưng bạn phải theo dõi lệnh gọi lại để biết thời điểm hoàn tất và nắm bắt kết quả.

  6. Làm cách nào để sử dụng tính năng xác minh giao dịch mua phía máy khách?

    Bạn nên sử dụng giao dịch mua phía máy chủ và quy trình xác minh giao dịch mua. Để xử lý giao dịch mua từ ứng dụng khách, trò chơi của bạn phải nằm trong danh sách cho phép. Vui lòng liên hệ với Đối tác của Google nếu trò chơi của bạn cần có quyền truy cập. Để biết thêm thông tin, hãy xem phần Xử lý mà không cần máy chủ phụ trợ.

  7. Hạn mức API để truy vấn thông tin chi tiết về sản phẩm là bao nhiêu?

    Số lượng sản phẩm tối đa có thể được truy vấn trong một lệnh gọi duy nhất đến API QueryProductDetails là 50. Nếu vượt quá giới hạn này, bạn phải chia yêu cầu thành nhiều lệnh gọi.

  8. Cần có những tham số nào khi gọi Query Purchases hoặc Launch Purchase Flow trong Billing Client?

    Hàm này chấp nhận QueryPurchasesContinuation, là một lệnh gọi lại hàm có chữ ký std::function<void(QueryPurchasesResult)>. Lệnh gọi lại sẽ truyền kết quả cho bạn cùng với tất cả ProductPurchaseDetails. Thông tin này có trong các tệp tiêu đề SDK trong tệp includes/billing/models.h.

    launch_purchase_flow_result thu được có các hàm ok()code(). Hàm ok() trả về liệu quy trình có thành công hay không. Hàm code() trả về enum BillingError (includes/billing/enums.h) có 10 trường hợp lỗi có thể xảy ra, chẳng hạn như người dùng huỷ hoặc lỗi mạng.

  9. Có hỗ trợ thứ tự tuỳ chỉnh cho Launch Purchase Flow trong BillingClient không?

    Trong thiết kế SDK hiện tại, bạn không thể truyền tải trọng của riêng mình. Tuy nhiên, bạn có thể cung cấp bất kỳ tổ hợp nào của obfuscated_account_idobfuscated_profile_id. Bạn có thể không cung cấp, chỉ cung cấp một hoặc cung cấp cả hai.

    Trường offer_token là trường bắt buộc và chỉ định ưu đãi mua hàng mà người dùng đang cố gắng mua trong quy trình thanh toán. Hiện tại, mỗi SKU trong Google Play chỉ có một ưu đãi (ví dụ: mua một mặt hàng với giá 100.000 VND). Trong tương lai, nhóm thanh toán của Play sẽ hỗ trợ nhiều ưu đãi.

    Để đảm bảo liên kết siêu dữ liệu trong trường hợp gián đoạn quy trình mua, hãy lưu trữ siêu dữ liệu trên máy chủ phụ trợ trước khi khởi chạy hộp thoại giao dịch mua và liên kết siêu dữ liệu đó với mã tài khoản của người dùng, SKU đang được mua và dấu thời gian hiện tại. Để biết thêm thông tin, hãy xem phần Liên kết giao dịch mua với dữ liệu nội bộ.

  10. Có phải lỗi hết thời gian chờ là lỗi dự kiến nếu người dùng đóng trình duyệt mà không thanh toán trong quy trình mua hàng không?

    Có, đây là một vấn đề đã biết và là hành vi dự kiến trong quy trình dựa trên trình duyệt. Chúng tôi đang nỗ lực phát triển một tính năng mua hàng liền mạch (dựa trên WebView) để duy trì quy trình thanh toán trong trò chơi và giải quyết sự bất tiện do thời gian chờ này.

  11. Điều kiện tiên quyết để chuyển từ dịch vụ thanh toán của Google bằng OAuth sang dịch vụ thanh toán gốc của Google bằng DLL là gì?

    Các trò chơi có thể tiếp tục sử dụng tính năng đăng nhập bằng OAuth với Google để quản lý tài khoản đã đăng nhập, nhưng Google khuyên bạn nên ngừng sử dụng các API thanh toán REST cũ. Việc chuyển từ API thanh toán REST (có tính năng đăng nhập bằng OAuth2) sang quy trình SDK có thể là một thao tác được gắn cờ tính năng, vì vậy cả hai có thể cùng tồn tại trong một khoảng thời gian trong khi trò chơi chuyển đổi.

  12. Lệnh gọi Launch Purchase Flow API có được xử lý thông qua trình duyệt web không?

    Có, hiện tại, yêu cầu này được xử lý thông qua trình duyệt. Google dự định hoàn tất toàn bộ quy trình mà không cần rời khỏi trò chơi thông qua SDK.

  13. Người dùng có cần đăng nhập riêng cho từng trận đấu để mua không?

    Tài khoản ở chế độ nền trong Google Play Games được dùng cho mỗi phiên trò chơi, vì vậy bạn không cần đăng nhập lại. Tài khoản mà bạn dùng trong Google Play Games khi phiên trò chơi bắt đầu là tài khoản mà các lệnh gọi API được phát hành. Khi bắt đầu quy trình mua hàng trong trình duyệt, bạn phải đăng nhập và sử dụng cùng một tài khoản với phiên trò chơi. Nếu người dùng đăng nhập bằng một tài khoản khác, quy trình trên web sẽ nhắc họ chuyển đổi tài khoản.

  14. Một trò chơi có thể hỗ trợ cả SDK gốc và hệ thống thanh toán cũ cùng một lúc không?

    Hệ thống thanh toán hoạt động theo mô hình hai luồng tuỳ thuộc vào phiên bản nhị phân của trò chơi. Người dùng sử dụng các bản dựng cũ sẽ tiếp tục sử dụng quy trình hiện có, còn người dùng sử dụng các bản dựng mới sẽ chuyển sang phương thức thanh toán dựa trên SDK. Người dùng ở cả hai quy trình thanh toán sẽ cùng tồn tại trong giai đoạn chuyển đổi.

Windows App Bundle

  1. Khi gửi WAB bằng một trình chạy của bên thứ ba, có cần phải xem xét gói trò chơi không?

    Bạn chỉ cần gửi trình cài đặt mà không cần gửi toàn bộ gói trò chơi. Người đánh giá sẽ có thể tải gói trò chơi của bạn xuống bằng trình cài đặt.

  2. Có giới hạn nào về kích thước tệp WAB không?

    Bạn có thể tải tệp có kích thước tối đa 10 GB lên cho một WAB.

  3. Tại sao trò chơi của tôi không cài đặt hoặc xuất hiện sau khi tôi tải WAB lên?

    Nếu trò chơi của bạn đang được tham gia mà không có phiên bản dành cho máy tính đã tồn tại trước đó ("WAB lần đầu"), thì hệ thống có thể tự động đặt trò chơi đó vào trạng thái chờ Xuất bản có quản lý. Điều này xảy ra vì không có đường cơ sở hiện tại để cập nhật. Để phát hành hoàn toàn WAB và cho phép cài đặt trò chơi, bạn phải chuyển đến Google Play Console và thực hiện thủ công hành động phát hành bắt buộc (ví dụ: nhấp vào "Phát hành thay đổi").

  4. Làm cách nào để tải WAB lên để kiểm thử nội bộ?

    Chia sẻ danh sách tài khoản được cho phép với Google để Google có thể bật các tài khoản đó cho hoạt động kiểm thử nội bộ. Sau khi có danh sách này, Google sẽ đảm bảo rằng các đối tác này có trong quy trình tham gia.

  5. Bạn nên tải gói WAB lên ở đâu?

    Bạn có thể tải gói WAB lên tại vị trí được đề cập trong câu hỏi đầu tiên. Tuy nhiên, bạn không thể xuất bản ứng dụng theo cách thủ công. Bạn phải cung cấp cho nhân viên phụ trách phần phụ trợ của Google thời gian chính xác theo giờ UTC (đến từng giờ). Sau đó, Google sẽ định cấu hình lịch phát hành và đảm bảo rằng bản phát hành được xuất bản đúng giờ.

PC SDK

  1. API cũ và Google Play Games trên máy tính SDK có gì khác nhau?

    • API cũ của chúng tôi chỉ cung cấp chức năng Thanh toán.
    • PC SDK hỗ trợ Dịch vụ Google trên máy tính (GDS) và đầy đủ các tính năng của máy tính.
    • Không cần sử dụng tính năng Đăng nhập bằng Google trên trình duyệt với PC SDK.
  2. Có cách nào khác để khởi chạy SDK bằng cách khởi chạy trực tiếp trò chơi bằng trình chạy trò chơi mà không cần thông qua Google Play Games trên máy tính không?

    Bạn phải chạy trò chơi thông qua ứng dụng Google Play Games trên máy tính. Để biết thêm thông tin chi tiết, hãy tham khảo tài liệu dành cho nhà phát triển này.

  3. SDK gốc dành cho máy tính có hỗ trợ các ký tự nhiều byte trong tệp chứng chỉ PEM không?

    Có, SDK hỗ trợ các ký tự nhiều byte để chứng nhận.

  4. SDK xử lý việc đăng nhập bằng Tài khoản Google cho nhiều phiên bản hoặc tài khoản như thế nào?

    Mỗi lần khởi chạy trò chơi trong Google Play Games được coi là một "phiên chơi" và mỗi "phiên chơi" có thể có một tài khoản được liên kết. Chúng có thể khác nhau. Vì vậy, nếu bạn chạy trò chơi bằng tài khoản A, sau đó chuyển sang tài khoản B và chạy lại thì cả hai tài khoản đều có thể chạy cùng lúc.

  5. Việc tích hợp Play Install Referrer có hoạt động với SDK dành cho máy tính không?

    PC SDK (25.5.409.0 trở lên) hỗ trợ Play Install Referrer API. Để biết thêm thông tin, hãy xem Play Install Referrer API.

Súng phóng lựu

  1. Nếu người chơi sử dụng một trình chạy 3P thay vì Google Play Client, thì tài khoản Dịch vụ trò chơi của Play của họ có tự động đồng bộ hoá không?

    Để các hàm SDK hoạt động, trò chơi phải được khởi chạy trực tiếp thông qua ứng dụng Google Play Games. Nếu một quy trình khác (chẳng hạn như trình cài đặt hoặc ứng dụng trình chạy) khởi động trò chơi, thì chính quy trình đó phải được khởi chạy từ ứng dụng Google Play Games. Trò chơi phải chuyển tất cả các tham số nhận được từ ứng dụng đến quy trình ứng dụng.

  2. Làm cách nào để xử lý quá trình khởi chạy nếu Google Play Games khởi chạy một trình chạy trò chơi của bên thứ ba?

    Bạn không bắt buộc phải tích hợp SDK trực tiếp vào trình chạy. Tuy nhiên, bạn phải truyền tất cả các đối số dòng lệnh mà trình chạy nhận được từ ứng dụng Google Play Games trực tiếp đến quy trình con được tạo (tệp thực thi trò chơi). Nếu quá trình khởi chạy không thành công (ví dụ: bằng cách trả về kActionRequiredShutdownClientProcess), thì tất cả các quy trình, kể cả trình chạy, đều phải bị chấm dứt để Google Play Games có thể cố gắng khôi phục và tự động khởi chạy lại trò chơi. Để biết thêm thông tin chi tiết, hãy xem Bước 5 trong hướng dẫn thiết lập.

  3. Làm cách nào để xử lý các bản cập nhật và hoạt động bảo trì cho trò chơi và trình chạy sau khi trò chơi đó được phát hành công khai?

    Bạn phải triển khai các bản cập nhật và hoạt động bảo trì tiếp theo thông qua trình chạy. Ứng dụng Google Play Games không hỗ trợ các chức năng cập nhật, vì vậy, trình chạy phải có khả năng cập nhật cả trò chơi và chính trình chạy.

Khởi chạy

  1. Khi tôi bắt đầu một trò chơi bằng ứng dụng Google Play Games, ứng dụng này có đồng bộ hoá thông tin Tài khoản Google của tôi không?

    Sau khi khởi chạy trò chơi thông qua ứng dụng Google Play Games, tài khoản sẽ tự động được đồng bộ hoá và bạn không cần đăng nhập lại thông qua quy trình Đăng nhập bằng Google.

  2. Có thể sử dụng lại các tham số khởi tạo nhiều lần không?

    Điều này có thể xảy ra miễn là ứng dụng Google Play Games đang chạy và thông tin đăng nhập hợp lệ. Tuy nhiên, trong các trường hợp như trường hợp được mô tả trong hướng dẫn, tất cả các quy trình do trò chơi khởi chạy phải bị chấm dứt khi người dùng đóng trò chơi hoặc trò chơi thoát do lỗi khởi động SDK, chẳng hạn như kActionRequiredShutdownClientProcess.

  3. Có cách nào để tạo lối tắt mở trực tiếp trò chơi không?

    Bạn có thể dùng URI sau để mở trực tiếp trò chơi:

    googleplaygames://launch/?pid=2&id=com.company.gamename

    URI này hỗ trợ phát hiện xem ứng dụng Google Play Games trên máy tính có được mở hay không. Nếu chưa mở, ứng dụng Google Play Games sẽ mở trước khi trò chơi hoặc trình chạy khởi động. Bạn cần quản lý trò chơi hoặc trình chạy để ngăn nhiều phiên bản chạy.

  4. Có cách nào để xác minh quá trình cài đặt Google Play Games trên máy tính mà không cần dùng SDK không?

    Bạn có thể xác minh trạng thái cài đặt của Google Play Games trên máy tính mà không cần tích hợp SDK bằng cách kiểm tra sự hiện diện của khoá Windows Registry sau đây:

    HKEY_LOCAL_MACHINE\SOFTWARE\Google\Play Games Services

    Sự hiện diện của khoá này cho biết rằng các dịch vụ Google Play Games (bắt buộc để chạy trò chơi trên máy tính) đã được cài đặt trên máy. Nếu thiếu khoá, bạn nên chuyển người dùng đến trang cài đặt Google Play Games trên máy tính để tải xuống và cài đặt ứng dụng.

Thử nghiệm

  1. Có môi trường thử nghiệm công khai hoặc thử nghiệm khép kín nào tương tự như môi trường di động không?

    Mặc dù không có hộp cát chuyên dụng từ đầu đến cuối, nhưng chúng tôi nhận thấy các nhà phát triển cần một môi trường kiểm thử tương tự như môi trường phát hành công khai. Chúng tôi sẽ sớm cung cấp một giải pháp mạnh mẽ hơn.

  2. Làm cách nào để thêm người kiểm thử mới?

    Người liên hệ của bạn tại Google sẽ tạo một nhóm email cho mỗi dự án PC, trong đó bạn phải thêm Tài khoản Google của người kiểm thử. Chỉ thành viên của nhóm email này mới được phép tải các gói kiểm thử xuống trong Google Play Games.

Khác

  1. Tôi có thể sử dụng VPN không?

    Đối với những nhà phát triển cần kiểm thử trò chơi của họ ở những khu vực không được hỗ trợ Google Play Games trên máy tính, bạn nên sử dụng VPN để lấy địa chỉ IP từ một khu vực được hỗ trợ.

    Đảm bảo bạn bật chế độ TUN trên VPN. Bạn có thể xem hướng dẫn về cách bật chế độ TUN và định cấu hình tường lửa trong sách hướng dẫn vận hành của nhà cung cấp VPN.

    Sau khi bật chế độ TUN, hãy cài đặt Google Play Games trên máy tính và trình mô phỏng cho mục đích kiểm thử.

  2. Làm cách nào để bắt đầu phát triển cho Google Play Games trên máy tính trong Unity hoặc UE Editor?

  3. Làm cách nào để sử dụng khoá đăng ký đúng cách?

    Bạn nên tạo khoá đăng ký dựa trên phân vùng gốc. Bạn có thể đặt root hive thành HKEY_LOCAL_MACHINE hoặc HKEY_CURRENT_USER tuỳ thuộc vào mục đích và bản chất của dữ liệu. Tổ ong HKEY_LOCAL_MACHINE được dùng làm ví dụ trong các nguyên tắc.

  4. Google có những yêu cầu nào đối với việc xem xét các gói dành cho máy tính?

    Các gói dành cho máy tính sẽ được quét phần mềm độc hại, sau đó người đánh giá chỉ kiểm thử quy trình cài đặt, khởi động và gỡ cài đặt trò chơi thành công.

  5. Tôi có cần tích hợp tất cả các API không?

    Bạn không bắt buộc phải dùng các API khác, nhưng chúng mang lại những lợi ích bổ sung. google::play::billing là yêu cầu bắt buộc đối với giao dịch mua hàng trong ứng dụng và bán nội dung kỹ thuật số. google::play::install_referrer là bắt buộc để theo dõi dữ liệu giới thiệu, giúp bạn biết được những nguồn lưu lượng truy cập nào gửi nhiều người dùng nhất đến tải ứng dụng của bạn. google::play::games::integrity là bắt buộc để bảo vệ ứng dụng của bạn khỏi những đối tượng xấu bằng cách phát hiện các thiết bị có thể gây rủi ro và trình mô phỏng không xác định.

  6. Tại sao một số quy trình trò chơi bị chấm dứt khi ứng dụng Google Play Games đóng, trong khi những quy trình khác thì không?

    Google không kiểm soát các quy trình con hoặc quy trình của trò chơi đang chạy. Hành vi này phụ thuộc vào việc trò chơi là trò chơi mô phỏng Android hay trò chơi gốc trên máy tính. Các trò chơi được mô phỏng sẽ được cài đặt trong môi trường riêng, vì vậy, hành vi của các trò chơi này phụ thuộc phần lớn vào quá trình khởi chạy và tắt trình mô phỏng.

  7. Tôi nên dùng tính năng gỡ cài đặt của Google Play Games hay trình gỡ cài đặt tuỳ chỉnh?

    Google khuyên bạn nên sử dụng tính năng gỡ cài đặt Google Play Games của chúng tôi.

Thông tin hỗ trợ khác

Nếu bạn cần được trợ giúp thêm ngoài những nội dung trong phần Câu hỏi thường gặp này, vui lòng liên hệ với chúng tôi theo địa chỉ google-play-games-pc@google.com