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
|
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
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
|
const LeaderboardManager &
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
|
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 &
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
|
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()
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()