ייצא נתוני Firebase Crashlytics ל-BigQuery

אתה יכול לייצא את נתוני Crashlytics שלך ל- BigQuery לניתוח נוסף. BigQuery מאפשרת לך לנתח את הנתונים באמצעות BigQuery SQL, לייצא אותם לספק ענן אחר, ולהשתמש בהם להדמיה ולמרכזי מחוונים מותאמים אישית עם Google Data Studio.

אפשר ייצוא BigQuery

  1. עבור לדף השילובים במסוף Firebase.
  2. בכרטיס BigQuery , לחץ על קישור .
  3. עקוב אחר ההוראות שעל המסך כדי להפעיל את BigQuery.

כאשר אתה מקשר את הפרויקט שלך ל-BigQuery:

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

כדי להשבית את יצוא BigQuery, בטל את הקישור של הפרויקט שלך במסוף Firebase.

אילו נתונים מיוצאים ל-BigQuery?

נתוני Firebase Crashlytics מיוצאים למערך נתונים של BigQuery בשם firebase_crashlytics . כברירת מחדל, טבלאות בודדות ייווצרו בתוך ערכת הנתונים של Crashlytics עבור כל אפליקציה בפרויקט שלך. Firebase נותן שמות לטבלאות על סמך מזהה החבילה של האפליקציה, עם נקודות מומרות לקווים תחתונים, ושם פלטפורמה מצורף בסוף.

לדוגמה, נתונים עבור אפליקציה עם המזהה com.google.test יהיו בטבלה בשם com_google_test_ANDROID . טבלת אצווה זו מתעדכנת פעם אחת בכל יום. אם תפעיל ייצוא סטרימינג של Crashlytics BigQuery, נתוני Firebase Crashlytics יוזרמו גם הם בזמן אמת אל com_google_test_ANDROID_REALTIME .

כל שורה בטבלה מייצגת אירוע שהתרחש באפליקציה, כולל קריסות, שגיאות לא קטלניות ומקרי ANR.

הפעל ייצוא סטרימינג של Crashlytics BigQuery

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

ייצוא סטרימינג של Crashlytics BigQuery אינו זמין עבור BigQuery Sandbox.

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

טבלת אצווה טבלה בזמן אמת
  • נתונים מיוצאים פעם ביום
  • אירועים מאוחסנים לאורך זמן לפני כתיבת אצווה ל-BigQuery
  • ניתן למילוי חוזר עד 90 יום לפני כן
  • נתונים מיוצאים בזמן אמת
  • אין מילוי חוזר זמין

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

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

אפשר סטרימינג של Crashlytics BigQuery

כדי להפעיל סטרימינג, נווט לקטע Crashlytics בדף האינטגרציות של BigQuery ובחר בתיבת הסימון כלול סטרימינג .

תבנית Data Studio

כדי להפעיל נתונים בזמן אמת בתבנית Data Studio שלך, עקוב אחר ההוראות בהצגת נתוני Crashlytics מיוצאים עם Data Studio .

צפיות

אתה יכול להפוך את השאילתות לדוגמה למטה לתצוגות באמצעות ממשק המשתמש של BigQuery. ראה יצירת תצוגות להנחיות מפורטות.

מה אתה יכול לעשות עם הנתונים המיוצאים?

יצוא BigQuery מכיל נתוני קריסה גולמיים, כולל סוג מכשיר, מערכת הפעלה, חריגים (אפליקציות אנדרואיד) או שגיאות (אפליקציות של אפל), ויומני Crashlytics, כמו גם נתונים אחרים.

עבודה עם נתוני Firebase Crashlytics ב-BigQuery

הדוגמאות הבאות מדגימות שאילתות שאתה יכול להפעיל על נתוני Crashlytics שלך. שאילתות אלו מייצרות דוחות שאינם זמינים במרכז השליטה של ​​Crashlytics.

דוגמאות לשאילתות Crashlytics

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

דוגמה 1: קריסות ביום

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

SELECT
  COUNT(DISTINCT event_id) AS number_of_crashes,
  FORMAT_TIMESTAMP("%F", event_timestamp) AS date_of_crashes
