gpg::GameServices

#include <game_services.h>

נקודת ההתחלה לאינטראקציה עם Google Play Games.

סיכום

מחזור החיים של שירותי משחקים

מכונה של המחלקה GameServices נוצרת דרך GameServices::Builder. כשהיא נוצרת, היא לא מחוברת לשירותי המשחקים (כלומר, IsAuthorized() מחזירה FALSE). ניסיון כניסה שקט מופעל ברקע, ועשוי להצליח אם משתמש נכנס לחשבון בסוף סשן קודם. עד להשלמת ניסיון הכניסה השקט, כל ממשק משתמש לאימות משתמש (לדוגמה, לחצני כניסה או יציאה) צריך להיות מושבת או מוסתר.

בסיום ניסיון הכניסה השקט, תישלח קריאה חוזרת (callback) של OnAuthActionFinished למכונה GameServices (שנרשמה עם GameServices::Builder::SetOnAuthActionFinished). אם הארגומנטים של הקריאה החוזרת משקפים ניסיון כניסה מוצלח, אפשר להניח שהמכונה מחוברת לשירותי משחקים (כלומר, IsAuthorized() יחזיר את הערך true), וצריך להפעיל את ממשק המשתמש להתנתקות. אם ארגומנט הקריאה החוזרת משקף ניסיון כניסה שנכשל, צריך להפעיל ממשק משתמש לכניסה.

יציאה מפורשת דרך השיטה SignOut() צריכה להתבצע רק לפי בקשת המשתמש. הפעולה הזו מבקשת מעבר למצב לא מחובר. השלמת המעבר הזה מסומנת על ידי הפעלה של הקריאה החוזרת OnAuthActionFinished. עד שהקריאה החוזרת תופעל, אין לקרוא לממשקי API אחרים של GameServices (כולל StartAuthorizationUI()).

כשמכונת GameServices מושמדת, היא תיחסם עד שלא יהיו פעולות ממתינות כדי למנוע אובדן נתונים. אם ההתנהגות הזו של בלוק בהשמדה אינה רצויה, צריך להקצות Flush(), ומכונת GameServices אמורה לפעול עד להשלמת Flush().

כדי ש-GameServices יפעל בצורה תקינה בגרסאות Android שקודמות לגרסה 4.0, הפעילות של הבעלים צריכה לבצע קריאה חוזרת (callback) של מחזור החיים. למידע נוסף, ראו AndroidSupport.

בנייה

GameServices()
~GameServices()

סוגים ציבוריים

FlushCallback typedef
std::function< void(FlushStatus)>
מגדיר את סוג הקריאה החוזרת (callback) שמקבל את התוצאה (הסטטוס) של פעולת Flush.

פונקציות ציבוריות

