Google Play Games C++ SDK

خلاصه

سازمان

نقطه ورود اصلی برای عملکرد Play Game Services کلاس GameServices است. نمونه های GameServices با GameServices::Builder ایجاد می شوند. به GameServices مراجعه کنید

روش‌هایی که به وضعیت کل جلسه GameServices دسترسی دارند یا جهش می‌دهند، در خود کلاس GameServices وجود دارند.

سایر عملکردها از طریق مجموعه ای از مدیران هر ویژگی غیرمستقیم است. این مدیران عملکردهای مرتبط را با هم گروه بندی می کنند. آنها خود فاقد حالت قابل مشاهده توسط کاربر هستند. مدیران با مرجع برگردانده می شوند و طول عمر آنها توسط نمونه حاوی GameServices کنترل می شود. به این ترتیب، کد مشتری هرگز نباید روی یک مرجع مدیر نگه داشته شود، بلکه باید روی نمونه GameServices نگه داشته شود. مدیران را ببینید.

داده ها از طریق اشیاء نوع ارزش تغییرناپذیر بازگردانده می شوند. این مقادیر نمایانگر یک دیدگاه ثابت از داده های زیربنایی در زمانی که پرس و جو ساخته شده است. انواع ارزش را ببینید.

مدل نخ

مگر اینکه غیر از این ذکر شده باشد، تمام متدهای GameServices و متدهای Manager Threadsafe و ناهمزمان هستند. آنها را می توان روی هر رشته ای بدون قفل خارجی فراخوانی کرد و به ترتیبی مطابق با ترتیب فراخوانی آنها اجرا می شوند. به طور کلی، روش های جهش دهنده (آنهایی که حالت را تغییر می دهند) از مدل آتش و فراموش کردن استفاده می کنند. متدهای دسترسی (آنهایی که حالت را می خوانند) در دو نوع اصلی ارائه می شوند. اولین نوع (با نام‌هایی مانند GetProperty) نتایج خود را به طور ناهمزمان به یک تماس ارائه شده ارائه می‌کند. نوع دوم (با نام هایی مانند GetPropertyBlocking) نتایج خود را به صورت همزمان به رشته فراخوانی برمی گرداند. Accessorها نتایج همه جهش‌دهنده‌هایی را می‌بینند که قبلاً فراخوانی شده‌اند. با این حال، جهش‌دهنده ممکن است وضعیت سرویس‌های بازی راه دور را در هر زمان معین تغییر داده باشد یا نکند.

همه تماس‌های کاربر (چه تماس‌های یک‌شات به‌عنوان آرگومان‌هایی برای متدهای دسترسی ارائه شده‌اند، چه تماس‌های چند منظوره که در زمان ساخت GameServices پیکربندی شده‌اند) در یک رشته پاسخ تماس اختصاصی فراخوانی می‌شوند. این رشته به طور بالقوه از هر مفهوم پلتفرمی از "رشته اصلی" یا "رشته UI" متمایز است. تماس های کاربر باید به سرعت اجرا شوند، زیرا یک رشته پاسخ به تماس متوقف شده می تواند باعث مشکلات قابل مشاهده برای کاربر شود (به عنوان مثال، تکمیل درخواست خروج با تاخیر).

ویژگی‌های انواع مقادیر غیرقابل تغییر به صورت همزمان و بدون مسدود کردن در دسترس هستند.