gpg::GameServices

#include <game_services.h>

Titik awal untuk berinteraksi dengan Google Play Game.

Ringkasan

Siklus Proses Layanan Game

Instance class GameServices dibuat melalui GameServices::Builder. Saat dibuat, instance ini awalnya tidak login ke Layanan Game (artinya, IsAuthorized() akan menampilkan false). Upaya login otomatis dimulai di latar belakang, dan mungkin berhasil jika pengguna login di akhir sesi sebelumnya. Sebelum upaya login senyap ini selesai, semua UI autentikasi pengguna (misalnya, tombol login dan/atau logout) harus dinonaktifkan atau disembunyikan.

Pada penyelesaian upaya login senyap ini, callback OnAuthActionFinished untuk instance GameServices (terdaftar dengan GameServices::Builder::SetOnAuthActionFinished) akan diberi tahu. Jika argumen callback mencerminkan upaya login yang berhasil, instance dapat dianggap terhubung ke Layanan Game (dengan kata lain, IsAuthorized() akan menampilkan true), dan UI logout harus diaktifkan. Jika argumen callback mencerminkan upaya login yang gagal, UI login harus diaktifkan.

Login eksplisit melalui metode SignOut() harus dipanggil hanya atas permintaan pengguna. Tindakan ini akan meminta transisi ke status logout. Penyelesaian transisi ini ditunjukkan oleh pemanggilan callback OnAuthActionFinished. Hingga callback ini dipanggil, API GameServices lainnya (termasuk StartAuthorizationUI()) tidak boleh dipanggil.

Saat instance GameServices dihancurkan, instance tersebut akan melakukan pemblokiran hingga tidak ada operasi yang tertunda untuk menghindari kehilangan data. Jika perilaku block-on-destruction ini tidak diinginkan, Flush() harus diterbitkan dan instance GameServices harus tetap aktif hingga Flush() selesai.

Agar GameServices berfungsi dengan baik pada versi Android di bawah 4.0, Aktivitas yang memiliki harus memanggil callback siklus proses. Lihat AndroidSupport.

Konstruktor dan Destruktor

GameServices()
~GameServices()

Jenis publik

FlushCallback typedef
std::function< void(FlushStatus)>
Menentukan jenis callback yang menerima hasil (status) operasi Flush.

Fungsi publik

Achievements()
Memberikan referensi ke objek AchievementManager yang digunakan untuk mengakses dan memanipulasi pencapaian.
Achievements() const
Memberikan referensi konstanta ke objek AchievementManager yang digunakan untuk mengakses dan memanipulasi pencapaian.
Events()
Memberikan referensi ke objek EventManager yang digunakan untuk mengakses dan memanipulasi peristiwa.
Events() const
const EventManager &
Memberikan referensi konstanta ke objek EventManager yang digunakan untuk mengakses dan memanipulasi peristiwa.
Flush(FlushCallback callback)
void
Mengosongkan antrean pengiriman utama secara asinkron, dan menampilkan status flush ke FlushCallback yang disediakan.
FlushBlocking()
Menyiram secara sinkron dan mendapatkan hasil (status) flush.
FlushBlocking(Timeout timeout)
Menyiram secara sinkron dan mendapatkan hasil (status) flush.
IsAuthorized()
bool
Memungkinkan Anda memeriksa status otorisasi saat ini secara eksplisit.
Leaderboards()
Memberikan referensi ke objek LeaderboardManager yang digunakan untuk mengakses dan memanipulasi pencapaian.
Leaderboards() const
Memberikan referensi konstitusional ke objek LeaderboardManager yang digunakan untuk mengakses dan memanipulasi pencapaian.
Players()
Memberikan referensi ke objek PlayerManager, yang memungkinkan akses ke informasi tentang pemain.
Players() const
const PlayerManager &
Memberikan referensi konstanta ke objek PlayerManager, yang memungkinkan akses ke informasi tentang pemain.
RealTimeMultiplayer()
Menyediakan referensi ke objek RealTimeMultiplayerManager, yang memungkinkan akses ke metode terkait RTMP.
RealTimeMultiplayer() const
Memberikan referensi konstanta ke objek RealTimeMultiplayerManager, yang memungkinkan akses ke metode terkait RTMP.
SignOut()
void
Memulai proses logout asinkron.
Snapshots()
Menyediakan referensi ke objek SnapshotManager yang digunakan untuk mengakses dan memanipulasi snapshot.
Snapshots() const
const SnapshotManager &
Memberikan referensi konstanta ke objek SnapshotManager yang digunakan untuk mengakses dan memanipulasi snapshot.
StartAuthorizationUI()
void
Memunculkan alur otorisasi pengguna khusus platform.
Stats()
Menyediakan referensi ke objek StatsManager yang digunakan untuk mengakses statistik game dan pemain.
Stats() const
const StatsManager &
Memberikan referensi konstanta ke objek StatsManager yang digunakan untuk mengakses statistik game dan pemain.
TurnBasedMultiplayer()
Menyediakan referensi ke objek TurnBasedMultiplayerManager, yang memungkinkan akses ke metode terkait TBMP.
TurnBasedMultiplayer() const
Memberikan referensi konstanta ke objek TurnBasedMultiplayerManager, yang memungkinkan akses ke metode terkait TBMP.
Video()
Menyediakan referensi ke objek VideoManager, yang memungkinkan akses ke metode terkait video.
Video() const
const VideoManager &
Memberikan referensi konstanta ke objek VideoManager, yang memungkinkan akses ke metode terkait video.