FROM
 `projectId.firebase_crashlytics.package_name_ANDROID`
GROUP BY
  date_of_crashes
ORDER BY
  date_of_crashes DESC
LIMIT 30;

דוגמה 2: מצא את הנפילות הנפוצות ביותר

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

SELECT
  DISTINCT issue_id,
  COUNT(DISTINCT event_id) AS number_of_crashes,
  COUNT(DISTINCT installation_uuid) AS number_of_impacted_user,
  blame_frame.file,
  blame_frame.line
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(),INTERVAL 168 HOUR)
  AND event_timestamp < CURRENT_TIMESTAMP()
GROUP BY
  issue_id,
  blame_frame.file,
  blame_frame.line
ORDER BY
  number_of_crashes DESC
LIMIT 10;

דוגמה 3: 10 המכשירים המתרסקים המובילים

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

SELECT
  device.model,
COUNT(DISTINCT event_id) AS number_of_crashes
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 168 HOUR)
  AND event_timestamp < CURRENT_TIMESTAMP()
GROUP BY
  device.model
ORDER BY
  number_of_crashes DESC
LIMIT 10;

דוגמה 4: סינון לפי מפתח מותאם אישית

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

Objective-C

CrashlyticsKit setIntValue:3 forKey:@"current_level";

מָהִיר

Crashlytics.sharedInstance().setIntValue(3, forKey: "current_level");

Java

Crashlytics.setInt("current_level", 3);

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

SELECT
COUNT(DISTINCT event_id) AS num_of_crashes,
  value
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
UNNEST(custom_keys)
WHERE
  key = "current_level"
GROUP BY
  key,
  value
ORDER BY
  num_of_crashes DESC

דוגמה 5: חילוץ מזהה משתמש

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

SELECT *
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  user.id IN ("userid1", "userid2", "userid3")
ORDER BY
  user.id
 

דוגמה 6: מצא את כל המשתמשים המתמודדים עם בעיית קריסה מסוימת

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

SELECT user.id as user_id
FROM
  `projectId.firebase_crashlytics.package_name_ANDROID`
WHERE
  issue_id = "YOUR_ISSUE_ID"
  AND application.display_version = ""
  AND user.id != ""
ORDER BY
  user.id;

דוגמה 7: מספר המשתמשים שהושפעו מבעיית קריסה, בחלוקה לפי מדינה

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

כדי לכתוב שאילתה זו, הצוות יצטרך:

  1. אפשר יצוא BigQuery עבור Google Analytics. ראה ייצוא נתוני פרויקט ל-BigQuery .

  2. עדכן את האפליקציה שלו כדי להעביר מזהה משתמש הן ל-Google Analytics SDK והן ל-Crashlytics SDK.

    Objective-C
    CrashlyticsKit setUserIdentifier:@"123456789";
    FIRAnalytics setUserID:@"12345678 9";
    
    מָהִיר
    Crashlytics.sharedInstance().setUserIdentifier("123456789");
    Analytics.setUserID("123456789");
    
    Java
    Crashlytics.setUserIdentifier("123456789");
    mFirebaseAnalytics.setUserId("123456789");
    
  3. כתוב שאילתה המשתמשת בשדה User ID כדי להצטרף לאירועים במערך הנתונים של Google Analytics BigQuery עם קריסות במערך הנתונים של Crashlytics BigQuery:

    SELECT DISTINCT c.issue_id, a.geo.country, COUNT(DISTINCT c.user.id) as num_users_impacted
    FROM `projectId.firebase_crashlytics.package_name_ANDROID` c
    INNER JOIN  `projectId.analytics_YOUR_TABLE.events_*` a on c.user.id = a.user_id
    WHERE
     c.issue_id = "YOUR_ISSUE_ID"
     AND a._TABLE_SUFFIX BETWEEN '20190101'
     AND '20200101'
    GROUP BY
     c.issue_id,
     a.geo.country,
     c.user.id
    

דוגמה 8: 5 הבעיות המובילות עד כה היום

מחייב הפעלת ייצוא סטרימינג של Crashlytics BigQuery

SELECT
  issue_id,
  COUNT(DISTINCT event_id) AS events
