API آمار بازیکن به شما امکان می دهد تجربیات بازی را برای بخش های خاصی از بازیکنان و مراحل مختلف چرخه زندگی بازیکن تنظیم کنید. شما می توانید بر اساس نحوه پیشرفت، هزینه و تعامل بازیکنان، تجربیات مناسبی برای هر بخش بازیکن بسازید. به عنوان مثال، میتوانید از این API برای انجام اقدامات پیشگیرانه برای تشویق بازیکن کمتر فعال برای تعامل مجدد با بازی خود استفاده کنید، مانند نمایش و تبلیغ موارد جدید در بازی هنگام ورود بازیکن.
این راهنما به شما نشان میدهد که چگونه از API آمار بازیکن در بازیهایی که از خدمات بازیهای Google Play استفاده میکنند استفاده کنید. API ها را می توان در بسته های com.google.android.gms.games.stats
و com.google.android.gms.games
پیدا کرد.
قبل از شروع
قبل از شروع به استفاده از API آمار پخش کننده:
- نمونه کد را دانلود و بررسی کنید.
- با توصیه های شرح داده شده در چک لیست کیفیت آشنا شوید.
دریافت مشتری آمار بازیکن
برای شروع استفاده از Player stats API، بازی شما ابتدا باید یک شی PlayerStatsClient
دریافت کند. می توانید این کار را با فراخوانی متد Games.getPlayerStatsClient()
انجام دهید و فعالیت و GoogleSignInAccount
برای بازیکن فعلی ارسال کنید. برای یادگیری نحوه بازیابی اطلاعات حساب بازیکن، به ورود به سیستم در بازیهای Android مراجعه کنید.
اصول اولیه آمار بازیکن
میتوانید از API آمار بازیکن برای بازیابی اطلاعات مربوط به فعالیت در بازی بازیکن استفاده کنید. انواع داده های پخش کننده ای که می توانید بازیابی کنید عبارتند از:
میانگین طول جلسه : میانگین طول جلسه بازیکن بر حسب دقیقه. طول جلسه با زمانی تعیین میشود که بازیکن به سیستم خدمات بازیهای Google Play وارد میشود.
روزهای پس از آخرین بازی : تعداد تقریبی روزهای پس از آخرین بازی بازیکن.
تعداد خریدها : تعداد تقریبی خریدهای درون برنامه ای برای بازیکن.
تعداد جلسات : تعداد تقریبی جلسات بازیکن. جلسات بر اساس تعداد دفعاتی که بازیکن وارد سرویسهای بازیهای Google Play میشود تعیین میشود.
صدک جلسه : تقریبی صدک جلسات برای بازیکن، که به صورت اعشاری بین 0 تا 1 شامل می شود. این مقدار نشان می دهد که بازیکن فعلی در مقایسه با بقیه بازیکنان این بازی چند جلسه بازی کرده است. اعداد بالاتر نشان می دهد که این بازیکن جلسات بیشتری بازی کرده است.
صدک خرج کردن : صدک هزینه تقریبی بازیکن که به صورت اعشاری بین 0 تا 1 شامل می شود. این مقدار نشان می دهد که بازیکن فعلی در مقایسه با بقیه بازیکنان این بازی چقدر هزینه کرده است. اعداد بالاتر نشان می دهد که این بازیکن بیشتر خرج کرده است.
انواع زیر از داده های پخش کننده منسوخ شده اند و همیشه یک مقدار تنظیم نشده را ثابت می کنند:
- احتمال ریزش : پیشبینی اینکه آیا یک بازیکن در روز بعد ریزش میکند یا نه، که به عنوان یک مقدار اعشاری بین 0 (احتمال ریزش کم) تا 1 (احتمال ریزش زیاد) شامل میشود. Churn به عنوان 7 روز عدم فعالیت تعریف می شود.
- احتمال خرج کردن : احتمال تقریبی بازیکنی که برای خرج کردن در این بازی انتخاب می کند، به عنوان یک مقدار اعشاری بین 0 (احتمال خرج کم) تا 1 (احتمال خرج بالا) شامل می شود.
- مجموع خرج کردن 28 روز آینده : کل تقریبی کل هزینه مورد انتظار بازیکن در 28 روز آینده در این بازی.
- احتمال خرج زیاد : احتمال تقریبی این است که در 28 روز آینده یک بازیکن مبلغی را خرج کند که در صدک 95 یا بالاتر از پایه بازیکنان این بازی است. این به عنوان یک مقدار اعشاری بین 0 (احتمال کم تبدیل شدن به یک خرج کننده بالا) تا 1 (احتمال زیاد تبدیل شدن به یک خرج کننده بالا) داده می شود.
بازیابی داده های آمار بازیکن
برای بازیابی اطلاعات آمار بازیکن برای بازیکنی که در حال حاضر وارد سیستم شده است، این مراحل را دنبال کنید:
- متد
PlayerStatsClient.loadPlayerStats()
فراخوانی کنید. - اگر تماس با موفقیت انجام شود، سرویسهای بازیهای Google Play یک شی
Task
برمیگرداند که به طور ناهمزمان یک شیPlayerStats
را بارگیری میکند. از روشهای این شی برای بازیابی اطلاعات مربوط به فعالیتهای پخشکننده واردشده در برنامه خود استفاده کنید.
در اینجا یک مثال است:
public void checkPlayerStats() { Games.getPlayerStatsClient(this, GoogleSignIn.getLastSignedInAccount(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()); } } }); }
نکاتی برای استفاده از داده های Player Stats
Play Stats API به شما این امکان را می دهد که انواع مختلف بازیکنان را بر اساس درگیری و رفتار خرج کردن آنها به راحتی شناسایی کنید و استراتژی های مناسب را برای بهبود تجربه بازی آنها اعمال کنید.
جدول زیر چند نمونه از بخشهای بازیکن و استراتژیهای تعامل پیشنهادی را فهرست میکند:
بخش بازیکن | استراتژی تعامل |
---|---|
بازیکنان مکرر با تعداد جلسات بالا و درصد خرج خوب، اما در هفته گذشته یا بیشتر بازی نکرده اند. |
|
بازیکنان بسیار درگیر در صدک هزینه پایین. |
|
بازیکنانی که هزینه بالایی دارند و نشانههایی از رسیدن به اوج و شروع کمتر بازی را نشان میدهند. |
|
بازیکنانی با احتمال خرج بسیار بالا یا بسیار کم. |
|