Menambahkan Acara ke Game Anda

Panduan ini menunjukkan cara menggunakan layanan Events pada 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 Anda dapat mengakses acara, Anda harus menentukannya terlebih dahulu dalam Konsol Google Play.

Mengirimkan peristiwa

Anda bisa menambahkan kode dalam game untuk memberi tahu layanan Events tiap kali terjadi minat terhadap game Anda terjadi. Contoh peristiwa yang dapat Anda tangkap di adalah: membunuh musuh, mengeksplorasi 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 mungkin akan melakukan ini, misalnya, jika Anda ingin menampilkan statistik dalam game pemain atau progres dari UI kustom di game Anda.

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