Class

gpg::GameServices::Builder

Digunakan untuk membuat dan mengonfigurasi instance class GameServices.

Jenis publik

FlushCallback

std::function< void(FlushStatus)> FlushCallback

Menentukan jenis callback yang menerima hasil (status) operasi Flush.

Digunakan di Flush().

Fungsi publik

Pencapaian

AchievementManager & Achievements()

Memberikan referensi ke objek AchievementManager yang digunakan untuk mengakses dan memanipulasi pencapaian.

Pencapaian

const AchievementManager & Achievements() const 

Memberikan referensi konstanta ke objek AchievementManager yang digunakan untuk mengakses dan memanipulasi pencapaian.

Peristiwa

EventManager & Events()

Memberikan referensi ke objek EventManager yang digunakan untuk mengakses dan memanipulasi peristiwa.

Peristiwa

const EventManager & Events() const 

Memberikan referensi konstanta ke objek EventManager yang digunakan untuk mengakses dan memanipulasi peristiwa.

Flush

void Flush(
  FlushCallback callback
)

Mengosongkan antrean pengiriman utama secara asinkron, dan menampilkan status flush ke FlushCallback yang disediakan.

Status yang mungkin muncul adalah: FLUSHED, ERROR_INTERNAL, dan ERROR_VERSION_UPDATE_REQUIRED.

FlushBlocking

FlushStatus FlushBlocking()

Menyiram secara sinkron dan mendapatkan hasil (status) flush.

Status yang mungkin muncul adalah: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED, dan ERROR_TIMEOUT. Membiarkan waktu tunggu ini tidak ditentukan membuat panggilan fungsi ini setara dengan memanggil FlushStatus FlushBlocking(Timeout), dengan Waktu Tunggu yang ditetapkan sebagai 10 tahun.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

Menyiram secara sinkron dan mendapatkan hasil (status) flush.

Status yang mungkin muncul adalah: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED, dan ERROR_TIMEOUT. Menentukan waktu tunggu sebagai sembarang jumlah milidetik.

GameServices

 GameServices()=delete

IsAuthorized

bool IsAuthorized()

Memungkinkan Anda memeriksa status otorisasi saat ini secara eksplisit.

Konsumen SDK dianjurkan untuk mendaftar ke callback AUTH_ACTION_* guna menangani perubahan status otorisasi, bukan polling.

Papan peringkat

LeaderboardManager & Leaderboards()

Memberikan referensi ke objek LeaderboardManager yang digunakan untuk mengakses dan memanipulasi pencapaian.

Papan peringkat

const LeaderboardManager & Leaderboards() const 

Memberikan referensi konstitusional ke objek LeaderboardManager yang digunakan untuk mengakses dan memanipulasi pencapaian.

Pemain

PlayerManager & Players()

Memberikan referensi ke objek PlayerManager, yang memungkinkan akses ke informasi tentang pemain.

Pemain

const PlayerManager & Players() const 

Memberikan referensi konstanta ke objek PlayerManager, yang memungkinkan akses ke informasi tentang pemain.

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

Menyediakan referensi ke objek RealTimeMultiplayerManager, yang memungkinkan akses ke metode terkait RTMP.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

Memberikan referensi konstanta ke objek RealTimeMultiplayerManager, yang memungkinkan akses ke metode terkait RTMP.

SignOut

void SignOut()

Memulai proses logout asinkron.

Setelah memanggil SignOut, Anda tidak boleh memanggil operasi apa pun di GameServices hingga Anda menerima OnAuthActionFinishedCallback yang menunjukkan proses logout yang berhasil.

Snapshot

SnapshotManager & Snapshots()

Menyediakan referensi ke objek SnapshotManager yang digunakan untuk mengakses dan memanipulasi snapshot.

Snapshot

const SnapshotManager & Snapshots() const 

Memberikan referensi konstanta ke objek SnapshotManager yang digunakan untuk mengakses dan memanipulasi snapshot.

StartAuthorizationUI

void StartAuthorizationUI()

Memunculkan alur otorisasi pengguna khusus platform.

Statistik

StatsManager & Stats()

Menyediakan referensi ke objek StatsManager yang digunakan untuk mengakses statistik game dan pemain.

Statistik

const StatsManager & Stats() const 

Memberikan referensi konstanta ke objek StatsManager yang digunakan untuk mengakses statistik game dan pemain.

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

Menyediakan referensi ke objek TurnBasedMultiplayerManager, yang memungkinkan akses ke metode terkait TBMP.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

Memberikan referensi konstanta ke objek TurnBasedMultiplayerManager, yang memungkinkan akses ke metode terkait TBMP.

Video

VideoManager & Video()

Menyediakan referensi ke objek VideoManager, yang memungkinkan akses ke metode terkait video.

Video

const VideoManager & Video() const 

Memberikan referensi konstanta ke objek VideoManager, yang memungkinkan akses ke metode terkait video.

~Layanan Game

 ~GameServices()