آمار بازی

این سند نحوه استفاده از آمار بازی سرویس‌های بازی‌های گوگل پلی در بازی‌های سی‌پلاس‌پلاس را شرح می‌دهد. این سند فرض می‌کند که شما پروژه خود را مطابق آنچه در بخش «راه‌اندازی سرویس‌های بازی‌های گوگل پلی» توضیح داده شده است، راه‌اندازی کرده‌اید. می‌توانید API آمار بازی را در PgsGameStatsClient پیدا کنید.

قبل از اینکه شروع کنی

اگر هنوز این کار را نکرده‌اید، شاید مرور مفاهیم آمار بازی برایتان مفید باشد.

قبل از شروع کدنویسی با استفاده از Game Stats API:

دریافت کلاینت آمار بازی

برای شروع استفاده از API دستاوردها، بازی شما ابتدا باید یک شیء PgsGameStatsClient دریافت کند. می‌توانید این کار را با فراخوانی متد PgsPlayerGameEvent_create و ارسال activity به آن انجام دهید.

ادغام سمت کلاینت

یکپارچه‌سازی سمت کلاینت برای PlayerGameEvent شامل ساخت شیء رویداد در C++ SDK، در نقاط شروع و ارسال آنها با استفاده از توابع آپلود ارائه شده توسط SDK می‌شود.

به طور مشابه، برای رویداد progressUpdate ، پیشرفت به‌روزرسانی‌شده را با استفاده از ویژگی currentProgress به همراه ویژگی‌های تعریف‌شده‌ی اضافی ثبت کنید و آن‌ها را با استفاده از توابع آپلود ارائه شده توسط SDK ارسال کنید.

رویدادها

ادغام سمت کلاینت برای PlayerGameEvent عبارتند از:

رویداد بازی Build Player

سی++


// Build the PlayerGameEvent
PgsPlayerGameEvent* player_event = PgsPlayerGameEvent_create("matchCompleted");
if (player_event != nullptr) {
   PgsPlayerGameEvent_putString(player_event, "matchId", "Match_A");
   PgsPlayerGameEvent_putString(player_event, "gameMode", "Battle_B");
   PgsPlayerGameEvent_putString(player_event, "mapId", "Location_XYZ");
   PgsPlayerGameEvent_putBoolean(player_event, "isWinner", true);
   PgsPlayerGameEvent_putLong(player_event, "playerElimination", 2);
}
progressUpdate ساختبه‌روزرسانی رویداد بازی بازیکن

سی++


PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
   PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
ضبط رویداد و آپلود

سی++


// Record the event
PgsGameStatsClient_recordEvent(client, player_event);

// This submits the events to PGS
PgsGameStatsClient_requestEventsUpload(client);

// Clean up handle to avoid leaks
PgsPlayerGameEvent_destroy(player_event);

// Clean up client handle when PGS operations are finished
PgsGameStatsClient_destroy(client);