Menambahkan Acara ke Game Anda

Panduan ini menunjukkan cara menggunakan layanan Peristiwa di aplikasi C++.

Sebelum memulai

Jika Anda belum melakukannya, sebaiknya tinjau konsep game acara.

Untuk menyiapkan lingkungan pengembangan C++ agar dapat menggunakan layanan Events, ikuti petunjuk di Panduan Memulai untuk C++. Anda dapat mendownload SDK C++ layanan game Play dari halaman download SDK.

Sebelum game dapat mengakses peristiwa, Anda harus menentukannya terlebih dahulu di Konsol Google Play.

Mengirim peristiwa

Anda dapat menambahkan kode dalam game untuk memberi tahu layanan Peristiwa setiap kali terjadi peristiwa yang menarik untuk game. Contoh peristiwa yang dapat Anda rekam dalam game adalah: membunuh musuh, menjelajahi atau kembali ke berbagai wilayah game, atau mendapatkan item dalam game. Biasanya, Anda akan memanggil metode Increment pada pengelola peristiwa untuk menambah jumlah peristiwa sebesar 1 setiap kali pemain melakukan tindakan yang terkait dengan peristiwa (misalnya, “Membunuh satu monster”).

Contoh berikut menunjukkan cara mengirimkan jumlah peristiwa yang diperbarui ke layanan Events.

  // Increment the event count when player performs the 'Attack blue
  // monster' action.
  game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);

Mengambil peristiwa

Untuk mengambil nilai hitungan saat ini yang disimpan di server Google untuk peristiwa, panggil salah satu metode Fetch*. Anda dapat melakukannya, misalnya, jika ingin menampilkan statistik dalam game atau progres pemain dari UI kustom dalam game.

Contoh berikut menunjukkan cara mengambil dan mencatat data peristiwa ke dalam log dalam game Anda.

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