gpg::GameServices

#include <game_services.h>

Điểm xuất phát để tương tác với Google Play Games.

Tóm tắt

Vòng đời của dịch vụ trò chơi

Một thực thể của lớp GameServices sẽ được tạo thông qua GameServices::Builder. Khi được tạo, thực thể ban đầu chưa được đăng nhập vào Dịch vụ trò chơi (nghĩa là IsAuthorized() sẽ trả về giá trị false). Hoạt động đăng nhập dưới nền sẽ bắt đầu trong nền và có thể đăng nhập thành công nếu người dùng đăng nhập vào cuối phiên trước đó. Cho đến khi hoàn tất quy trình đăng nhập im lặng này, mọi giao diện người dùng xác thực người dùng (ví dụ: nút đăng nhập và/hoặc đăng xuất) đều phải bị vô hiệu hóa hoặc ẩn đi.

Khi hoàn tất quá trình đăng nhập im lặng này, lệnh gọi lại OnAuthActionCompleted cho thực thể GameServices (đã đăng ký bằng GameServices::Builder::SetOnAuthActionFinished) sẽ được thông báo. Nếu các đối số gọi lại phản ánh một lần đăng nhập thành công, thì thực thể đó có thể được coi là đã kết nối với Dịch vụ trò chơi (nghĩa là IsAuthorized() sẽ trả về giá trị true) và giao diện người dùng đăng xuất phải được bật. Nếu đối số gọi lại phản ánh một lần đăng nhập không thành công, bạn phải bật giao diện người dùng đăng nhập.

Đăng xuất rõ ràng thông qua phương thức SignOut() chỉ nên được gọi khi có yêu cầu của người dùng. Thao tác này sẽ yêu cầu chuyển sang trạng thái đăng xuất. Việc hoàn tất quá trình chuyển đổi này được biểu thị bằng lệnh gọi lại OnAuthActionCompleted. Cho đến khi lệnh gọi lại này được gọi, các API GameServices khác (bao gồm cả StartAuthorizeUI()) sẽ không được gọi.

Khi một thực thể GameServices bị huỷ, thực thể này sẽ chặn cho đến khi không có thao tác nào đang chờ xử lý để tránh mất dữ liệu. Nếu bạn không mong muốn hành vi phá huỷ khối này, Flush() sẽ được phát hành và thực thể GameServices sẽ vẫn hoạt động cho đến khi Flush() hoàn tất.

Để GameServices hoạt động đúng cách trên các phiên bản Android thấp hơn 4.0, Hoạt động sở hữu phải gọi các phương thức gọi lại trong vòng đời. Xem AndroidSupport.

Hàm khởi tạo và hàm phá

GameServices()
~GameServices()

Loại công khai

FlushCallback typedef
std::function< void(FlushStatus)>
Xác định loại lệnh gọi lại nhận kết quả (trạng thái) của thao tác Flush.

Hàm công khai

