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 (yaitu, IsAuthorized() akan menampilkan nilai salah). Upaya login otomatis dimulai di latar belakang, dan dapat berhasil jika pengguna login di akhir sesi sebelumnya. Hingga upaya login senyap ini selesai, UI autentikasi pengguna apa pun (misalnya, tombol login dan/atau logout) harus dinonaktifkan atau disembunyikan.

Setelah upaya login senyap ini selesai, callback OnAuthActionFinished untuk instance GameServices (terdaftar dengan GameServices::Builder::SetOnAuthActionFinished) akan diberi tahu. Jika argumen callback mencerminkan upaya login yang berhasil, instance dapat diasumsikan terhubung ke Layanan game (yaitu, IsAuthorized() akan menampilkan true), dan UI logout harus diaktifkan. Jika argumen callback mencerminkan 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 pemanggilan callback OnAuthActionFinished. Sampai callback ini dipanggil, API GameServices lainnya (termasuk StartAuthorizationUI()) tidak boleh dipanggil.

Saat instance GameServices dihancurkan, instance tersebut akan diblokir hingga tidak ada operasi yang tertunda untuk menghindari kehilangan data. Jika perilaku pemblokiran saat penghancuran ini tidak diinginkan, Flush() harus dikeluarkan dan instance GameServices harus tetap aktif hingga Flush() selesai.

Agar GameServices berfungsi dengan baik di Android versi kurang dari 4.0, Aktivitas pemilik 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 const 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 const ke objek EventManager yang digunakan untuk mengakses dan memanipulasi peristiwa.
Flush(FlushCallback callback)
void
Menghapus antrean pengiriman utama secara asinkron, dan menampilkan status penghapusan ke FlushCallback yang disediakan.
FlushBlocking()
Mengosongkan dan mendapatkan hasil (status) penghapusan secara sinkron.
FlushBlocking(Timeout timeout)
Mengosongkan dan mendapatkan hasil (status) penghapusan secara sinkron.
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 const 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 const 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 const ke objek RealTimeMultiplayerManager, yang memungkinkan akses ke metode terkait RTMP.
SignOut()
void
Memulai proses logout asinkron.
Snapshots()
Memberikan referensi ke objek SnapshotManager yang digunakan untuk mengakses dan memanipulasi snapshot.
Snapshots() const
const SnapshotManager &
Memberikan referensi const ke objek SnapshotManager yang digunakan untuk mengakses dan memanipulasi snapshot.
StartAuthorizationUI()
void
Memunculkan alur otorisasi pengguna khusus platform.
Stats()
Memberikan referensi ke objek StatsManager yang digunakan untuk mengakses statistik game dan pemain.
Stats() const
const StatsManager &
Memberikan referensi const 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 const ke objek TurnBasedMultiplayerManager, yang memungkinkan akses ke metode terkait TBMP.
Video()
Memberikan referensi ke objek VideoManager, yang memungkinkan akses ke metode terkait video.
Video() const
const VideoManager &
Memberikan referensi const 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 const 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 const ke objek EventManager yang digunakan untuk mengakses dan memanipulasi peristiwa.

Flush

void Flush(
  FlushCallback callback
)

Menghapus antrean pengiriman utama secara asinkron, dan menampilkan status penghapusan ke FlushCallback yang disediakan.

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

FlushBlocking

FlushStatus FlushBlocking()

Mengosongkan dan mendapatkan hasil (status) penghapusan secara sinkron.

Status yang mungkin adalah: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED, dan ERROR_TIMEOUT. Jika waktu tunggu ini tidak ditentukan, panggilan fungsi ini akan setara dengan memanggil FlushStatus FlushBlocking(Timeout), dengan Timeout ditentukan sebagai 10 tahun.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

Mengosongkan dan mendapatkan hasil (status) penghapusan secara sinkron.

Status yang mungkin adalah: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED, dan ERROR_TIMEOUT. Tentukan waktu tunggu sebagai jumlah milidetik arbitrer.

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 const 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 const 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 const 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 logout berhasil.

Snapshot

SnapshotManager & Snapshots()

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

Snapshot

const SnapshotManager & Snapshots() const 

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

StartAuthorizationUI

void StartAuthorizationUI()

Memunculkan alur otorisasi pengguna khusus platform.

Statistik

StatsManager & Stats()

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

Statistik

const StatsManager & Stats() const 

Memberikan referensi const 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 const ke objek TurnBasedMultiplayerManager, yang memungkinkan akses ke metode terkait TBMP.

Video

VideoManager & Video()

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

Video

const VideoManager & Video() const 

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

~GameServices

 ~GameServices()