נתונים סטטיסטיים של שחקנים במשחקים ל-Android

באמצעות ה-API של נתוני השחקנים תוכלו להתאים אישית את חוויות המשחק לפלחים ספציפיים של שחקנים ולשלבים שונים במחזור החיים של השחקן. אתם יכולים ליצור חוויות מותאמות אישית לכל פלח שחקנים על סמך ההתקדמות של השחקנים, ההוצאות שלהם והמעורבות שלהם. לדוגמה, אפשר להשתמש ב-API הזה כדי לבצע פעולות יזומות שמעודדות שחקן פחות פעיל לעודד מעורבות מחדש במשחק, למשל על ידי הצגה וקידום של פריטים חדשים מתוך המשחק כשהשחקן נכנס לחשבון.

במדריך הזה נסביר איך להשתמש ב-Player Stats API במשחקים באמצעות שירותי Google Play Games. ממשקי ה-API נמצאים בחבילות com.google.android.gms.games.stats ו-com.google.android.gms.games.

לפני שמתחילים

לפני שמתחילים להשתמש ב-Player Stats API:

קבלת גרסת הלקוח של הנתונים הסטטיסטיים של השחקן

כדי להתחיל להשתמש ב-Player Stats API, המשחק שלכם צריך לקבל קודם אובייקט PlayerStatsClient. כדי לעשות זאת, צריך להפעיל את ה-method‏ Games.getPlayerStatsClient() ולהעביר את הפעילות ואת GoogleSignInAccount של הנגן הנוכחי. למידע נוסף על אחזור הפרטים של חשבון השחקן, קראו את המאמר כניסה ל-Android Games.

העקרונות הבסיסיים של הנתונים הסטטיסטיים של השחקנים

אפשר להשתמש ב-Player Stats API כדי לאחזר נתונים על הפעילות של שחקן במשחק. סוגי נתוני השחקנים שאפשר לאחזר כוללים:

  • משך סשן ממוצע: משך הסשן הממוצע של הצופה, בזמן אורך הסשן נקבע לפי השעה שבה השחקן נכנס לשירותי Google Play Games.

  • Days since last played: מספר הימים המשוער מאז שהמשתמש שיחק בפעם האחרונה.

  • מספר הרכישות: המספר המשוער של רכישות מתוך האפליקציה של השחקן.

  • מספר הסשנים: המספר המשוער של הסשנים של הנגן. הסשנים נקבעים לפי מספר הפעמים שהשחקן נכנס לחשבון ב-Google Play Games Services.

  • אחוזון סשנים: הערך המשוער של אחוזון הסשנים של הצופה, שמוצג כערך עשרוני בין 0 ל-1. הערך הזה מציין כמה סשנים השחקן הנוכחי שיחק בהשוואה לשאר בסיס השחקנים של המשחק. מספרים גבוהים יותר מציינים שהנגן הזה שיחק יותר סשנים.

  • אחוזון ההוצאה: אחוזון ההוצאה המשוער של הנגן, כערך עשרוני בין 0 ל-1 כולל. הערך הזה מציין את הסכום שהשחקן הנוכחי הוציא בהשוואה לשאר בסיס השחקנים של המשחק. מספרים גבוהים יותר מצביעים על כך שהשחקן הוציא יותר כסף.

סוגי נתוני הנגן הבאים הוצאו משימוש ותמיד מחזירים ערך קבוע לא מוגדר:

  • סבירות לנטישה: התחזית לגבי הנטישה של שחקן ביום הבא, שמוצגת כערך עשרוני בין 0 (סבירות נמוכה לנטישה) ל-1 (סבירות גבוהה לנטישה), כולל. נטישה מוגדרת כ-7 ימים של חוסר פעילות.
  • Spend probability: ההסתברות המשוערת שהשחקן יבחר להוציא כסף במשחק הזה, שמוצגת כערך עשרוני בין 0 (הסתברות נמוכה להוצאה) ל-1 (הסתברות גבוהה להוצאה).
  • סה"כ הוצאות ב-28 הימים הבאים: הסכום הכולל המשוער שהשחקנים יוציאו במשחק הזה ב-28 הימים הבאים.
  • High spender probability: הסבירות המשוערת שלפיה שחקן יבלה ב-28 הימים הבאים סכום שנמצא ב-95% העליון או יותר מתוך כלל השחקנים של המשחק. הערך הזה מוצג כערך עשרוני בין 0 (הסתברות נמוכה להפוך למשתמש שמבצע הוצאות גבוהות) ל-1 (הסתברות גבוהה להפוך למשתמש שמבצע הוצאות גבוהות).

אחזור נתונים של סטטיסטיקות של שחקנים

כדי לאחזר נתונים סטטיסטיים של השחקן שמחובר כרגע, מבצעים את הפעולות הבאות:

  1. קוראים ל-method‏ PlayerStatsClient.loadPlayerStats().
  2. אם הקריאה מסתיימת ללא שגיאות, שירותי Google Play Games מחזירים אובייקט 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());
          }
        }
      });
}

טיפים לשימוש בנתונים של סטטיסטיקות השחקנים

בעזרת Play Stats API תוכלו לזהות בקלות סוגים שונים של שחקנים, על סמך המעורבות שלהם והתנהגות ההוצאות שלהם, ולהחיל אסטרטגיות מתאימות כדי לשפר את חוויית המשחק שלהם.

בטבלה הבאה מפורטים כמה פלחים לדוגמה של צופים ושל שיטות מומלצות ליצירת עניין:

Player Segment אסטרטגיית מעורבות
שחקנים תכופים עם מספר רב של סשנים ופריסה טובה במדד החמישיון של ההוצאות, אבל לא שיחקו בשבוע האחרון או יותר.
  • לשלוח התראה על הנחה או בונוס מיוחד שזמינים כשהם חוזרים לשחק.
  • להציג הודעה של 'ברוך הבא חזרה' עם הכרה בהישגים מרשימים, ולתת תג שנועד לעודד את השחקן לחזור לשחק.
שחקנים שהמעורבות שלהם גבוהה ושהוצאותיהם נמוכות ביחס לשחקנים אחרים.
  • כדאי להתאים את הבונוסים כדי לעודד אותם להזמין את החברים שלהם להתקין את המשחק ולהצטרף אליו. הגישה הזו מבוססת על ההנאה של השחקנים מהמשחק כדי לצרף שחקנים חדשים.
שחקנים שמוציאים הרבה כסף ומתחילים לשחק בתדירות נמוכה יותר.
  • כדאי להתאים את הבונוס כדי לעורר עניין מחדש, למשל על ידי מתן הנחות, כלים או כלי נשק יקרים לטווח קצר.
  • בפעם הבאה שהשחקן ייכנס לחשבון, תוכלו להציג לו סרטון שמפנה אותו לתכונות הקהילה, כמו התקפות של קלאנים, שמעודדות מעורבות תדירה וארוכה יותר.
שחקנים עם הסבירות גבוהה מאוד או נמוכה מאוד להוצאה.
  • לא צפויים לבצע רכישה: נותנים לצופים אפשרות לצפות בסרטון פרסום. הצגת פריטים לרכישה במחיר נמוך יותר.
  • צפויים להוציא כסף: כדאי להפנות אותם לחנות במשחק בשלב מוקדם, ולהציע להם מבצעים מיוחדים כדי לעודד אותם לקנות.