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 awalnya tidak login ke Layanan Game (artinya, IsAuthorized() akan menampilkan nilai salah). Upaya login senyap dimulai di latar belakang, dan mungkin berhasil jika pengguna login pada akhir sesi sebelumnya. Sebelum upaya login otomatis ini diselesaikan, semua UI autentikasi pengguna (misalnya, tombol login dan/atau logout) harus dinonaktifkan atau disembunyikan.

Setelah menyelesaikan upaya login senyap ini, callback OnAuthActionFinished untuk instance GameServices (terdaftar dengan GameServices::Builder::SetOnAuthActionFinished) akan diberi tahu. Jika argumen callback menunjukkan upaya login yang berhasil, instance dapat diasumsikan terhubung ke Layanan Game (yaitu, IsAuthorized() akan menampilkan true), dan UI logout harus diaktifkan. Jika argumen callback menunjukkan upaya login yang gagal, UI login harus diaktifkan.

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

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

Agar GameServices berfungsi dengan baik pada versi Android kurang dari 4.0, Aktivitas yang memilikinya 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
Menghapus antrean pengiriman utama secara asinkron, dan menampilkan status flush ke FlushCallback yang disediakan.
FlushBlocking()
Flush secara sinkron dan mendapatkan hasil (status) flush.
FlushBlocking(Timeout timeout)
Flush 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 konstanta 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 &
Menyediakan referensi konstanta ke objek PlayerManager, yang memungkinkan akses ke informasi tentang pemain.
RealTimeMultiplayer()
Memberikan 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 &
Menyediakan referensi konstanta ke objek SnapshotManager yang digunakan untuk mengakses dan memanipulasi snapshot.
StartAuthorizationUI()
void
Memunculkan alur otorisasi pengguna spesifik per platform.
Stats()
Memberikan referensi ke objek StatsManager yang digunakan untuk mengakses statistik game dan pemain.
Stats() const
const StatsManager &
Menyediakan referensi konstanta ke objek StatsManager yang digunakan untuk mengakses statistik game dan pemain.
TurnBasedMultiplayer()
Memberikan 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()

Menyediakan 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.

Acara

EventManager & Events()

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

Acara

const EventManager & Events() const 

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

Flush

void Flush(
  FlushCallback callback
)

Menghapus 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()

Flush 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 akan membuat panggilan fungsi ini setara dengan memanggil FlushBlocking(Timeout) FlushStatus, dengan Waktu Tunggu yang ditetapkan sebagai 10 tahun.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

Flush 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 jumlah arbitrer dalam 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_* untuk 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 konstanta 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 

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

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

Memberikan 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 sampai 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 

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

StartAuthorizationUI

void StartAuthorizationUI()

Memunculkan alur otorisasi pengguna spesifik per platform.

Statistik

StatsManager & Stats()

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

Statistik

const StatsManager & Stats() const 

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

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

Memberikan 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.

~GameServices

 ~GameServices()