Achievements()
Cung cấp mục tham chiếu đến đối tượng AchievementManager được dùng để truy cập và điều chỉnh thành tích.
Achievements() const
Cung cấp thông tin tham chiếu nhất quán đến đối tượng AchievementManager được dùng để truy cập và điều khiển thành tích.
Events()
Cung cấp thông tin tham chiếu đến đối tượng EventManager dùng để truy cập và thao tác với các sự kiện.
Events() const
const EventManager &
Cung cấp tham chiếu đồng nhất đến đối tượng EventManager dùng để truy cập và thao tác với các sự kiện.
Flush(FlushCallback callback)
void
Xoá không đồng bộ hàng đợi điều phối chính và trả về trạng thái xả dữ liệu cho FlushCallback đã cung cấp.
FlushBlocking()
Xả đồng bộ và nhận kết quả (trạng thái) xả dữ liệu.
FlushBlocking(Timeout timeout)
Xả đồng bộ và nhận kết quả (trạng thái) xả dữ liệu.
IsAuthorized()
bool
Cho phép bạn kiểm tra rõ ràng trạng thái uỷ quyền hiện tại.
Leaderboards()
Cung cấp tệp tham chiếu đến đối tượng LeaderboardManager dùng để truy cập và điều khiển thành tích.
Leaderboards() const
Cung cấp tệp tham chiếu nhất quán đến đối tượng LeaderboardManager dùng để truy cập và thao tác với thành tích.
Players()
Cung cấp thông tin tham chiếu đến đối tượng PlayerManager, cho phép truy cập thông tin về người chơi.
Players() const
const PlayerManager &
Cung cấp thông tin tham chiếu liên tục đến đối tượng PlayerManager, cho phép truy cập thông tin về người chơi.
RealTimeMultiplayer()
Cung cấp thông tin tham chiếu đến đối tượng RealTimeMultiplayerManager, cho phép truy cập vào các phương thức liên quan đến RTMP.
RealTimeMultiplayer() const
Cung cấp thông tin tham chiếu cố định đến đối tượng RealTimeMultiplayerManager, cho phép truy cập vào các phương thức liên quan đến RTMP.
SignOut()
void
Bắt đầu quá trình đăng xuất không đồng bộ.
Snapshots()
Cung cấp thông tin tham chiếu đến đối tượng SnapshotManager dùng để truy cập và chỉnh sửa ảnh chụp nhanh.
Snapshots() const
const SnapshotManager &
Cung cấp tham chiếu đồng nhất đến đối tượng SnapshotManager dùng để truy cập và thao tác với ảnh chụp nhanh.
StartAuthorizationUI()
void
Đưa ra quy trình uỷ quyền người dùng dành riêng cho nền tảng.
Stats()
Cung cấp thông tin tham chiếu đến đối tượng StatsManager dùng để truy cập số liệu thống kê về trò chơi và người chơi.
Stats() const
const StatsManager &
Cung cấp tham chiếu đồng nhất đến đối tượng StatsManager dùng để truy cập vào số liệu thống kê về trò chơi và người chơi.
TurnBasedMultiplayer()
Cung cấp thông tin tham chiếu đến đối tượng TurnBasedMultiplayerManager, cho phép truy cập vào các phương thức liên quan đến TBMP.
TurnBasedMultiplayer() const
Cung cấp tham chiếu cố định đến đối tượng TurnBasedMultiplayerManager, cho phép truy cập vào các phương thức liên quan đến TBMP.
Video()
Cung cấp thông tin tham chiếu đến đối tượng VideoManager, cho phép truy cập vào các phương thức liên quan đến video.
Video() const
const VideoManager &
Cung cấp tham chiếu cố định đến đối tượng VideoManager, cho phép truy cập vào các phương thức liên quan đến video.

Lớp

gpg::GameServices::Builder

Dùng để tạo và định cấu hình một thực thể của lớp GameServices.

Loại công khai

FlushCallback

std::function< void(FlushStatus)> FlushCallback

Xác định loại lệnh gọi lại nhận kết quả (trạng thái) của thao tác Flush.

Dùng trong Flush().

Hàm công khai

Thành tích

AchievementManager & Achievements()

Cung cấp mục tham chiếu đến đối tượng AchievementManager được dùng để truy cập và điều chỉnh thành tích.

Thành tích

const AchievementManager & Achievements() const 

Cung cấp thông tin tham chiếu nhất quán đến đối tượng AchievementManager được dùng để truy cập và điều khiển thành tích.

Sự kiện

EventManager & Events()

Cung cấp thông tin tham chiếu đến đối tượng EventManager dùng để truy cập và thao tác với các sự kiện.

Sự kiện

const EventManager & Events() const 

Cung cấp tham chiếu đồng nhất đến đối tượng EventManager dùng để truy cập và thao tác với các sự kiện.

Xả

void Flush(
  FlushCallback callback
)

Xoá không đồng bộ hàng đợi điều phối chính và trả về trạng thái xả dữ liệu cho FlushCallback đã cung cấp.

Các trạng thái có thể là: FLUSHED, ERROR_INTERNAL và ERROR_VERSION_UPDATE_REQUIRED.

FlushBlocking

FlushStatus FlushBlocking()

Xả đồng bộ và nhận kết quả (trạng thái) xả dữ liệu.

