Tài liệu này mô tả cách sử dụng số liệu thống kê trò chơi của Dịch vụ trò chơi của Google Play trong các trò chơi C++. Tài liệu này giả định rằng bạn đã thiết lập dự án của mình như mô tả trong phần Thiết lập dịch vụ trò chơi của Google Play. Bạn có thể tìm thấy Game Stats API trong PgsGameStatsClient.
Trước khi bắt đầu
Nếu chưa từng có kinh nghiệm, bạn có thể xem lại các khái niệm về số liệu thống kê trò chơi.
Trước khi bắt đầu lập trình bằng Game Stats API:
Vui lòng làm theo hướng dẫn để cài đặt và thiết lập ứng dụng để sử dụng Dịch vụ trò chơi của Play trong hướng dẫn Thiết lập Dịch vụ trò chơi của Google Play.
Xác định các số liệu thống kê trò chơi mà bạn muốn trò chơi của mình có, bằng cách làm theo hướng dẫn trong tài liệu hướng dẫn của Google Play Console.
Tải ứng dụng số liệu thống kê trò chơi
Để bắt đầu sử dụng API thành tích, trước tiên trò chơi của bạn phải có được một đối tượng
PgsGameStatsClient. Bạn có thể thực hiện việc này bằng cách gọi phương thức
PgsPlayerGameEvent_create và truyền vào hoạt động.
Tích hợp phía ứng dụng
Việc tích hợp phía ứng dụng cho PlayerGameEvent sẽ liên quan đến việc bạn tạo đối tượng sự kiện trong SDK C++, tại các điểm kích hoạt và gửi chúng bằng các hàm tải lên do SDK cung cấp.
Tương tự, đối với sự kiện progressUpdate, hãy ghi lại tiến trình đã cập nhật bằng cách sử dụng thuộc tính currentProgress cùng với các thuộc tính được xác định bổ sung và gửi các thuộc tính đó bằng cách sử dụng các hàm tải lên do SDK cung cấp.
Sự kiện
Các ứng dụng tích hợp phía ứng dụng cho PlayerGameEvent là:
Tạo sự kiện trong trò chơi của người chơi
C++
// Build the PlayerGameEvent
PgsPlayerGameEvent* player_event = PgsPlayerGameEvent_create("matchCompleted");
if (player_event != nullptr) {
PgsPlayerGameEvent_putString(player_event, "matchId", "Match_A");
PgsPlayerGameEvent_putString(player_event, "gameMode", "Battle_B");
PgsPlayerGameEvent_putString(player_event, "mapId", "Location_XYZ");
PgsPlayerGameEvent_putBoolean(player_event, "isWinner", true);
PgsPlayerGameEvent_putLong(player_event, "playerElimination", 2);
}
Tạo progressUpdate Sự kiện trong trò chơi của người chơi
C++
PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
Ghi lại sự kiện và tải lên
C++
// Record the event
PgsGameStatsClient_recordEvent(client, player_event);
// This submits the events to PGS
PgsGameStatsClient_requestEventsUpload(client);
// Clean up handle to avoid leaks
PgsPlayerGameEvent_destroy(player_event);
// Clean up client handle when PGS operations are finished
PgsGameStatsClient_destroy(client);