FROM
  `your_project.firebase_crashlytics.package_name_ANDROID_REALTIME`
WHERE
  DATE(event_timestamp) = CURRENT_DATE()
GROUP BY
  issue_id
ORDER BY
  events DESC
LIMIT
  5;

דוגמה 9: 5 הבעיות המובילות מאז DATE, כולל היום

מחייב הפעלת ייצוא סטרימינג של Crashlytics BigQuery.

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

SELECT
  issue_id,
  COUNT(DISTINCT event_id) AS events
FROM (
  SELECT
    issue_id,
    event_id,
    event_timestamp
  FROM
    `your_project.firebase_crashlytics.package_name_ANDROID_REALTIME`
  UNION ALL
  SELECT
    issue_id,
    event_id,
    event_timestamp
  FROM
    `your_project.firebase_crashlytics.package_name_ANDROID`)
WHERE
  event_timestamp >= "2020-01-13"
GROUP BY
  issue_id
ORDER BY
  events DESC
LIMIT
  5;

הבנת סכימת Firebase Crashlytics ב-BigQuery

כשאתה מקשר את Crashlytics ל-BigQuery, Firebase מייצא אירועים אחרונים (קריסות, שגיאות לא קטלניות ומקרי ANR), כולל אירועים של עד יומיים לפני הקישור, עם אפשרות למילוי חוזר עד תשעים יום.

מנקודה זו ועד שתשבית את הקישור, Firebase מייצאת אירועים של Crashlytics על בסיס יומי. יכול לקחת כמה דקות עד שהנתונים יהיו זמינים ב-BigQuery לאחר כל ייצוא.

מערכי נתונים

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

טבלאות

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

לדוגמה, נתונים עבור אפליקציית Android עם המזהה com.google.test יהיו בטבלה בשם com_google_test_ANDROID ונתוני זמן אמת (אם מופעל) יהיו בטבלה בשם com_google_test_ANDROID_REALTIME

טבלאות מכילות סט סטנדרטי של נתוני Crashlytics בנוסף לכל מפתחות Crashlytics מותאמים אישית שהוגדרו על ידי המפתחים.

שורות

כל שורה בטבלה מייצגת שגיאה שבה האפליקציה נתקלה.

עמודות

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

ללא עקבות מחסנית

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

