gpg:: خدمات بازی

#include <game_services.h>

نقطه شروع برای تعامل با بازی های Google Play.

خلاصه

چرخه حیات خدمات بازی

نمونه ای از کلاس GameServices از طریق GameServices::Builder ایجاد می شود. هنگام ایجاد، نمونه در ابتدا وارد سرویس‌های بازی نمی‌شود (یعنی IsAuthorized() false را برمی‌گرداند. تلاش برای ورود به سیستم بی‌صدا در پس‌زمینه آغاز می‌شود و اگر کاربر در پایان جلسه قبلی وارد سیستم شده باشد، ممکن است موفق شود. تا تکمیل این تلاش برای ورود به سیستم بی‌صدا، هر رابط کاربری احراز هویت کاربر (به عنوان مثال، دکمه‌های ورود و/یا خروج) باید غیرفعال یا پنهان شود.

پس از اتمام این تلاش برای ورود به سیستم بی‌صدا، پاسخ تماس OnAuthActionFinished برای نمونه GameServices (ثبت‌شده در GameServices::Builder::SetOnAuthActionFinished ) اطلاع‌رسانی می‌شود. اگر آرگومان‌های برگشت تماس منعکس کننده تلاش موفقیت آمیز برای ورود به سیستم باشند، می‌توان فرض کرد که نمونه به سرویس‌های بازی متصل است (یعنی IsAuthorized() true برمی‌گرداند)، و رابط کاربری خروج از سیستم باید فعال شود. اگر آرگومان برگشت تماس نشان دهنده تلاش ناموفق برای ورود به سیستم باشد، رابط کاربری ورود به سیستم باید فعال شود.

خروج صریح از طریق متد ()SignOut باید فقط در صورت درخواست کاربر فراخوانی شود. این درخواست انتقال به حالت خروج از سیستم را دارد. تکمیل این انتقال با فراخوانی پاسخ به تماس OnAuthActionFinished نشان داده می شود. تا زمانی که این بازخوانی فراخوانی نشود، دیگر APIهای GameServices (از جمله StartAuthorizationUI() ) نباید فراخوانی شوند.

هنگامی که یک نمونه GameServices تخریب می شود، تا زمانی که هیچ عملیات معلقی برای جلوگیری از از دست رفتن داده ها وجود نداشته باشد، مسدود می شود. اگر این رفتار block-on-destruction مورد نظر نیست، یک Flush() باید صادر شود و نمونه GameServices باید تا زمانی که Flush() کامل شود، زنده نگه داشته شود.

برای اینکه GameServices در نسخه‌های Android کمتر از 4.0 به درستی کار کند، Activity مالک باید تماس‌های چرخه حیات را فراخوانی کند. به AndroidSupport مراجعه کنید.

سازندگان و ویرانگرها

GameServices ()
~GameServices ()

انواع عمومی

FlushCallback typedef
std::function< void( FlushStatus )>
نوع برگشتی را تعریف می کند که نتیجه (وضعیت) یک عملیات Flush را دریافت می کند.

توابع عمومی

Achievements ()
ارجاعی به شیء AchievementManager که برای دسترسی و دستکاری دستاوردها استفاده می شود، ارائه می دهد.
Achievements () const
یک مرجع const به شی AchievementManager که برای دسترسی و دستکاری دستاوردها استفاده می شود، ارائه می دهد.
Events ()
ارجاعی به شی EventManager که برای دسترسی و دستکاری رویدادها استفاده می شود، ارائه می دهد.
Events () const
const EventManager &
یک مرجع const به شی EventManager که برای دسترسی و دستکاری رویدادها استفاده می شود، ارائه می دهد.
Flush ( FlushCallback callback)
void
به صورت ناهمزمان صف ارسال اصلی را فلاش می کند و وضعیت فلاش را به FlushCallback ارائه شده برمی گرداند.
FlushBlocking ()
به طور همزمان فلاش می شود و نتیجه (وضعیت) فلاش را می گیرد.
FlushBlocking ( Timeout timeout)
به طور همزمان فلاش می شود و نتیجه (وضعیت) فلاش را می گیرد.
IsAuthorized ()
bool
به شما امکان می‌دهد تا وضعیت مجوز فعلی را به صراحت بررسی کنید.
Leaderboards ()
ارجاعی به شی LeaderboardManager که برای دسترسی و دستکاری دستاوردها استفاده می شود، ارائه می دهد.
Leaderboards () const
یک مرجع const به شی LeaderboardManager که برای دسترسی و دستکاری دستاوردها استفاده می شود، ارائه می دهد.
Players ()
ارجاعی به شی PlayerManager ارائه می دهد که امکان دسترسی به اطلاعات بازیکنان را فراهم می کند.
Players () const
const PlayerManager &
یک مرجع const به شی PlayerManager ارائه می دهد که امکان دسترسی به اطلاعات بازیکنان را فراهم می کند.
RealTimeMultiplayer ()
ارجاعی به شی RealTimeMultiplayerManager ارائه می دهد که امکان دسترسی به روش های مرتبط با RTMP را فراهم می کند.
RealTimeMultiplayer () const
یک مرجع const به شی RealTimeMultiplayerManager ارائه می دهد که امکان دسترسی به روش های مرتبط با RTMP را فراهم می کند.
SignOut ()
void
فرآیند خروج ناهمزمان را آغاز می کند.
Snapshots ()
ارجاعی به شی SnapshotManager که برای دسترسی و دستکاری عکس های فوری استفاده می شود ارائه می دهد.
Snapshots () const
یک مرجع const به شی SnapshotManager که برای دسترسی و دستکاری عکس های فوری استفاده می شود، ارائه می دهد.
StartAuthorizationUI ()
void
یک جریان مجوز کاربر برای پلتفرم خاص را به ارمغان می آورد.
Stats ()
ارجاعی به شی StatsManager که برای دسترسی به آمار بازی و بازیکن استفاده می شود، ارائه می دهد.
Stats () const
const StatsManager &
یک مرجع const به شی StatsManager که برای دسترسی به آمار بازی و بازیکن استفاده می شود، ارائه می دهد.
TurnBasedMultiplayer ()
ارجاعی به شی TurnBasedMultiplayerManager ارائه می دهد که امکان دسترسی به روش های مرتبط با TBMP را فراهم می کند.
TurnBasedMultiplayer () const
یک مرجع const به شی TurnBasedMultiplayerManager ارائه می دهد که امکان دسترسی به روش های مرتبط با TBMP را فراهم می کند.
Video ()
ارجاعی به شی VideoManager ارائه می دهد که امکان دسترسی به روش های مرتبط با ویدئو را فراهم می کند.
Video () const
const VideoManager &
یک مرجع const به شی VideoManager ارائه می دهد که امکان دسترسی به روش های مرتبط با ویدئو را فراهم می کند.

کلاس ها

gpg:: GameServices:: Builder

برای ایجاد و پیکربندی نمونه ای از کلاس GameServices استفاده می شود.

انواع عمومی

FlushCallback

std::function< void(FlushStatus)> FlushCallback

نوع برگشتی را تعریف می کند که نتیجه (وضعیت) یک عملیات Flush را دریافت می کند.

در Flush() استفاده می شود.

توابع عمومی

دستاوردها

AchievementManager & Achievements()

ارجاعی به شیء AchievementManager که برای دسترسی و دستکاری دستاوردها استفاده می شود، ارائه می دهد.

دستاوردها

const AchievementManager & Achievements() const 

یک مرجع const به شی AchievementManager که برای دسترسی و دستکاری دستاوردها استفاده می شود، ارائه می دهد.

مناسبت ها

EventManager & Events()

ارجاعی به شی EventManager که برای دسترسی و دستکاری رویدادها استفاده می شود، ارائه می دهد.

مناسبت ها

const EventManager & Events() const 

یک مرجع 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. نامشخص ماندن این مهلت زمانی، این فراخوانی تابع را با فراخوانی FlushStatus FlushBlocking (Timeout) برابر می‌کند، با 10 سال تعیین زمان.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

به طور همزمان فلاش می شود و نتیجه (وضعیت) فلاش را می گیرد.

وضعیت‌های ممکن عبارتند از: FLUSHED، ERROR_INTERNAL، ERROR_NOT_AUTHORIZED، ERROR_VERSION_UPDATE_REQUIRED و ERROR_TIMEOUT. زمان پایان را به عنوان تعداد دلخواه میلی ثانیه مشخص کنید.

خدمات بازی

 GameServices()=delete

مجاز است

bool IsAuthorized()

به شما امکان می‌دهد تا وضعیت مجوز فعلی را به صراحت بررسی کنید.

به مصرف‌کنندگان SDK توصیه می‌شود به جای نظرسنجی، در تماس‌های AUTH_ACTION_* ثبت نام کنند تا تغییرات وضعیت مجوز را مدیریت کنند.

تابلوهای امتیازات

LeaderboardManager & Leaderboards()

ارجاعی به شی LeaderboardManager که برای دسترسی و دستکاری دستاوردها استفاده می شود، ارائه می دهد.

تابلوهای امتیازات

const LeaderboardManager & Leaderboards() const 

یک مرجع const به شی LeaderboardManager که برای دسترسی و دستکاری دستاوردها استفاده می شود، ارائه می دهد.

بازیکنان

PlayerManager & Players()

ارجاعی به شی PlayerManager ارائه می دهد که امکان دسترسی به اطلاعات بازیکنان را فراهم می کند.

بازیکنان

const PlayerManager & Players() const 

یک مرجع const به شی PlayerManager ارائه می دهد که امکان دسترسی به اطلاعات بازیکنان را فراهم می کند.

RealTime Multiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

ارجاعی به شی RealTimeMultiplayerManager ارائه می دهد که امکان دسترسی به روش های مرتبط با RTMP را فراهم می کند.

RealTime Multiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

یک مرجع const به شی RealTimeMultiplayerManager ارائه می دهد که امکان دسترسی به روش های مرتبط با RTMP را فراهم می کند.

خروج از سیستم

void SignOut()

فرآیند خروج ناهمزمان را آغاز می کند.

پس از فراخوانی SignOut، تا زمانی که OnAuthActionFinishedCallback را دریافت نکنید، نباید هیچ عملیاتی را در GameServices فراخوانی کنید که نشان دهنده خروج موفقیت آمیز از سیستم است.

عکس های فوری

SnapshotManager & Snapshots()

ارجاعی به شی SnapshotManager که برای دسترسی و دستکاری عکس های فوری استفاده می شود ارائه می دهد.

عکس های فوری

const SnapshotManager & Snapshots() const 

یک مرجع const به شی SnapshotManager که برای دسترسی و دستکاری عکس های فوری استفاده می شود، ارائه می دهد.

StartAuthorizationUI

void StartAuthorizationUI()

یک جریان مجوز کاربر برای پلتفرم خاص را به ارمغان می آورد.

آمار

StatsManager & Stats()

ارجاعی به شی StatsManager که برای دسترسی به آمار بازی و بازیکن استفاده می شود، ارائه می دهد.

آمار

const StatsManager & Stats() const 

یک مرجع const به شی StatsManager که برای دسترسی به آمار بازی و بازیکن استفاده می شود، ارائه می دهد.

TurnBasedMultiplayer

TurnBasedMultiplayerManager & TurnBasedMultiplayer()

ارجاعی به شی TurnBasedMultiplayerManager ارائه می دهد که امکان دسترسی به روش های مرتبط با TBMP را فراهم می کند.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

یک مرجع const به شی TurnBasedMultiplayerManager ارائه می دهد که امکان دسترسی به روش های مرتبط با TBMP را فراهم می کند.

ویدیو

VideoManager & Video()

ارجاعی به شی VideoManager ارائه می دهد که امکان دسترسی به روش های مرتبط با ویدئو را فراهم می کند.

ویدیو

const VideoManager & Video() const 

یک مرجع const به شی VideoManager ارائه می دهد که امکان دسترسی به روش های مرتبط با ویدئو را فراهم می کند.

~خدمات بازی

 ~GameServices()