Sau khi ngừng cung cấp API Đăng nhập bằng Google, chúng tôi sẽ xoá SDK games phiên bản 1 vào năm 2026. Sau tháng 2 năm 2025, bạn sẽ không thể xuất bản các trò chơi vừa tích hợp với SDK của games phiên bản 1 trên Google Play. Bạn nên sử dụng SDK của phiên bản 2.
Mặc dù các ứng dụng/trò chơi hiện có có tích hợp trò chơi phiên bản 1 trước đó vẫn tiếp tục hoạt động trong vài năm nữa, nhưng bạn nên di chuyển sang phiên bản 2 kể từ tháng 6 năm 2025.
Hướng dẫn này dành cho việc sử dụng SDK Dịch vụ trò chơi của Play phiên bản 1. SDK C++ cho Dịch vụ trò chơi của Play phiên bản 2 hiện chưa có.
Hướng dẫn này sẽ hướng dẫn bạn cách sử dụng dịch vụ Sự kiện trong một ứng dụng C++.
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ự kiện của trò chơi.
Để thiết lập môi trường phát triển C++ nhằm sử dụng dịch vụ Sự kiện, hãy làm theo hướng dẫn trong bài viết Bắt đầu sử dụng C++. Bạn có thể tải SDK C++ của dịch vụ Play Games xuống từ trang tải SDK xuống.
Trước khi trò chơi có thể truy cập vào các sự kiện, bạn phải xác định các sự kiện đó trước trong Google Play Console.
Gửi sự kiện
Bạn có thể thêm mã trong trò chơi để thông báo cho dịch vụ Sự kiện bất cứ khi nào có sự kiện mà trò chơi quan tâm. Ví dụ về các sự kiện mà bạn có thể ghi lại trong trò chơi là: tiêu diệt kẻ thù, khám phá hoặc quay lại nhiều khu vực trong trò chơi hoặc mua các vật phẩm trong trò chơi. Thông thường, bạn sẽ gọi phương thức Increment trên trình quản lý sự kiện để tăng số lượng của một sự kiện thêm 1 mỗi khi người chơi thực hiện một hành động liên kết với sự kiện (ví dụ: "Giết một quái vật").
Ví dụ sau đây cho thấy cách bạn có thể gửi số lượng sự kiện đã cập nhật đến dịch vụ Sự kiện.
// Increment the event count when player performs the 'Attack blue
// monster' action.
game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);
Truy xuất sự kiện
Để truy xuất giá trị số lượng hiện tại được lưu trữ trong máy chủ của Google cho một sự kiện cụ thể, hãy gọi một trong các phương thức Fetch*. Ví dụ: bạn có thể làm việc này nếu muốn cho thấy số liệu thống kê hoặc tiến trình trong trò chơi của một người chơi từ giao diện người dùng tuỳ chỉnh trong trò chơi của bạn.
Ví dụ sau đây cho thấy cách bạn có thể truy xuất và ghi nhật ký dữ liệu sự kiện trong trò chơi.
// Log Events details.
LogI("---- Showing Event Counts -----");
gpg::EventManager::FetchAllCallback callback =
[](gpg::EventManager::FetchAllResponse const &response) {
for (auto i : response.data) {
gpg::Event const &event = i.second;
LogI("Event name: %s count: %d", event.Name().c_str(),
event.Count());
}
};
game_services_->Events().FetchAll(callback);