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
|
typedefstd::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
|
const AchievementManager &
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
|
const LeaderboardManager &
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
|
const RealTimeMultiplayerManager &
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
|
const TurnBasedMultiplayerManager &
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:: |
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()