این راهنما به شما نشان میدهد که چگونه از API آمار بازیکن برای سرویسهای بازیهای گوگل پلی استفاده کنید. میتوانید از API آمار بازیکن برای بازیابی اطلاعات مربوط به فعالیت درون بازی یک بازیکن استفاده کنید.
API آمار بازیکن به شما امکان میدهد تجربیات بازی را برای بخشهای خاصی از بازیکنان و مراحل مختلف چرخه عمر بازیکن تنظیم کنید. میتوانید بر اساس نحوه پیشرفت، هزینه کردن و تعامل بازیکنان، تجربیات سفارشی برای هر بخش از بازیکنان بسازید. به عنوان مثال، میتوانید از این API برای انجام اقدامات پیشگیرانه برای تشویق یک بازیکن کمتر فعال به تعامل مجدد با بازی خود استفاده کنید، مانند نمایش و تبلیغ موارد جدید در بازی هنگام تأیید هویت بازیکن.
این APIها را میتوان در بستههای com.google.android.gms.games.stats و com.google.android.gms.games یافت.
قبل از اینکه شروع کنی
قبل از شروع استفاده از API آمار بازیکن:
- نمونه کد را دانلود و بررسی کنید.
- با توصیههای شرح داده شده در چک لیست کیفیت آشنا شوید.
دریافت کلاینت آمار بازیکن
برای شروع استفاده از API آمار بازیکن، بازی شما ابتدا باید یک شیء PlayerStatsClient دریافت کند. میتوانید این کار را با فراخوانی متد PlayerStatsClient.getPlayersClient() و ارسال activity انجام دهید.
کلاس PlayerStatsClient از کلاس Task سرویسهای Google Play برای بازگرداندن نتایج به صورت ناهمگام استفاده میکند. برای کسب اطلاعات بیشتر در مورد استفاده از وظایف برای مدیریت کار رشتهای، به راهنمای توسعهدهنده API وظایف مراجعه کنید.
اصول اولیه آمار بازیکن
شما میتوانید از API آمار بازیکن برای بازیابی اطلاعات مربوط به فعالیت درون بازی یک بازیکن استفاده کنید. انواع دادههای بازیکن که میتوانید بازیابی کنید عبارتند از:
میانگین مدت زمان حضور بازیکن : میانگین مدت زمان حضور بازیکن به دقیقه. مدت زمان حضور با توجه به زمانی که یک بازیکن توسط سرویسهای بازیهای گوگل پلی احراز هویت میشود، تعیین میشود.
تعداد روزهای سپری شده از آخرین بازی : تعداد تقریبی روزهای سپری شده از آخرین بازی بازیکن.
تعداد خریدها : تعداد تقریبی خریدهای درون برنامهای برای بازیکن.
تعداد جلسات : تعداد تقریبی جلسات بازیکن. جلسات با تعداد دفعاتی که یک بازیکن توسط سرویسهای بازیهای گوگل پلی احراز هویت میشود، تعیین میشوند.
درصد جلسات : تقریب درصد جلسات برای بازیکن، که به صورت یک مقدار اعشاری بین ۰ تا ۱ ارائه میشود. این مقدار نشان میدهد که بازیکن فعلی در مقایسه با بقیه بازیکنان این بازی، چند جلسه بازی کرده است. اعداد بالاتر نشان میدهد که این بازیکن جلسات بیشتری بازی کرده است.
درصد هزینه : درصد تقریبی هزینه بازیکن، که به صورت یک مقدار اعشاری بین ۰ تا ۱ ارائه میشود. این مقدار نشان میدهد که بازیکن فعلی در مقایسه با بقیه بازیکنان این بازی چقدر هزینه کرده است. اعداد بالاتر نشان میدهد که این بازیکن بیشتر هزینه کرده است.
انواع دادههای بازیکن زیر منسوخ شدهاند و همیشه یک ثابت مقدار تنظیم نشده را برمیگردانند:
- احتمال ریزش : پیشبینی اینکه آیا یک بازیکن در روز بعد ریزش خواهد کرد یا خیر، که به صورت یک مقدار اعشاری بین ۰ (احتمال ریزش کم) تا ۱ (احتمال ریزش زیاد) ارائه میشود. ریزش به صورت ۷ روز عدم فعالیت تعریف میشود.
- احتمال خرج کردن : احتمال تقریبی انتخاب خرج کردن توسط بازیکن در این بازی، که به صورت یک مقدار اعشاری بین ۰ (احتمال کم خرج کردن) تا ۱ (احتمال زیاد خرج کردن) ارائه میشود.
- کل هزینههای ۲۸ روز آینده : کل هزینههای تقریبی مورد انتظار بازیکن در ۲۸ روز آینده در این بازی.
- احتمال ولخرجی زیاد : احتمال تقریبی اینکه یک بازیکن طی ۲۸ روز آینده مبلغی را خرج کند که در صدک ۹۵ یا بالاتر از پایگاه بازیکنان این بازی باشد. این مقدار به صورت یک مقدار اعشاری بین ۰ (احتمال کم ولخرجی زیاد) تا ۱ (احتمال زیاد ولخرجی زیاد) ارائه میشود.
بازیابی اطلاعات آمار بازیکن
برای بازیابی اطلاعات آمار بازیکن برای بازیکن احراز هویت شده، این مراحل را دنبال کنید:
متد
PlayerStatsClient.loadPlayerStats()را فراخوانی کنید.اگر فراخوانی موفقیتآمیز باشد، سرویسهای بازیهای Google Play یک شیء
Taskرا برمیگردانند که به صورت ناهمگام یک شیءPlayerStatsرا بارگذاری میکند. از متدهای این شیء برای بازیابی دادههای مربوط به فعالیتهای بازیکن احراز هویت شده در برنامه خود استفاده کنید.
در اینجا یک مثال آورده شده است:
public void checkPlayerStats() { PlayGames.getPlayerStatsClient(this) .loadPlayerStats(true) .addOnCompleteListener(new OnCompleteListener<AnnotatedData<PlayerStats>>() { @Override public void onComplete(@NonNull Task<AnnotatedData<PlayerStats>> task) { if (task.isSuccessful()) { // Check for cached data. if (task.getResult().isStale()) { Log.d(TAG, "using cached data"); } PlayerStats stats = task.getResult().get(); if (stats != null) { Log.d(TAG, "Player stats loaded"); if (stats.getDaysSinceLastPlayed() > 7) { Log.d(TAG, "It's been longer than a week"); } if (stats.getNumberOfSessions() > 1000) { Log.d(TAG, "Veteran player"); } if (stats.getChurnProbability() == 1) { Log.d(TAG, "Player is at high risk of churn"); } } } else { int status = CommonStatusCodes.DEVELOPER_ERROR; if (task.getException() instanceof ApiException) { status = ((ApiException) task.getException()).getStatusCode(); } Log.d(TAG, "Failed to fetch Stats Data status: " + status + ": " + task.getException()); } } }); }
نکاتی برای استفاده از دادههای آمار بازیکن
API آمار بازی به شما امکان میدهد انواع مختلف بازیکنان را بر اساس میزان تعامل و رفتار خرید آنها شناسایی کنید و استراتژیهای مناسبی را برای بهبود تجربه بازی آنها به کار بگیرید.
جدول زیر برخی از بخشهای نمونه بازیکنان و استراتژیهای تعامل پیشنهادی را فهرست میکند:
| بخش پخش کننده | استراتژی تعامل |
|---|---|
| بازیکنانی که مرتباً بازی میکنند و تعداد جلسات بالایی دارند و درصد خرج خوبی دارند، اما در هفته گذشته یا بیشتر بازی نکردهاند. |
|
| بازیکنانی با تعامل بالا در درصدی از بازار که هزینه کمی صرف میکنند. |
|
| بازیکنان پرخرج نشانههایی از اوج گرفتن و کاهش تعداد دفعات بازی را نشان میدهند. |
|
| بازیکنانی با احتمال خرج کردن بسیار بالا یا بسیار پایین. |
|