Achievements()
מספק הפניה לאובייקט AchievementManager שמשמש לגישה להישגים ולמניפולציה.
Achievements() const
מספקת הפניה קבועה לאובייקט AchievementManager שמשמש לגישה להישגים ולמניפולציה שלהם.
Events()
מספקת הפניה לאובייקט EventManager שמשמש לגישה לאירועים ולמניפולציות עליהם.
Events() const
const EventManager &
מספקת הפניה קבועה לאובייקט EventManager שמשמש לגישה לאירועים ולמניפולציות עליהם.
Flush(FlushCallback callback)
void
מנקה באופן אסינכרוני את תור השליחה הראשי, ומחזיר את הסטטוס של הניקוי ל-FlushCallback שסופק.
FlushBlocking()
ניקוי סינכרוני ותוצאה (סטטוס) של הניקוי.
FlushBlocking(Timeout timeout)
ניקוי סינכרוני ותוצאה (סטטוס) של הניקוי.
IsAuthorized()
bool
מאפשרת לבדוק במפורש את מצב ההרשאה הנוכחי.
Leaderboards()
מספק הפניה לאובייקט LeaderboardManager שמשמש לגישה להישגים ולביצוע מניפולציות עליהם.
Leaderboards() const
מספק הפניה קבועה לאובייקט LeaderboardManager המשמש לגישה להישגים ולמניפולציה שלהם.
Players()
מספק הפניה לאובייקט PlayerManager, שמאפשר גישה למידע על שחקנים.
Players() const
const PlayerManager &
מספקת הפניה קבועה לאובייקט PlayerManager, שמאפשרת גישה למידע על השחקנים.
RealTimeMultiplayer()
מספקת הפניה לאובייקט RealTimeMultiplayerManager, שמאפשר גישה ל-methods שקשורות ל-RTMP.
RealTimeMultiplayer() const
מספקת הפניה קבועה לאובייקט RealTimeMultiplayerManager, שמאפשר גישה ל-methods שקשורות ל-RTMP.
SignOut()
void
מתחיל את תהליך היציאה האסינכרונית.
Snapshots()
מספקת הפניה לאובייקט SnapshotManager שמשמש לגישה אל תמונות מצב ולביצוע מניפולציות עליהן.
Snapshots() const
const SnapshotManager &
מספקת הפניה קבועה לאובייקט SnapshotManager המשמש לגישה אל תמונות מצב ולביצוע מניפולציות עליהן.
StartAuthorizationUI()
void
הצגת תהליך הרשאת משתמש ספציפי לפלטפורמה.
Stats()
מספק הפניה לאובייקט StatsManager שמשמש לגישה לנתונים סטטיסטיים של משחקים ושחקנים.
Stats() const
const StatsManager &
מספק הפניה קבועה לאובייקט StatsManager שמשמש לגישה לנתונים סטטיסטיים של משחקים ושחקנים.
TurnBasedMultiplayer()
מספקת הפניה לאובייקט TurnBasedMultiplayerManager, שמאפשר גישה ל-methods שקשורות ל-TBMP.
TurnBasedMultiplayer() const
מספקת הפניה קבועה לאובייקט TurnBasedMultiplayerManager, שמאפשר גישה ל-methods שקשורות ל-TBMP.
Video()
מספקת הפניה לאובייקט VideoManager, שמאפשר גישה ל-methods שקשורות לסרטון.
Video() const
const VideoManager &
מספקת הפניה קבועה לאובייקט VideoManager, שמאפשרת גישה ל-methods שקשורות לסרטון.

שיעורים

gpg::GameServices::Builder

משמש ליצירה ולהגדרה של מכונה של המחלקה GameServices.

סוגים ציבוריים

FlushCallback

std::function< void(FlushStatus)> FlushCallback

מגדיר את סוג הקריאה החוזרת (callback) שמקבל את התוצאה (הסטטוס) של פעולת Flush.

משמש ב-Flush().

פונקציות ציבוריות

הישגים

AchievementManager & Achievements()

מספק הפניה לאובייקט AchievementManager שמשמש לגישה להישגים ולמניפולציה.

הישגים

const AchievementManager & Achievements() const 

מספקת הפניה קבועה לאובייקט AchievementManager שמשמש לגישה להישגים ולמניפולציה שלהם.

אירועים

EventManager & Events()

מספקת הפניה לאובייקט EventManager שמשמש לגישה לאירועים ולמניפולציות עליהם.

אירועים

const EventManager & Events() const 

מספקת הפניה קבועה לאובייקט EventManager שמשמש לגישה לאירועים ולמניפולציות עליהם.

סומק

void Flush(
  FlushCallback callback
)

מנקה באופן אסינכרוני את תור השליחה הראשי, ומחזיר את הסטטוס של הניקוי ל-FlushCallback שסופק.

הסטטוסים האפשריים הם: FLUSHED, ERROR_INTERNAL ו-ERROR_VERSION_UPDATE_REQUIRED.

FlushBlocking

FlushStatus FlushBlocking()

ניקוי סינכרוני ותוצאה (סטטוס) של הניקוי.

