בעקבות הוצאה משימוש של Google Sign-In API, אנחנו מסירים את ה-SDK בגרסה Games v1 בשנת 2026. אחרי פברואר 2025, לא תהיה לך אפשרות לפרסם ב-Google Play משחקים ששולבו לאחרונה עם ה-SDK בגרסה Games v1. מומלץ להשתמש ב-SDK בגרסה Games v2.
משחקים קיימים עם שילובים קודמים של Games v1 ימשיכו לפעול למשך כמה שנים, אבל מומלץ לעבור לגרסה 2 החל מיוני 2025.
המדריך הזה מיועד לשימוש ב-Play Games Services SDK בגרסה 1. מידע על גרסת ה-SDK העדכנית זמין במאמרי העזרה בנושא גרסה 2.
ה-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 Games Services.
ימים מאז המשחק האחרון: מספר הימים המשוער שעברו מאז שהשחקן שיחק לאחרונה.
מספר הרכישות: המספר המשוער של רכישות מתוך האפליקציה שבוצעו על ידי השחקן.
מספר הסשנים: המספר המשוער של סשנים של הנגן. החישוב של סשנים מתבסס על מספר הפעמים ששחקן מתחבר ל-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() { 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 מאפשר לכם לזהות בקלות סוגים שונים של שחקנים על סמך רמת המעורבות שלהם וההתנהגות שלהם בכל הנוגע להוצאות, ולהחיל אסטרטגיות מתאימות כדי לשפר את חוויית המשחק שלהם.
בטבלה הבאה מפורטים כמה פלחי צופים לדוגמה ואסטרטגיות מומלצות לעידוד מעורבות:
פלח של נגן | אסטרטגיית מעורבות |
---|---|
שחקנים קבועים עם מספר גבוה של סשנים ודירוג טוב באחוזון ההוצאות, שלא שיחקו בשבוע האחרון או יותר. |
|
שחקנים עם רמת מעורבות גבוהה באחוזון הוצאות נמוך. |
|
שחקנים עם הוצאות גבוהות שמראים סימנים של מיצוי הפוטנציאל ומתחילים לשחק בתדירות נמוכה יותר. |
|
שחקנים עם סבירות גבוהה מאוד או נמוכה מאוד להוצאה. |
|