پس از منسوخ شدن رابط برنامهنویسی کاربردی ورود گوگل (Google Sign-In API)، ما در سال ۲۰۲۶ کیت توسعه نرمافزاری بازیها نسخه ۱ (games v1 SDK) را حذف خواهیم کرد. پس از فوریه ۲۰۲۵، شما قادر به انتشار عناوینی که به تازگی با کیت توسعه نرمافزاری بازیها نسخه ۱ (games v1 SDK) ادغام شدهاند، در گوگل پلی نخواهید بود. توصیه میکنیم به جای آن از کیت توسعه نرمافزاری بازیها نسخه ۲ (games v2 SDK) استفاده کنید.
در حالی که عناوین موجود با بازیهای قبلی نسخه ۱ ادغامشده تا چند سال دیگر به کار خود ادامه میدهند، توصیه میشود از ژوئن ۲۰۲۵ به نسخه ۲ مهاجرت کنید .
این راهنما برای استفاده از SDK نسخه ۱ سرویس بازیهای Play Games Services است. برای اطلاعات بیشتر در مورد آخرین نسخه SDK، به مستندات نسخه ۲ مراجعه کنید.
API آمار بازیکن به شما امکان میدهد تجربیات بازی را برای بخشهای خاصی از بازیکنان و مراحل مختلف چرخه عمر بازیکن تنظیم کنید. میتوانید بر اساس نحوه پیشرفت، هزینه کردن و تعامل بازیکنان، تجربیات سفارشی برای هر بخش از بازیکنان بسازید. به عنوان مثال، میتوانید از این API برای انجام اقدامات پیشگیرانه برای تشویق یک بازیکن کمتر فعال به تعامل مجدد با بازی خود استفاده کنید، مانند نمایش و تبلیغ موارد جدید درون بازی هنگام ورود بازیکن.
این راهنما به شما نشان میدهد که چگونه از API آمار بازیکن در بازیها با استفاده از سرویسهای بازیهای گوگل پلی استفاده کنید. این APIها را میتوانید در بستههای com.google.android.gms.games.stats و com.google.android.gms.games پیدا کنید.
قبل از اینکه شروع کنی
قبل از شروع استفاده از API آمار بازیکن:
- نمونه کد را دانلود و بررسی کنید.
- با توصیههای شرح داده شده در چک لیست کیفیت آشنا شوید.
دریافت کلاینت آمار بازیکن
برای شروع استفاده از API آمار بازیکن، بازی شما ابتدا باید یک شیء PlayerStatsClient دریافت کند. میتوانید این کار را با فراخوانی متد Games.getPlayerStatsClient() و ارسال activity و GoogleSignInAccount برای بازیکن فعلی انجام دهید. برای یادگیری نحوه بازیابی اطلاعات حساب بازیکن، به بخش ورود به سیستم در بازیهای اندروید مراجعه کنید.
اصول اولیه آمار بازیکن
شما میتوانید از API آمار بازیکن برای بازیابی اطلاعات مربوط به فعالیت درون بازی یک بازیکن استفاده کنید. انواع دادههای بازیکن که میتوانید بازیابی کنید عبارتند از:
میانگین مدت زمان هر جلسه : میانگین مدت زمان هر جلسه بازیکن به دقیقه. مدت زمان هر جلسه با توجه به زمانی که بازیکن وارد سرویسهای بازیهای گوگل پلی میشود، تعیین میشود.
تعداد روزهای سپری شده از آخرین بازی : تعداد تقریبی روزهای سپری شده از آخرین بازی بازیکن.
تعداد خریدها : تعداد تقریبی خریدهای درون برنامهای برای بازیکن.
تعداد جلسات : تعداد تقریبی جلسات بازیکن. جلسات با تعداد دفعاتی که یک بازیکن وارد سرویسهای بازیهای گوگل پلی میشود، تعیین میشود.
درصد جلسات : تقریب درصد جلسات برای بازیکن، که به صورت یک مقدار اعشاری بین ۰ تا ۱ ارائه میشود. این مقدار نشان میدهد که بازیکن فعلی در مقایسه با بقیه بازیکنان این بازی، چند جلسه بازی کرده است. اعداد بالاتر نشان میدهد که این بازیکن جلسات بیشتری بازی کرده است.
درصد هزینه : درصد تقریبی هزینه بازیکن، که به صورت یک مقدار اعشاری بین ۰ تا ۱ ارائه میشود. این مقدار نشان میدهد که بازیکن فعلی در مقایسه با بقیه بازیکنان این بازی چقدر هزینه کرده است. اعداد بالاتر نشان میدهد که این بازیکن بیشتر هزینه کرده است.
انواع دادههای بازیکن زیر منسوخ شدهاند و همیشه یک ثابت مقدار تنظیم نشده را برمیگردانند:
- احتمال ریزش : پیشبینی اینکه آیا یک بازیکن در روز بعد ریزش خواهد کرد یا خیر، که به صورت یک مقدار اعشاری بین ۰ (احتمال ریزش کم) تا ۱ (احتمال ریزش زیاد) ارائه میشود. ریزش به صورت ۷ روز عدم فعالیت تعریف میشود.
- احتمال خرج کردن : احتمال تقریبی انتخاب خرج کردن توسط بازیکن در این بازی، که به صورت یک مقدار اعشاری بین ۰ (احتمال کم خرج کردن) تا ۱ (احتمال زیاد خرج کردن) ارائه میشود.
- کل هزینههای ۲۸ روز آینده : کل هزینههای تقریبی مورد انتظار بازیکن در ۲۸ روز آینده در این بازی.
- احتمال ولخرجی زیاد : احتمال تقریبی اینکه یک بازیکن طی ۲۸ روز آینده مبلغی را خرج کند که در صدک ۹۵ یا بالاتر از پایگاه بازیکنان این بازی باشد. این مقدار به صورت یک مقدار اعشاری بین ۰ (احتمال کم ولخرجی زیاد) تا ۱ (احتمال زیاد ولخرجی زیاد) ارائه میشود.
بازیابی اطلاعات آمار بازیکن
برای بازیابی اطلاعات آمار بازیکنی که در حال حاضر وارد سیستم شده است، این مراحل را دنبال کنید:
- متد
PlayerStatsClient.loadPlayerStats()را فراخوانی کنید. - اگر فراخوانی موفقیتآمیز باشد، سرویسهای بازیهای گوگل پلی یک شیء
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()); } } }); }
نکاتی برای استفاده از دادههای آمار بازیکن
API آمار بازی به شما امکان میدهد به راحتی انواع مختلف بازیکنان را بر اساس میزان تعامل و رفتار خرید آنها شناسایی کنید و استراتژیهای مناسبی را برای بهبود تجربه بازی آنها به کار بگیرید.
جدول زیر برخی از بخشهای نمونه بازیکنان و استراتژیهای تعامل پیشنهادی را فهرست میکند:
| بخش پخش کننده | استراتژی تعامل |
|---|---|
| بازیکنانی که مرتباً بازی میکنند و تعداد جلسات بالایی دارند و درصد خرج خوبی دارند، اما در هفته گذشته یا بیشتر بازی نکردهاند. |
|
| بازیکنانی با تعامل بالا در درصدی از بازار که هزینه کمی صرف میکنند. |
|
| بازیکنان پرخرج نشانههایی از اوج گرفتن و کاهش تعداد دفعات بازی را نشان میدهند. |
|
| بازیکنانی با احتمال خرج کردن بسیار بالا یا بسیار پایین. |
|