Các trạng thái có thể là: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED và ERROR_TIMEOUT. Nếu bạn không chỉ định thời gian chờ này, lệnh gọi hàm này sẽ tương đương với việc gọi FlushStatus FlushBlocking(Timeout), với Thời gian chờ được chỉ định là 10 năm.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

Xả đồng bộ và nhận kết quả (trạng thái) xả dữ liệu.

Các trạng thái có thể là: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED và ERROR_TIMEOUT. Chỉ định thời gian chờ dưới dạng số mili giây tuỳ ý.

GameServices

 GameServices()=delete

IsAuthorized

bool IsAuthorized()

Cho phép bạn kiểm tra rõ ràng trạng thái uỷ quyền hiện tại.

Người sử dụng SDK nên đăng ký lệnh gọi lại AUTH_ACTION_* để xử lý các thay đổi về trạng thái uỷ quyền, thay vì thăm dò ý kiến.

Bảng xếp hạng

LeaderboardManager & Leaderboards()

Cung cấp tệp tham chiếu đến đối tượng LeaderboardManager dùng để truy cập và điều khiển thành tích.

Bảng xếp hạng

const LeaderboardManager & Leaderboards() const 

Cung cấp tệp tham chiếu nhất quán đến đối tượng LeaderboardManager dùng để truy cập và thao tác với thành tích.

Người chơi

PlayerManager & Players()

Cung cấp thông tin tham chiếu đến đối tượng PlayerManager, cho phép truy cập thông tin về người chơi.

Người chơi

const PlayerManager & Players() const 

Cung cấp thông tin tham chiếu liên tục đến đối tượng PlayerManager, cho phép truy cập thông tin về người chơi.

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

Cung cấp thông tin tham chiếu đến đối tượng RealTimeMultiplayerManager, cho phép truy cập vào các phương thức liên quan đến RTMP.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

Cung cấp thông tin tham chiếu cố định đến đối tượng RealTimeMultiplayerManager, cho phép truy cập vào các phương thức liên quan đến RTMP.

SignOut

void SignOut()

Bắt đầu quá trình đăng xuất không đồng bộ.

Sau khi gọi SignOut, bạn không nên gọi bất kỳ thao tác nào trên GameServices cho đến khi nhận được OnAuthActionDoneCallback cho biết đã đăng xuất thành công.

Tổng quan nhanh

SnapshotManager & Snapshots()

Cung cấp thông tin tham chiếu đến đối tượng SnapshotManager dùng để truy cập và chỉnh sửa ảnh chụp nhanh.

Tổng quan nhanh

const SnapshotManager & Snapshots() const 

Cung cấp tham chiếu đồng nhất đến đối tượng SnapshotManager dùng để truy cập và thao tác với ảnh chụp nhanh.

StartAuthorizationUI

void StartAuthorizationUI()

Đưa ra quy trình uỷ quyền người dùng dành riêng cho nền tảng.

Số liệu thống kê

StatsManager & Stats()

Cung cấp thông tin tham chiếu đến đối tượng StatsManager dùng để truy cập số liệu thống kê về trò chơi và người chơi.

Số liệu thống kê

const StatsManager & Stats() const 

Cung cấp tham chiếu đồng nhất đến đối tượng StatsManager dùng để truy cập vào số liệu thống kê về trò chơi và người chơi.

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

Cung cấp thông tin tham chiếu đến đối tượng TurnBasedMultiplayerManager, cho phép truy cập vào các phương thức liên quan đến TBMP.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

Cung cấp tham chiếu cố định đến đối tượng TurnBasedMultiplayerManager, cho phép truy cập vào các phương thức liên quan đến TBMP.

Video

VideoManager & Video()

Cung cấp thông tin tham chiếu đến đối tượng VideoManager, cho phép truy cập vào các phương thức liên quan đến video.

Video

const VideoManager & Video() const 

Cung cấp tham chiếu cố định đến đối tượng VideoManager, cho phép truy cập vào các phương thức liên quan đến video.

~Dịch vụ trò chơi

 ~GameServices()