gpg::GameServices

#include <game_services.h>

نقطة البداية للتفاعل مع "ألعاب Google Play"

ملخّص

مراحل نشاط خدمات الألعاب

يتم إنشاء مثيل لفئة GameServices من خلال GameServices::Builder. عند إنشاء المثيل، لا يتم تسجيل الدخول إلى "خدمات الألعاب" في البداية (أي أنّ IsAuthorized() سيعرض خطأ). تبدأ محاولة تسجيل دخول بدون تنبيه صوتي في الخلفية، وقد تنجح محاولة تسجيل الدخول بدون تنبيه صوتي في حال تسجيل دخول المستخدم في نهاية جلسة سابقة. إلى حين اكتمال محاولة تسجيل الدخول بدون تنبيه صوتي هذه، يجب أن تكون أي واجهة مستخدم لمصادقة المستخدم (مثل أزرار تسجيل الدخول و/أو تسجيل الخروج) غير مفعّلة أو مخفية.

عند اكتمال محاولة تسجيل الدخول بدون تنبيه صوتي هذه، سيتم إرسال إشعار إلى معاودة الاتصال OnAuthActionFinished لمثيل GameServices (المسجَّل لدى GameServices::Builder::SetOnAuthActionFinished). إذا كانت وسيطات معاودة الاتصال تعكس محاولة تسجيل دخول ناجحة، يمكن افتراض اتصال المثيل بخدمات الألعاب (أي عرض IsAuthorized() على أنه صحيح)، ويجب تفعيل واجهة مستخدم تسجيل الخروج. إذا كانت وسيطة معاودة الاتصال تُظهر محاولة تسجيل دخول فاشلة، يجب تفعيل واجهة مستخدم تسجيل الدخول.

يجب استدعاء تسجيل الخروج الصريح من خلال الإجراء SignOut() بناءً على طلب المستخدم فقط. يتطلب هذا الانتقال إلى حالة تسجيل الخروج. يُشار إلى اكتمال عملية النقل هذه من خلال استدعاء استدعاء OnAuthActionFinished. وإلى أن يتم استدعاء هذه الدالة، يجب عدم استدعاء واجهات برمجة تطبيقات GameServices الأخرى (بما في ذلك StartAuthorizationUI()).

عند إتلاف مثيل GameServices، سيتم حظره إلى أن تكون هناك عمليات معلّقة بهدف تجنّب فقدان البيانات. إذا لم يكن سلوك حظر التدمير هذا مطلوبًا، يجب إصدار الأمر Flush() والحفاظ على مثيل GameServices إلى أن تكتمل العملية Flush().

لكي تعمل GameServices بشكل صحيح على إصدارات Android التي تقلّ عن 4.0، يجب أن يستدعي النشاط المالك استدعاءات مراحل النشاط. يمكنك الاطّلاع على AndroidSupport.

الشركات المصنّعة والمُصنّعة

GameServices()
~GameServices()

الأنواع العامة

FlushCallback تعريف الكتابة
std::function< void(FlushStatus)>
تحدد هذه السمة نوع معاودة الاتصال الذي يتلقّى نتيجة (الحالة) لعملية مسح ضوئي.

وظائف عامة

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 الذي يسمح بالوصول إلى الطرق ذات الصلة ببروتوكول RTMP.
RealTimeMultiplayer() const
توفّر مرجعًا ثابتًا للكائن RealTimeMultiplayerManager، ما يسمح بالوصول إلى الطرق ذات الصلة ببروتوكول RTMP.
SignOut()
void
بدء عملية الخروج غير المتزامن
Snapshots()
توفّر مرجعًا إلى الكائن SnapshotManager المستخدَم للوصول إلى اللقطات ومعالجتها.
Snapshots() const
const SnapshotManager &
توفِّر مرجعًا ثابتًا للكائن SnapshotManager المستخدَم للوصول إلى اللقطات ومعالجتها.
StartAuthorizationUI()
void
يؤدي إلى مسار تفويض المستخدم الخاص بالنظام الأساسي.
Stats()
توفّر مرجعًا للعنصر StatsManager المستخدَم للوصول إلى إحصاءات اللعبة واللاعب.
Stats() const
const StatsManager &
توفّر مرجعًا ثابتًا للكائن StatsManager المستخدَم للوصول إلى إحصاءات اللعبة واللاعب.
TurnBasedMultiplayer()
توفّر هذه السمة مرجعًا للعنصر TurnBasedMultiplayerManager الذي يتيح الوصول إلى الطرق ذات الصلة ببروتوكول TBMP.
TurnBasedMultiplayer() const
توفّر مرجعًا ثابتًا للكائن TurnBasedMultiplayerManager، ما يتيح الوصول إلى الطرق ذات الصلة بـ TBMP.
Video()
توفّر مرجعًا للكائن VideoManager، ما يتيح الوصول إلى الطرق ذات الصلة بالفيديو.
Video() const
const VideoManager &
توفّر مرجعًا ثابتًا للكائن VideoManager، ما يتيح الوصول إلى الطرق ذات الصلة بالفيديو.

