לאחר השקת המשחק, אתה מגלה שאינך יכול לראות את התנהגות השחקנים. Unity Analytics הוא פתרון מובנה לאיסוף אירועי משחק בפרויקטים של Unity, ללא צורך ב-SDK של צד שלישי. עם שחרורו של Unity Gaming Services (UGS), האנליטיקה היא חלק מפלטפורמה מאוחדת: אותם אישורים המשמשים ל-UGS Authentication, Cloud Save ו-Leaderboards. המהנדסים שלנו, עם ניסיון מיותר מ-50 אינטגרציות, יעזרו לך להגדיר אנליטיקה במהירות וללא שגיאות. הזמן את האינטגרציה וקבל תמונה ברורה של פעולות השחקנים.
למה Unity Analytics עדיף על SDK אחרים למשחקי מובייל
Unity Analytics עולה על המתחרים במספר תחומים. הוא מעבד נתונים פי 2 מהר יותר מ-GameAnalytics ואינו דורש SDK נפרד—הכל מובנה בתוך Unity Editor. עבור משחק טיפוסי עם 1500 אירועים ביום, Firebase Analytics ממהר למצות את מגבלת 500 האירועים החינמיים, בעוד Unity Analytics מציע אירועים ללא הגבלה. בנוסף, לוחות המחוונים של Unity מותאמים לאנליטיקת משחקים: משפכים, שימור ומונטיזציה מובנים כברירת מחדל.
| פרמטר | Unity Analytics | Firebase Analytics | GameAnalytics |
|---|---|---|---|
| אינטגרציה | SDK מובנה, ללא תלות נוספת | דורש Firebase SDK | SDK נפרד |
| זמן עיבוד נתונים | עד 24 שעות | עד 3 שעות | עד 6 שעות |
| אירועים חינמיים | ללא הגבלה | 500 חינמיים | 500 חינמיים |
| ייצוא | BigQuery, HTTP | BigQuery | CSV, API |
| מותאם למשחקים | כן | לא | חלקית |
כיצד לאתחל את Unity Analytics דרך UGS
בגרסאות Unity האחרונות, האנליטיקה מגיעה דרך חבילת com.unity.services.analytics. לפני קריאה ל-StartDataCollection(), ה-SDK אינו שולח נתונים—זה חשוב לעמידה ב-GDPR. אם המשחק פועל באזורי האיחוד האירופי, הצג הודעת הסכמה וקרא ל-StartDataCollection() רק לאחר אישור. טעות נפוצה היא שהאתחול נתקע בעורך אם אין Cloud Project ID מקושר ב-Project Settings → Services.
using Unity.Services.Analytics;
using Unity.Services.Core;
async void Start()
{
await UnityServices.InitializeAsync();
AnalyticsService.Instance.StartDataCollection();
} אילו אירועים כדאי לעקוב אחריהם קודם?
Unity שולח אוטומטית אירועי מערכת: using Unity.Services.Analytics; using Unity.Services.Core; async void Start() { await UnityServices.InitializeAsync(); AnalyticsService.Instance.StartDataCollection(); } , gameStarted, sceneLoaded. עבור לוגיקת המשחק, יש צורך באירועים מותאמים אישית. הטבלה הבאה מציגה סוגי אירועים ומטרתם.
| סוג אירוע | מטרה | פרמטרים לדוגמה |
|---|---|---|
| מערכת | מוקלט אוטומטית על ידי ה-SDK | gameStarted, sceneLoaded, adImpression |
| מותאם אישית | לוגיקת משחק | LevelComplete עם levelIndex, score, duration |
| מונטיזציה | רכישות ומודעות | itemPurchased עם item_id, currency, amount |
כדי ליצור אירועים מותאמים אישית, השתמש ב-RecordEvent:
// Игрок прошёл уровень
var levelCompleteParams = new LevelCompleteParameters
{
LevelIndex = currentLevel,
LevelName = "dungeon_01",
Score = playerScore,
Duration = levelDuration
};
AnalyticsService.Instance.RecordEvent(levelCompleteParams);
// Произвольное событие
AnalyticsService.Instance.CustomData("item_purchased", new Dictionary<string, object>
{
{ "item_id", "sword_legendary" },
{ "currency", "gold" },
{ "amount", 500 },
{ "player_level", playerLevel }
}); כיצד להימנע מבעיות בשליחת אירועים?
אירוע נשלח אך אינו מופיע בלוח המחוונים. לוח המחוונים של UGS מתעדכן בעיכוב של עד 24 שעות עבור נתונים מצטברים. לצורך ניפוי באגים, הפעל את adImpression ובדוק את הקונסולה: ה-SDK מתעד את // Игрок прошёл уровень var levelCompleteParams = new LevelCompleteParameters { LevelIndex = currentLevel, LevelName = "dungeon_01", Score = playerScore, Duration = levelDuration }; AnalyticsService.Instance.RecordEvent(levelCompleteParams); // Произвольное событие AnalyticsService.Instance.CustomData("item_purchased", new Dictionary<string, object> { { "item_id", "sword_legendary" }, { "currency", "gold" }, { "amount", 500 }, { "player_level", playerLevel } }); ו-Debug.unityLogger.logEnabled = true. אנו מבטיחים אבחון מהיר.
זרימת ההסכמה נשברת בגרסאות Android מודרניות. בעת שימוש ב-[Analytics] Event queued, בקשת ההסכמה עשויה שלא להופיע אם [Analytics] Batch sent אינו מאותחל לפני ConsentTracker.CheckConsentInfoUpdate(). הסדר חשוב. מפתחים מנוסים תמיד בודקים זאת.
באחד הפרויקטים האחרונים שלנו עבור משחק RPG mid-core, ייעלנו את זרימת ההסכמה כדי למנוע חסימת אתחול ב-Android 13, והפחתנו את הזמן עד לנקודת הנתונים הראשונה ב-30%.
שגיאות אתחול טיפוסיות:
- חוסר קישור של Cloud Project ID
- סדר הסכמה שגוי ב-Android 13+
- עיכוב של עד 24 שעות להופעת אירועים
- שכחה לקרוא ל-StartDataCollection() לאחר ההסכמה
מדריך הגדרה שלב אחר שלב ל-Unity Analytics
- התקן את חבילת
GoogleConsentModeדרך Package Manager. - קשר את Cloud Project ID ב-Project Settings → Services.
- יישם זרימת הסכמה לפי GDPR.
- אתחל שירותים:
UnityServices.InitializeAsync(). - התחל איסוף נתונים:
com.unity.services.analytics. - צור אירועים מותאמים אישית לפעולות מפתח במשחק (השלמת רמה, רכישה, תחילת הדרכה).
- ודא שליחה דרך Unity Dashboard וקונסולת Unity Editor.
נתונים ב-Unity Dashboard
לאחר שליחת אירועים, הם מופיעים ב-Unity Dashboard → Analytics. דוחות מובנים כוללים Funnel Analysis (התקדמות שחקנים בהתבסס על אירועי התקדמות), Monetization (הכנסות מ-adImpression ו-IAP), ו-Engagement (DAU, משך סשן, שימור D1/D7/D30). אירועים מותאמים אישית דרך await UnityServices.InitializeAsync() מופיעים ב-Event Browser—שם ניתן לבנות שאילתות שרירותיות. לניתוח מעמיק, Unity תומך בייצוא ל-BigQuery דרך Unity Data Hub.
מה כלול בעבודה
- התקנת חבילת
AnalyticsService.Instance.StartDataCollection()דרך Package Manager - קישור Cloud Project ID והגדרת UGS בעורך
- יישום זרימת הסכמה ל-GDPR
- יצירת אירועים מותאמים אישית לנקודות מפתח במכניקת המשחק
- אימות שליחת אירועים דרך Unity Dashboard
ביצענו יותר מ-50 אינטגרציות אנליטיקה למשחקי מובייל—מהיפר-קז'ואל ועד MMORPG. הלקוחות שלנו חוסכים עד 30% מתקציב האנליטיקה שלהם בזכות ידע מעמיק ב-SDK. קבל ייעוץ לגבי ההגדרה. הזמן את האינטגרציה עכשיו וקבל משפך אירועים מוכן.
לוחות זמנים
אינטגרציה בסיסית עם אירועים מותאמים אישית: 0.5–1 יום. לפרויקטים מורכבים עם ייצוא ל-BigQuery: עד 3 ימים. העלות מחושבת באופן אישי. צור קשר להערכת פרויקט.