הסטטוסים האפשריים הם: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED ו-ERROR_TIMEOUT. אם הזמן הקצוב לתפוגה לא מוגדר, קריאת הפונקציה הזו שוות ערך לקריאה ל-FlushStatusFlushBlocking(Timeout), כאשר הזמן הקצוב לתפוגה מוגדר כ-10 שנים.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

ניקוי סינכרוני ותוצאה (סטטוס) של הניקוי.

הסטטוסים האפשריים הם: FLUSHED, ERROR_INTERNAL, ERROR_NOT_AUTHORIZED, ERROR_VERSION_UPDATE_REQUIRED ו-ERROR_TIMEOUT. ציון הזמן הקצוב לתפוגה כמספר שרירותי של אלפיות השנייה.

GameServices

 GameServices()=delete

IsAuthorized

bool IsAuthorized()

מאפשרת לבדוק במפורש את מצב ההרשאה הנוכחי.

אנחנו ממליצים לצרכני SDK להירשם לקריאות חוזרות (callback) מסוג AUTH_ACTION_* כדי לטפל בשינויים במצב ההרשאה ולא בדגימה.

Leaderboards

LeaderboardManager & Leaderboards()

מספק הפניה לאובייקט LeaderboardManager שמשמש לגישה להישגים ולביצוע מניפולציות עליהם.

Leaderboards

const LeaderboardManager & Leaderboards() const 

מספק הפניה קבועה לאובייקט LeaderboardManager שמשמש לגישה להישגים ולמניפולציה שלהם.

שחקנים

PlayerManager & Players()

מספק הפניה לאובייקט PlayerManager, שמאפשר גישה למידע על שחקנים.

שחקנים

const PlayerManager & Players() const 

מספקת הפניה קבועה לאובייקט PlayerManager, שמאפשרת גישה למידע על השחקנים.

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

מספקת הפניה לאובייקט RealTimeMultiplayerManager, שמאפשר גישה ל-methods שקשורות ל-RTMP.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

מספקת הפניה קבועה לאובייקט RealTimeMultiplayerManager, שמאפשר גישה ל-methods שקשורות ל-RTMP.

SignOut

void SignOut()

מתחיל את תהליך היציאה האסינכרונית.

אחרי הקריאה ל-SignOut, אין לבצע פעולות ב-GameServices עד לקבלת OnAuthActionFinishedCallback שמציין שיציאה מוצלחת.

תמונת מצב

SnapshotManager & Snapshots()

מספקת הפניה לאובייקט SnapshotManager שמשמש לגישה אל תמונות מצב ולביצוע מניפולציות עליהן.

תמונת מצב

const SnapshotManager & Snapshots() const 

מספקת הפניה קבועה לאובייקט SnapshotManager המשמש לגישה אל תמונות מצב ולביצוע מניפולציות עליהן.

StartAuthorizationUI

void StartAuthorizationUI()

הצגת תהליך הרשאת משתמש ספציפי לפלטפורמה.

נתונים סטטיסטיים

StatsManager & Stats()

מספק הפניה לאובייקט StatsManager שמשמש לגישה לנתונים סטטיסטיים של משחקים ושחקנים.

נתונים סטטיסטיים

const StatsManager & Stats() const 

מספק הפניה קבועה לאובייקט StatsManager שמשמש לגישה לנתונים סטטיסטיים של משחקים ושחקנים.

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

מספקת הפניה לאובייקט TurnBasedMultiplayerManager, שמאפשר גישה ל-methods שקשורות ל-TBMP.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

מספקת הפניה קבועה לאובייקט TurnBasedMultiplayerManager, שמאפשר גישה ל-methods שקשורות ל-TBMP.

וידאו

VideoManager & Video()

מספקת הפניה לאובייקט VideoManager, שמאפשר גישה ל-methods שקשורות לסרטון.

וידאו

const VideoManager & Video() const 

מספקת הפניה קבועה לאובייקט VideoManager, שמאפשרת גישה ל-methods שקשורות לסרטון.

~GameServices

 ~GameServices()