صفوف

gpg::GameServices::Builder

تُستخدَم لإنشاء مثيل من فئة GameServices وإعداده.

الأنواع العامة

FlushCallback

std::function< void(FlushStatus)> FlushCallback

تحدد هذه السمة نوع معاودة الاتصال الذي يتلقّى نتيجة (الحالة) لعملية مسح ضوئي.

تُستخدَم في 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_🔐. في حال ترك هذه المهلة بدون تحديد، تكون استدعاء هذه الدالة مكافئًا لاستدعاء FlushStatus FlushBlocking(Timeout)، مع تحديد "المهلة" على أنّه 10 سنوات.

FlushBlocking

FlushStatus FlushBlocking(
  Timeout timeout
)

يتدفق بشكل متزامن ويحصل على نتيجة (الحالة) للتدفق.

الحالات المحتملة هي: FLUSHED وERROR_INTERNAL وERROR_NOT_AUTHORIZED وERROR_VERSION_UPDATE_REQUIRED وERROR_🔐. حدِّد المهلة كعدد عشوائي من الملي ثانية.

GameServices

 GameServices()=delete

IsAuthorized

bool IsAuthorized()

تسمح لك هذه السياسة بالتحقّق من حالة التفويض الحالية بشكل صريح.

ننصح مستهلكي حزم تطوير البرامج (SDK) بالتسجيل في عمليات استدعاء AUTH_ACTION_* للتعامل مع تغييرات حالة التفويض، بدلاً من الاستطلاع.

أشكال ليدربورد

LeaderboardManager & Leaderboards()

توفّر مرجعًا للكائن LeaderboardManager المستخدَم للوصول إلى الإنجازات ومعالجتها.

أشكال ليدربورد

const LeaderboardManager & Leaderboards() const 

توفّر مرجعًا ثابتًا للكائن LeaderboardManager المستخدَم للوصول إلى الإنجازات ومعالجتها.

اللاعبون

PlayerManager & Players()

توفّر مرجعًا للكائن PlayerManager الذي يتيح الوصول إلى معلومات حول اللاعبين.

اللاعبون

const PlayerManager & Players() const 

توفّر مرجعًا ثابتًا للكائن PlayerManager، ما يسمح بالوصول إلى معلومات حول اللاعبين.

RealTimeMultiplayer

RealTimeMultiplayerManager & RealTimeMultiplayer()

توفّر هذه السياسة إشارة إلى العنصر RealTimeMultiplayerManager الذي يسمح بالوصول إلى الطرق ذات الصلة ببروتوكول RTMP.

RealTimeMultiplayer

const RealTimeMultiplayerManager & RealTimeMultiplayer() const 

توفّر مرجعًا ثابتًا للكائن RealTimeMultiplayerManager، ما يسمح بالوصول إلى الطرق ذات الصلة ببروتوكول RTMP.

SignOut

void 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 الذي يتيح الوصول إلى الطرق ذات الصلة ببروتوكول TBMP.

TurnBasedMultiplayer

const TurnBasedMultiplayerManager & TurnBasedMultiplayer() const 

توفّر مرجعًا ثابتًا للكائن TurnBasedMultiplayerManager، ما يتيح الوصول إلى الطرق ذات الصلة بـ TBMP.

فيديو

VideoManager & Video()

توفّر مرجعًا للكائن VideoManager، ما يتيح الوصول إلى الطرق ذات الصلة بالفيديو.

فيديو

const VideoManager & Video() const 

توفّر مرجعًا ثابتًا للكائن VideoManager، ما يتيح الوصول إلى الطرق ذات الصلة بالفيديو.

~GameServices

 ~GameServices()