Số liệu thống kê về trận đấu

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:

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);