במדריך הזה נסביר איך משתמשים ב-Player Stats API לשירותי Google Play Games. אפשר להשתמש ב-Player Stats API כדי לאחזר נתונים על הפעילות של שחקן במשחק.
באמצעות ה-API של נתוני השחקנים תוכלו להתאים אישית את חוויות המשחק לפלחים ספציפיים של שחקנים ולשלבים שונים במחזור החיים של השחקן. ניתן ליצור חוויות מותאמות אישית לכל פלח שחקנים בהתאם להתקדמות של השחקנים, להוצאה שלהם ולהתעניינות בהם. לדוגמה, אפשר להשתמש ב-API הזה כדי לבצע פעולות יזום כדי לעודד שחקן פחות פעיל לחדש את האינטראקציה עם המשחק, למשל על ידי הצגה וקידום של פריטים חדשים במשחק כשהשחקן נכנס לחשבון.
ממשקי ה-API נמצאים בחבילות com.google.android.gms.games.stats
ו-com.google.android.gms.games
.
לפני שמתחילים
לפני שמתחילים להשתמש ב-Player Stats API:
- מורידים את דוגמת הקוד ובודקים אותה.
- כדאי לעיין בהמלצות שמפורטות ברשימת המשימות לבדיקת איכות.
אחזור הלקוח של נתוני הסטטיסטיקה של השחקנים
כדי להתחיל להשתמש ב-Player Stats API, המשחק שלכם צריך לקבל קודם אובייקט PlayerStatsClient
. אפשר לעשות זאת על ידי קריאה לשיטה PlayerStatsClient.getPlayersClient()
והעברת הפעילות.
המחלקה PlayerStatsClient
משתמשת במחלקה Task
של Google Play Services כדי להחזיר תוצאות באופן אסינכרוני. מידע נוסף על השימוש במשימות לניהול עבודה בשרשור זמין במדריך למפתחים של Tasks API.
העקרונות הבסיסיים של הנתונים הסטטיסטיים של השחקנים
אפשר להשתמש ב-Player Stats API כדי לאחזר נתונים על הפעילות של שחקן במשחק. סוגי נתוני השחקנים שאפשר לאחזר כוללים:
משך סשן ממוצע: משך הסשן הממוצע של הנגן, ברגעים. אורך הסשן נקבע לפי משך הזמן שבו השחקן מחובר לשירותי Google Play Games.
Days since last played: מספר הימים המשוער מאז שהמשתמש שיחק בפעם האחרונה.
מספר הרכישות: המספר המשוער של רכישות מתוך האפליקציה של השחקן.
מספר הסשנים: המספר המשוער של הסשנים של הנגן. הסשנים נקבעים לפי מספר הפעמים שהשחקן נכנס לחשבון ב-Google Play Games Services.
אחוזון הסשנים: האחוזון המשוער של הסשנים של הנגן, כערך עשרוני בין 0 ל-1 כולל. הערך הזה מציין כמה סשנים השחקן הנוכחי שיחק בהשוואה לשאר בסיס השחקנים של המשחק. מספרים גבוהים יותר מצביעים על כך שהנגן הזה שיחק יותר סשנים.
אחוזון ההוצאה: אחוזון ההוצאה המשוער של הנגן, כערך עשרוני בין 0 ל-1 כולל. הערך הזה מציין כמה הוציא השחקן הנוכחי בהשוואה לשאר בסיס השחקנים של המשחק. מספרים גבוהים יותר מציינים שהשחקן הזה הוצא יותר כסף.
סוגי נתוני הנגן הבאים הוצאו משימוש ותמיד מחזירים ערך קבוע לא מוגדר:
- סבירות לנטישה: התחזית לגבי הנטישה של שחקן ביום הבא, שמוצגת כערך עשרוני בין 0 (סבירות נמוכה לנטישה) ל-1 (סבירות גבוהה לנטישה), כולל. נטישה מוגדרת כ-7 ימים של חוסר פעילות.
- הסתברות להוצאה: הסבירות המשוערת שהשחקן בוחר להוציא במשחק. הערך מוצג כערך עשרוני בין 0 (הסתברות נמוכה להוצאה) לבין 1 (הסתברות גבוהה להוצאה) כולל.
- סה"כ הוצאות ב-28 הימים הבאים: הסכום המשוער הכולל של ההוצאות הצפויות של השחקנים ב-28 הימים הבאים במשחק הזה.
- סבירות גבוהה להוצאה: הסבירות המשוערת שלפיה שחקן יבלה ב-28 הימים הבאים סכום שנמצא ב-95% העליונים או יותר מתוך כלל השחקנים של המשחק. הערך הזה מוצג כערך עשרוני בין 0 (הסתברות נמוכה להפוך למשתמש שמבצע הוצאות גבוהות) ל-1 (הסתברות גבוהה להפוך למשתמש שמבצע הוצאות גבוהות).
אחזור נתונים סטטיסטיים של שחקנים
כדי לאחזר נתונים סטטיסטיים של השחקן המחובר, פועלים לפי השלבים הבאים:
קוראים ל-method
PlayerStatsClient.loadPlayerStats()
.אם הקריאה תתבצע בהצלחה, Google Play Games Services מחזיר אובייקט
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()); } } }); }
טיפים לשימוש בנתונים של סטטיסטיקות השחקנים
באמצעות Play Stats API תוכלו לזהות סוגים שונים של שחקנים על סמך ההתעניינות שלהם וההתנהגות שלהם בנושא הוצאות, ולהחיל אסטרטגיות מתאימות כדי לשפר את חוויית המשחק שלהם.
בטבלה הבאה מפורטים כמה פלחים לדוגמה של צופים ושל שיטות מומלצות ליצירת עניין:
Player Segment | אסטרטגיית מעורבות |
---|---|
שחקנים תכופים עם מספר רב של סשנים ופריסה טובה במדד החמישיון של ההוצאות, אבל לא שיחקו בשבוע האחרון או יותר. |
|
שחקנים שהמעורבות שלהם גבוהה ונמצאים בטווח אחוזים נמוך של הוצאות. |
|
שחקנים שמוציאים הרבה כסף ומתחילים לשחק בתדירות נמוכה יותר. |
|
שחקנים עם הסבירות גבוהה מאוד או נמוכה מאוד להוצאה. |
|