שם שדה סוג מידע תיאור
פּלַטפוֹרמָה חוּט אפליקציות אפל או אנדרואיד
מזהה_חבילה חוּט מזהה החבילה, למשל com.google.gmail
מזהה_אירוע חוּט תעודה מזהה ייחודית לאירוע
הוא_פטאלי בולאני האם האפליקציה קרסה
error_type חוּט סוג השגיאה של האירוע (FATAL, NON_FATAL, ANR)
issue_id חוּט הבעיה הקשורה לאירוע
variant_id חוּט גרסת הבעיה המשויכת לאירוע זה
שים לב שלא לכל האירועים יש וריאנט בעיה משויכת.
event_timestamp חותמת זמן מתי התרחש האירוע
התקן תקליט המכשיר בו התרחש האירוע
מכשיר.יצרן חוּט יצרן המכשיר
דגם.מכשיר חוּט דגם המכשיר
device.architecture חוּט X86_32, X86_64, ARMV7, ARM64, ARMV7S או ARMV7K
זיכרון תקליט מצב הזיכרון של המכשיר
זיכרון.בשימוש INT64 השתמשו בתים של זיכרון
זיכרון.חופשי INT64 נותרו בייטים של זיכרון
אִחסוּן תקליט האחסון המתמשך של המכשיר
אחסון.בשימוש INT64 נעשה שימוש בתים של אחסון
אחסון.ללא תשלום INT64 נותרו בייטים של אחסון
מערכת הפעלה תקליט הפרטים של מערכת ההפעלה במכשיר
operating_system.display_version חוּט הגרסה של מערכת ההפעלה במכשיר
הפעלה_מערכת.שם חוּט שם מערכת ההפעלה במכשיר
Operating_system.modification_state חוּט האם המכשיר עבר שינוי, למשל שבור/הושרש בכלא (שונה או ללא שינוי)
הפעלה_מערכת.סוג חוּט סוג מערכת ההפעלה הפועלת במכשיר (לדוגמה, IOS, MACOS); זמין רק עבור אפליקציות פלטפורמות אפל
operating_system.device_type חוּט סוג המכשיר (לדוגמה, נייד, טאבלט, טלוויזיה וכו'); ידוע גם בשם "קטגוריית מכשיר"
יישום תקליט האפליקציה שיצרה את האירוע
application.build_version חוּט גרסת הבנייה של האפליקציה
application.display_version חוּט
מִשׁתַמֵשׁ תקליט אופציונלי: מידע שנאסף על משתמש האפליקציה
שם משתמש חוּט אופציונלי: שם המשתמש
user.email חוּט אופציונלי: כתובת האימייל של המשתמש
זהות המשתמש חוּט אופציונלי: מזהה ספציפי לאפליקציה המשויך למשתמש
מקשים_מותאם אישית שיא חוזר צמדי מפתח-ערך המוגדרים על ידי מפתח
custom_keys.key חוּט מפתח המוגדר על ידי מפתח
custom_keys.value חוּט ערך מוגדר לפי מפתח
installation_uuid חוּט מזהה שמזהה התקנת אפליקציה ומכשיר ייחודיים
crashlytics_sdk_versions חוּט גרסת ה-SDK של Crashlytics שיצרה את האירוע
app_orientation חוּט PORTRAIT, LANDSCAPE, FACE_UP או FACE_DOWN
כיוון_מכשיר חוּט PORTRAIT, LANDSCAPE, FACE_UP או FACE_DOWN
תהליך_מצב חוּט רקע או קדמה
יומנים שיא חוזר הודעות יומן עם חותמת זמן שנוצרו על ידי יומן Crashlytics, אם מופעל
logs.timestamp חותמת זמן כשהיומן נעשה
logs.message חוּט ההודעה שנרשמה
פרורי לחם שיא חוזר פירורי לחם של Google Analytics עם חותמת זמן, אם מופעל
חותמת זמן חותמת זמן חותמת הזמן המשויכת לפירורי הלחם
breadcrumbs.name חוּט השם המשויך לפירור הלחם
פירורי לחם.פרמס שיא חוזר פרמטרים המשויכים לפירור הלחם
מפתח פירורי לחם.params חוּט מפתח פרמטר המשויך לפירורי הלחם
breadcrumbs.params.value חוּט ערך פרמטר המשויך לפירורי הלחם
מסגרת_האשמה תקליט המסגרת שזוהתה כגורם השורש לקריסה או לשגיאה
blame_frame.line INT64 מספר השורה של הקובץ של המסגרת
blame_frame.file חוּט שם קובץ המסגרת
blame_frame.symbol חוּט סמל הלחות, או סמל גולמי אם הוא בלתי ניתן ללחלח
blame_frame.offset INT64 היסט בתים לתמונה הבינארית המכילה את הקוד, לא מוגדר עבור חריגים ב-Java
blame_frame.address INT64 הכתובת בתמונה הבינארית המכילה את הקוד, לא מוגדרת עבור מסגרות Java
blame_frame.library חוּט שם התצוגה של הספרייה הכוללת את המסגרת
blame_frame.owner חוּט מפתח, ספק, RUNTIME, פלטפורמה או מערכת
blame_frame.blamed בולאני האם הניתוח של Crashlytics קבע שהמסגרת הזו היא הגורם להתרסקות או לשגיאה
חריגים שיא חוזר אנדרואיד בלבד: חריגים שהתרחשו במהלך אירוע זה. חריגים מקוננים מוצגים בסדר כרונולוגי הפוך (קרא: הרשומה האחרונה היא החריג הראשון שנזרק)
exceptions.type חוּט סוג החריג, למשל java.lang.IllegalStateException
exceptions.exception_message חוּט הודעה המשויכת לחריגה
חריגים.מקוננים בולאני נכון לכולם מלבד החריג שנזרק אחרון (כלומר הרשומה הראשונה)
exceptions.title חוּט הכותרת של השרשור
exceptions.subtitle חוּט כותרת המשנה של השרשור
חריגים.מאשימים בולאני נכון אם Crashlytics קובע שהחריג אחראי לשגיאה או לקריסה
exceptions.frames שיא חוזר המסגרות המשויכות לחריגה
exceptions.frames.line INT64 מספר השורה של הקובץ של המסגרת
exceptions.frames.file חוּט שם קובץ המסגרת
חריגים.מסגרות.סמל חוּט סמל הלחות, או סמל גולמי אם הוא בלתי ניתן ללחלח
חריגים.מסגרות.היסט INT64 היסט בתים לתמונה הבינארית המכילה את הקוד, לא מוגדר עבור חריגים ב-Java
חריגים.מסגרות.כתובת INT64 הכתובת בתמונה הבינארית המכילה את הקוד, לא מוגדרת עבור מסגרות Java
exceptions.frames.library חוּט שם התצוגה של הספרייה הכוללת את המסגרת
בעלים.exceptions.frames חוּט מפתח, ספק, RUNTIME, פלטפורמה או מערכת
חריגים.מסגרות.האשמות בולאני האם הניתוח של Crashlytics קבע שהמסגרת הזו היא הסיבה לקריסה או לשגיאה
שְׁגִיאָה שיא חוזר אפליקציות אפל בלבד: שגיאות לא קטלניות
error.queue_name חוּט התור שהשרשור רץ עליו
קוד שגיאה INT64 קוד שגיאה המשויך ל-NSERror שנרשם בהתאמה אישית של האפליקציה
error.title חוּט הכותרת של השרשור
error.subtitle חוּט כותרת המשנה של השרשור
error.blamed בולאני האם הניתוח של Crashlytics קבע שהמסגרת הזו היא הסיבה לשגיאה
error.frames שיא חוזר המסגרות של ה-stacktrace
error.frames.line INT64 מספר השורה של הקובץ של המסגרת
error.frames.file חוּט שם קובץ המסגרת
סמל שגיאה.מסגרות חוּט סמל הלחות, או סמל גולמי אם הוא בלתי ניתן ללחלח
שגיאה.מסגרות.היסט INT64 היסט בתים לתמונה הבינארית המכילה את הקוד
כתובת שגיאה.מסגרות INT64 הכתובת בתמונה הבינארית המכילה את הקוד
שגיאה.מסגרות.ספריית חוּט שם התצוגה של הספרייה הכוללת את המסגרת
בעל שגיאה.מסגרות חוּט מפתח, ספק, RUNTIME, פלטפורמה או מערכת
שגיאה.מסגרות.האשמות בולאני האם הניתוח של Crashlytics קבע שהמסגרת הזו היא הסיבה לשגיאה
חוטים שיא חוזר שרשורים נוכחים בזמן האירוע
שרשורים.קרסו בולאני האם השרשור קרס
threads.thread_name חוּט שם השרשור
threads.queue_name חוּט אפליקציות של אפל בלבד: התור שהשרשור רץ בו
threads.signal_name חוּט שם האות שגרם לקריסה של האפליקציה, קיים רק באשכולות מקוריים שקרסו
threads.signal_code חוּט הקוד של האות שגרם לאפליקציה לקרוס; קיים רק באשכולות מקוריים שקרסו
threads.crash_address INT64 הכתובת של האות שגרם לאפליקציה לקרוס; קיים רק באשכולות מקוריים שקרסו
threads.code INT64 יישומי אפל בלבד: קוד שגיאה של NSEerror שנרשם בהתאמה אישית של האפליקציה
threads.title חוּט הכותרת של השרשור
threads.subtitle חוּט כותרת המשנה של השרשור
שרשורים.מאשימים בולאני האם הניתוח של Crashlytics קבע שהמסגרת הזו היא הסיבה לקריסה או לשגיאה
threads.frames שיא חוזר המסגרות של החוט
threads.frames.line INT64 מספר השורה של הקובץ של המסגרת
threads.frames.file חוּט שם קובץ המסגרת
סמל של threads.frames חוּט סמל הלחות, או סמל גולמי אם הוא בלתי ניתן ללחלח
פתיל.מסגרות.היסט INT64 היסט בתים לתמונה הבינארית המכילה את הקוד
threads.frames.address INT64 הכתובת בתמונה הבינארית המכילה את הקוד
ספריית threads.frames חוּט שם התצוגה של הספרייה הכוללת את המסגרת
הבעלים של threads.frames חוּט מפתח, ספק, RUNTIME, פלטפורמה או מערכת
אשכולות.מסגרות.האשמות בולאני האם הניתוח של Crashlytics קבע שהמסגרת הזו היא הסיבה לשגיאה
unity_metadata.unity_version חוּט הגרסה של Unity פועלת במכשיר זה
unity_metadata.debug_build בולאני אם זה בניית באגים
unity_metadata.processor_type חוּט סוג המעבד
unity_metadata.processor_count INT64 מספר המעבדים (הליבות)
unity_metadata.processor_frequency_mhz INT64 תדר המעבד(ים) ב-MHz
unity_metadata.system_memory_size_mb INT64 גודל הזיכרון של המערכת ב-Mb
unity_metadata.graphics_memory_size_mb INT64 הזיכרון הגרפי ב-MB
unity_metadata.graphics_device_id INT64 המזהה של ההתקן הגרפי
unity_metadata.graphics_device_vendor_id INT64 המזהה של הספק של המעבד הגרפי
unity_metadata.graphics_device_name חוּט שם ההתקן הגרפי
unity_metadata.graphics_device_vendor חוּט הספק של המכשיר הגרפי
unity_metadata.graphics_device_version חוּט הגרסה של המכשיר הגרפי
unity_metadata.graphics_device_type חוּט סוג ההתקן הגרפי
unity_metadata.graphics_shader_level INT64 רמת ההצללה של הגרפיקה
unity_metadata.graphics_render_target_count INT64 מספר יעדי העיבוד הגרפי
unity_metadata.graphics_copy_texture_support חוּט תמיכה בהעתקת מרקם גרפי כפי שהוגדר ב- Unity API
unity_metadata.graphics_max_texture_size INT64 הגודל המרבי המוקדש לטקסטורת רינדור
unity_metadata.screen_size_px חוּט גודל המסך בפיקסלים, בפורמט כרוחב x גובה
unity_metadata.screen_resolution_dpi חוּט ה-DPI של המסך כמספר נקודה צפה
unity_metadata.screen_refresh_rate_hz INT64 קצב הרענון של המסך בהרץ

הצגת נתוני Crashlytics מיוצאים באמצעות Data Studio

Google Data Studio הופך את מערכי הנתונים של Crashlytics ב-BigQuery לדוחות שקל לקרוא, קלים לשיתוף וניתנים להתאמה אישית מלאה.

למידע נוסף על השימוש ב-Data Studio, נסה את מדריך ההתחלה המהירה של Data Studio, ברוכים הבאים ל-Data Studio .

שימוש בתבנית דוח Crashlytics

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

  1. פתח את תבנית לוח המחוונים של Crashlytics Data Studio .
  2. לחץ על השתמש בתבנית בפינה השמאלית העליונה.
  3. בתפריט הנפתח מקור נתונים חדש , בחר צור מקור נתונים חדש .
  4. לחץ על בחר בכרטיס BigQuery .
  5. בחר טבלה המכילה נתוני Crashlytics מיוצאים על ידי בחירה בפרויקטים שלי > [שם הפרויקט שלך] > firebase_crashlytics > [שם הטבלה שלך] . טבלת האצווה שלך תמיד זמינה לבחירה; אם ייצוא סטרימינג של Crashlytics BigQuery מופעל, תוכל לבחור במקום זאת את טבלת זמן אמת שלך.
  6. תחת תצורה , הגדר את רמת תבנית Crashlytics לברירת מחדל .
  7. לחץ על התחבר כדי ליצור את מקור הנתונים החדש.
  8. לחץ על הוסף לדוח כדי לחזור לתבנית Crashlytics.
  9. לבסוף, לחץ על צור דוח כדי ליצור את העותק שלך של תבנית לוח המחוונים של Crashlytics Data Studio.