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

בעקבות ההוצאה משימוש של ה-API של התחברות באמצעות חשבון Google, בשנת 2026 אנחנו מסירים את גרסה 1 של ה-SDK שהייתה זמינה למשחקים. החל מפברואר 2025, לא תהיה לך אפשרות לפרסם ב-Google Play משחקים שה-SDK בגרסה הזו שולב בהם לאחרונה. מומלץ להשתמש בגרסה 2 של ה-SDK למשחקים.
פריטים קיימים עם גרסה 1 ימשיכו לפעול בשנים הקרובות, אבל מומלץ לעבור לגרסה 2 החל מיוני 2025.
המדריך הזה מיועד לגרסה 1 של ה-SDK של Play Games Services. מידע על גרסת ה-SDK העדכנית זמין במאמרי העזרה בנושא גרסה 2.

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

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

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

לפני שמתחילים להשתמש בממשק ה-API של נתוני השחקנים:

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

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

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

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

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

  • ימים מאז המשחק האחרון: מספר הימים המשוער שעברו מאז שהשחקן שיחק לאחרונה.

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

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

  • Session percentile: The approximation of sessions percentile for the player, given as a decimal value between 0 to 1 inclusive. הערך הזה מציין כמה סשנים השחקן הנוכחי שיחק בהשוואה לשאר בסיס השחקנים של המשחק הזה. מספרים גבוהים יותר מציינים שהשחקן הזה שיחק יותר סשנים.

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

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

  • סבירות לנטישה: חיזוי של הסבירות לכך ששחקן ינטוש את המשחק ביום הבא. הערך שמתקבל הוא עשרוני בין 0 (סבירות נמוכה לנטישה) ל-1 (סבירות גבוהה לנטישה), כולל. הנטישה מוגדרת כ-7 ימים ללא פעילות.
  • הסתברות להוצאת כספים: ההסתברות המשוערת לכך שהשחקן יבחר להוציא כספים במשחק הזה. ההסתברות מוצגת כערך עשרוני בין 0 (הסתברות נמוכה להוצאת כספים) ל-1 (הסתברות גבוהה להוצאת כספים), כולל.
  • ההוצאה הכוללת ב-28 הימים הבאים: ההוצאה הכוללת המשוערת של השחקנים ב-28 הימים הבאים במשחק הזה.
  • הסבירות להוצאה גבוהה: הסבירות המשוערת לכך שבמהלך 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());
          }
        }
      });
}

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

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

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

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