Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Xuất dữ liệu Firebase Crashlytics sang BigQuery

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Bạn có thể xuất dữ liệu Crashlytics của mình sang BigQuery để phân tích thêm. BigQuery cho phép bạn phân tích dữ liệu bằng cách sử dụng BigQuery SQL, xuất dữ liệu đó sang một nhà cung cấp đám mây khác và sử dụng dữ liệu đó để hiển thị và trang tổng quan tùy chỉnh với Google Data Studio.

Bật xuất BigQuery

  1. Truy cập trang Tích hợp trong bảng điều khiển Firebase.
  2. Trong thẻ BigQuery , hãy nhấp vào Liên kết .
  3. Làm theo hướng dẫn trên màn hình để bật BigQuery.

Khi bạn liên kết dự án của mình với BigQuery:

  • Firebase thiết lập đồng bộ hàng ngày dữ liệu của bạn từ dự án Firebase sang BigQuery.
  • Theo mặc định, tất cả các ứng dụng trong dự án của bạn đều được liên kết với BigQuery và bất kỳ ứng dụng nào bạn thêm vào dự án sau này sẽ tự động được liên kết với BigQuery. Bạn có thể quản lý ứng dụng nào gửi dữ liệu .
  • Firebase xuất bản sao dữ liệu hiện có của bạn sang BigQuery. Đối với mỗi ứng dụng được liên kết, điều này bao gồm một bảng hàng loạt chứa dữ liệu từ quá trình đồng bộ hóa hàng ngày.
  • Nếu bạn bật tính năng xuất trực tuyến Crashlytics BigQuery, tất cả các ứng dụng được liên kết cũng sẽ có bảng thời gian thực chứa dữ liệu cập nhật liên tục.

Để hủy kích hoạt xuất BigQuery, hãy hủy liên kết dự án của bạn trong bảng điều khiển Firebase.

Dữ liệu nào được xuất sang BigQuery?

Dữ liệu Firebase Crashlytics được xuất thành tập dữ liệu BigQuery có tên là firebase_crashlytics . Theo mặc định, các bảng riêng lẻ sẽ được tạo bên trong tập dữ liệu Crashlytics cho từng ứng dụng trong dự án của bạn. Firebase đặt tên cho các bảng dựa trên số nhận dạng gói của ứng dụng, với các dấu chấm được chuyển đổi thành dấu gạch dưới và tên nền tảng được thêm vào cuối.

Ví dụ: dữ liệu cho một ứng dụng có ID com.google.test sẽ nằm trong một bảng có tên com_google_test_ANDROID . Bảng lô này được cập nhật mỗi ngày một lần. Nếu bạn bật tính năng xuất trực tuyến Crashlytics BigQuery, dữ liệu Firebase Crashlytics cũng sẽ được truyền trực tuyến trong thời gian thực tới com_google_test_ANDROID_REALTIME .

Mỗi hàng trong bảng đại diện cho một sự kiện đã xảy ra trong ứng dụng, bao gồm sự cố, lỗi không nghiêm trọng và ANR.

Bật xuất trực tuyến Crashlytics BigQuery

Bạn có thể truyền trực tuyến dữ liệu Crashlytics của mình trong thời gian thực với BigQueryStreaming . Bạn có thể sử dụng nó cho bất kỳ mục đích nào yêu cầu dữ liệu trực tiếp, chẳng hạn như hiển thị thông tin trong trang tổng quan trực tiếp, xem trực tiếp giới thiệu hoặc theo dõi các sự cố ứng dụng kích hoạt cảnh báo và quy trình làm việc tùy chỉnh.

Tính năng xuất trực tuyến BigQuery của Crashlytics không khả dụng cho hộp cát BigQuery.

Khi bạn bật xuất trực tuyến Crashlytics BigQuery, ngoài bảng hàng loạt, bạn sẽ có một bảng thời gian thực. Dưới đây là những điểm khác biệt mà bạn nên biết giữa các bảng:

Bảng lô Bảng thời gian thực
  • Dữ liệu được xuất một lần mỗi ngày
  • Các sự kiện được lưu trữ lâu dài trước khi ghi hàng loạt vào BigQuery
  • Có thể được lấp đầy trước 90 ngày
  • Dữ liệu được xuất theo thời gian thực
  • Không có sẵn chèn lấp

Bảng lô là lý tưởng để phân tích dài hạn và xác định xu hướng theo thời gian vì chúng tôi lưu trữ các sự kiện một cách hợp lý trước khi viết chúng và chúng có thể được lấp đầy vào bảng trong tối đa 90 ngày. Khi chúng tôi ghi dữ liệu vào bảng thời gian thực của bạn, chúng tôi sẽ ngay lập tức ghi dữ liệu đó vào BigQuery và vì vậy nó lý tưởng cho trang tổng quan trực tiếp và cảnh báo tùy chỉnh. Hai bảng này có thể được kết hợp với một truy vấn ghép nối để có được những lợi ích của cả hai. Xem truy vấn Ví dụ 9 bên dưới.

Theo mặc định, bảng thời gian thực có thời gian hết hạn phân vùng là 30 ngày. Để tìm hiểu cách sửa đổi điều này, hãy xem Cập nhật thời hạn phân vùng .

Bật phát trực tuyến BigQuery của Crashlytics

Để bật tính năng phát trực tuyến, hãy điều hướng đến phần Crashlytics của trang tích hợp BigQuery và chọn hộp kiểm Bao gồm phát trực tuyến .

Mẫu Data Studio

Để bật dữ liệu thời gian thực trong mẫu Data Studio của bạn, hãy làm theo hướng dẫn trong Trực quan hóa dữ liệu Crashlytics đã xuất với Data Studio .

Lượt xem

Bạn có thể biến các truy vấn mẫu bên dưới thành các chế độ xem bằng giao diện người dùng BigQuery. Xem Tạo chế độ xem để biết hướng dẫn chi tiết.

Bạn có thể làm gì với dữ liệu đã xuất?

Các bản xuất BigQuery chứa dữ liệu sự cố thô bao gồm loại thiết bị, hệ điều hành, ngoại lệ (ứng dụng Android) hoặc lỗi (ứng dụng Apple), nhật ký Crashlytics cũng như các dữ liệu khác.

Làm việc với dữ liệu Firebase Crashlytics trong BigQuery

Các ví dụ sau minh họa các truy vấn bạn có thể chạy trên dữ liệu Crashlytics của mình. Các truy vấn này tạo ra các báo cáo không có sẵn trong trang tổng quan Crashlytics.

Ví dụ về truy vấn Crashlytics

Các ví dụ sau đây trình bày cách tạo báo cáo tổng hợp dữ liệu sự kiện sự cố thành các bản tóm tắt dễ hiểu hơn.

Ví dụ 1: Sự cố theo ngày

Sau khi cố gắng sửa nhiều lỗi nhất có thể, một nhà phát triển chính cho rằng nhóm của cô ấy cuối cùng đã sẵn sàng ra mắt ứng dụng chia sẻ ảnh mới của họ. Trước khi thực hiện, họ muốn kiểm tra số lần gặp sự cố mỗi ngày trong tháng qua, để đảm bảo lỗi của họ đã làm cho ứng dụng ổn định hơn theo thời gian:

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;

Ví dụ 2: Tìm các sự cố phổ biến nhất

Để sắp xếp thứ tự ưu tiên đúng mức cho các kế hoạch sản xuất, người quản lý dự án cân nhắc cách chỉ ra 10 lỗi phổ biến nhất trong sản phẩm của họ. Họ tạo ra một truy vấn cung cấp các điểm thích hợp của dữ liệu:

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;

Ví dụ 3: 10 thiết bị gặp sự cố hàng đầu

Mùa thu là mùa điện thoại mới! Một nhà phát triển biết điều đó cũng có nghĩa là mùa vấn đề mới dành cho thiết bị cụ thể. Để giải quyết những lo ngại về khả năng tương thích đang tồn tại, họ đã cùng nhau đưa ra một truy vấn xác định 10 thiết bị gặp sự cố nhiều nhất trong tuần qua:

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;

Ví dụ 4: Lọc theo khóa tùy chỉnh

Một nhà phát triển trò chơi muốn biết cấp độ trò chơi của họ gặp nhiều sự cố nhất. Để giúp họ theo dõi thống kê đó, họ đặt một khóa Crashlytics tùy chỉnh current_level và cập nhật nó mỗi khi người dùng đạt đến cấp độ mới.

Objective-C

CrashlyticsKit setIntValue:3 forKey:@"current_level";

Nhanh

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

Java

Crashlytics.setInt("current_level", 3);

Với khóa đó trong quá trình xuất BigQuery, sau đó họ viết một truy vấn để báo cáo việc phân phối các giá trị current_level được liên kết với mỗi sự kiện sự cố:

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

Ví dụ 5: Trích xuất ID người dùng

Một nhà phát triển có một ứng dụng trong quyền truy cập sớm. Hầu hết người dùng của họ yêu thích nó, nhưng ba người đã gặp phải một số sự cố bất thường. Để đi sâu vào vấn đề, họ viết một truy vấn kéo tất cả các sự kiện sự cố cho những người dùng đó, sử dụng ID người dùng của họ:

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

Ví dụ 6: Tìm tất cả người dùng đối mặt với một sự cố cụ thể

Một nhà phát triển đã phát hành một lỗi nghiêm trọng cho một nhóm người thử nghiệm beta. Nhóm có thể sử dụng truy vấn từ Ví dụ 2 ở trên để xác định ID sự cố cụ thể. Bây giờ họ muốn chạy một truy vấn để trích xuất danh sách những người dùng ứng dụng bị ảnh hưởng bởi sự cố này:

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;

Ví dụ 7: Số lượng người dùng bị ảnh hưởng bởi sự cố, được chia nhỏ theo quốc gia

Hiện nhóm đã phát hiện ra một lỗi nghiêm trọng trong quá trình triển khai bản phát hành mới. Họ có thể sử dụng truy vấn từ Ví dụ 2 ở trên để xác định ID sự cố cụ thể. Giờ đây, nhóm muốn xem liệu sự cố này có lan sang người dùng ở các quốc gia khác nhau trên thế giới hay không.

Để viết truy vấn này, nhóm sẽ cần:

  1. Bật xuất BigQuery cho Google Analytics. Xem Xuất dữ liệu dự án sang BigQuery .

  2. Cập nhật ứng dụng của họ để chuyển ID người dùng vào cả Google Analytics SDK và Crashlytics SDK.

    Objective-C
    CrashlyticsKit setUserIdentifier:@"123456789";
    FIRAnalytics setUserID:@"12345678 9";
    
    Nhanh
    Crashlytics.sharedInstance().setUserIdentifier("123456789");
    Analytics.setUserID("123456789");
    
    Java
    Crashlytics.setUserIdentifier("123456789");
    mFirebaseAnalytics.setUserId("123456789");
    
  3. Viết truy vấn sử dụng trường ID người dùng để tham gia các sự kiện trong tập dữ liệu BigQuery của Google Analytics có sự cố trong tập dữ liệu 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
    

Ví dụ 8: 5 vấn đề hàng đầu cho đến nay

Yêu cầu bật xuất trực tuyến 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;

Ví dụ 9: 5 vấn đề hàng đầu kể từ DATE, bao gồm cả hôm nay

Yêu cầu bật xuất trực tuyến Crashlytics BigQuery.

Trong ví dụ này, chúng tôi kết hợp các bảng theo lô và thời gian thực để thêm thông tin thời gian thực vào dữ liệu lô đáng tin cậy. Vì event_id là một khóa chính, chúng ta có thể sử dụng DISTINCT event_id để loại trừ bất kỳ sự kiện chung nào từ hai bảng.

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;

Hiểu giản đồ Firebase Crashlytics trong BigQuery

Khi bạn liên kết Crashlytics với BigQuery, Firebase xuất các sự kiện gần đây (sự cố, lỗi không nghiêm trọng và ANR), bao gồm các sự kiện từ tối đa hai ngày trước liên kết, với tùy chọn chèn lấp lên đến 90 ngày.

Từ thời điểm đó cho đến khi bạn tắt liên kết, Firebase xuất các sự kiện Crashlytics hàng ngày. Có thể mất vài phút để dữ liệu có sẵn trong BigQuery sau mỗi lần xuất.

Bộ dữ liệu

Firebase Crashlytics tạo tập dữ liệu mới trong BigQuery cho dữ liệu Crashlytics. Tập dữ liệu bao gồm toàn bộ dự án của bạn, ngay cả khi nó có nhiều ứng dụng.

Những cái bàn

Firebase Crashlytics tạo một bảng trong tập dữ liệu cho từng ứng dụng trong dự án của bạn, trừ khi bạn đã chọn không xuất dữ liệu cho ứng dụng đó. Firebase đặt tên cho các bảng dựa trên số nhận dạng gói của ứng dụng, với các dấu chấm được chuyển đổi thành dấu gạch dưới và tên nền tảng được thêm vào cuối.

Ví dụ: dữ liệu cho ứng dụng Android có ID com.google.test sẽ nằm trong bảng có tên com_google_test_ANDROID và dữ liệu thời gian thực (nếu được bật) sẽ nằm trong bảng có tên com_google_test_ANDROID_REALTIME

Các bảng chứa một bộ dữ liệu Crashlytics tiêu chuẩn ngoài bất kỳ khóa Crashlytics tùy chỉnh nào do nhà phát triển xác định.

Hàng

Mỗi hàng trong bảng đại diện cho một lỗi mà ứng dụng gặp phải.

Cột

Các cột trong bảng giống nhau về sự cố, lỗi không nghiêm trọng và ANR. Nếu bật tính năng xuất trực tuyến Crashlytics BigQuery, thì bảng thời gian thực sẽ có các cột giống như bảng hàng loạt. Các cột trong quá trình xuất được liệt kê bên dưới.

Không có dấu vết ngăn xếp

Các cột hiển thị trong các hàng đại diện cho các sự kiện không có dấu vết ngăn xếp.

Tên trường Loại dữ liệu Sự mô tả
nền tảng SỢI DÂY Ứng dụng Apple hoặc Android
Bund_identifier SỢI DÂY ID gói, ví dụ: com.google.gmail
event_id SỢI DÂY Một ID duy nhất cho sự kiện
is_fatal BOOLEAN Ứng dụng có bị lỗi hay không
error_type SỢI DÂY Loại lỗi của sự kiện (FATAL, NON_FATAL, ANR)
issue_id SỢI DÂY Sự cố liên quan đến sự kiện
event_timestamp TIMESTAMP Khi sự kiện xảy ra
thiết bị GHI LẠI Thiết bị xảy ra sự kiện
nhà sản xuất thiết bị SỢI DÂY Nhà sản xuất thiết bị
mô hình thiết bị SỢI DÂY Mô hình thiết bị
device.architecture SỢI DÂY X86_32, X86_64, ARMV7, ARM64, ARMV7S hoặc ARMV7K
kỉ niệm GHI LẠI Tình trạng bộ nhớ của thiết bị
memory. used INT64 Số byte bộ nhớ được sử dụng
memory.free INT65 Số byte bộ nhớ còn lại
kho GHI LẠI Bộ nhớ liên tục của thiết bị
lưu trữ. sử dụng INT64 Số byte dung lượng đã sử dụng
lưu trữ. miễn phí INT64 Số byte bộ nhớ còn lại
hệ điều hành GHI LẠI Chi tiết hệ điều hành của thiết bị
Operating_system.display_version SỢI DÂY Phiên bản hệ điều hành
Operating_system.name SỢI DÂY Tên hệ điều hành
Operating_system.modification_state SỢI DÂY MODIFIED hoặc UNMODIFIED, tức là thiết bị đã được bẻ khóa / root hay chưa
Operating_system.type SỢI DÂY Loại hệ điều hành trên thiết bị. Ví dụ: IOS, MACOS
Operating_system.device_type SỢI DÂY Loại thiết bị. Ví dụ: DI ĐỘNG, TABLET, TV
đăng kí GHI LẠI Ứng dụng đã tạo ra sự kiện
application.build_version SỢI DÂY Phiên bản xây dựng của ứng dụng
application.display_version SỢI DÂY
người sử dụng GHI LẠI Tùy chọn: Thông tin được thu thập về người dùng của ứng dụng
tên tài khoản SỢI DÂY Tùy chọn: Tên người dùng
Email người dùng SỢI DÂY Tùy chọn: Địa chỉ email của người dùng
tên người dùng SỢI DÂY Tùy chọn: ID dành riêng cho ứng dụng được liên kết với người dùng
custom_keys BẢN GHI ĐÃ LẶP LẠI Các cặp khóa-giá trị do nhà phát triển xác định
custom_keys.key SỢI DÂY Khóa do nhà phát triển xác định
custom_keys.value SỢI DÂY Giá trị do nhà phát triển xác định
install_uuid SỢI DÂY ID xác định một ứng dụng và cài đặt thiết bị duy nhất
crashlytics_sdk_versions SỢI DÂY Phiên bản Crashlytics SDK đã tạo ra sự kiện
app_orientation SỢI DÂY PORTRAIT, LANDSCAPE, FACE_UP hoặc FACE_DOWN
device_orientation SỢI DÂY PORTRAIT, LANDSCAPE, FACE_UP hoặc FACE_DOWN
process_state SỢI DÂY BACKGROUND hoặc FOREGROUND
nhật ký BẢN GHI ĐÃ LẶP LẠI Thông báo nhật ký có dấu thời gian được tạo bởi trình ghi nhật ký Crashlytics, nếu được bật
logs.timestamp TIMESTAMP Khi nhật ký được thực hiện
logs.message SỢI DÂY Tin nhắn đã ghi
vụn bánh mì BẢN GHI ĐÃ LẶP LẠI Đường dẫn Google Analytics có dấu thời gian, nếu được bật
breadcrumbs.timestamp TIMESTAMP Dấu thời gian được liên kết với breadcrumb
breadcrumbs.name SỢI DÂY Tên được liên kết với breadcrumb
breadcrumbs.params BẢN GHI ĐÃ LẶP LẠI Các thông số được liên kết với breadcrumb
breadcrumbs.params.key SỢI DÂY Một khóa tham số được liên kết với breadcrumb
breadcrumbs.params.value SỢI DÂY Một giá trị tham số được liên kết với breadcrumb
đổ lỗi cho khung GHI LẠI Khung được xác định là nguyên nhân gốc rễ của sự cố hoặc lỗi
blu_frame.line INT64 Số dòng của tệp trong khung
blu_frame.file SỢI DÂY Tên của tệp khung
bluec_frame.symbol SỢI DÂY Biểu tượng ngậm nước hoặc biểu tượng thô nếu nó không thể tìm được
Blur_frame.offset INT64 Phần bù byte vào hình ảnh nhị phân có chứa mã, chưa được đặt cho các trường hợp ngoại lệ của Java
bluec_frame.address INT64 Địa chỉ trong hình ảnh nhị phân chứa mã, chưa được đặt cho khung Java
blued_frame.library SỢI DÂY Tên hiển thị của thư viện bao gồm khung
blu_frame.owner SỢI DÂY DEVELOPER, VENDOR, RUNTIME, PLATFORM hoặc SYSTEM
blued_frame.blamed BOOLEAN Phân tích của Crashlytics có xác định rằng khung này là nguyên nhân gây ra sự cố hoặc lỗi hay không
ngoại lệ BẢN GHI ĐÃ LẶP LẠI Chỉ dành cho Android: Các trường hợp ngoại lệ đã xảy ra trong sự kiện này. Các ngoại lệ lồng nhau được trình bày theo thứ tự thời gian đảo ngược (đọc: bản ghi cuối cùng là ngoại lệ đầu tiên được ném ra)
exceptions.type SỢI DÂY Loại ngoại lệ, ví dụ: java.lang.IllegalStateException
exceptions.exception_message SỢI DÂY Một thông báo được liên kết với ngoại lệ
ngoại lệ.nested BOOLEAN Đúng cho tất cả trừ ngoại lệ được ném cuối cùng (tức là bản ghi đầu tiên)
exceptions.title SỢI DÂY Tiêu đề của chủ đề
exceptions.subtitle SỢI DÂY Phụ đề của chuỗi
exceptions.blamed BOOLEAN Đúng nếu Crashlytics xác định ngoại lệ chịu trách nhiệm cho lỗi hoặc sự cố
exceptions.frames BẢN GHI ĐÃ LẶP LẠI Các khung liên quan đến ngoại lệ
exceptions.frames.line INT64 Số dòng của tệp trong khung
exceptions.frames.file SỢI DÂY Tên của tệp khung
exceptions.frames.symbol SỢI DÂY Biểu tượng ngậm nước hoặc biểu tượng thô nếu nó không thể tìm được
exceptions.frames.offset INT64 Phần bù byte vào hình ảnh nhị phân có chứa mã, chưa được đặt cho các trường hợp ngoại lệ của Java
exceptions.frames.address INT64 Địa chỉ trong hình ảnh nhị phân chứa mã, chưa được đặt cho khung Java
exceptions.frames.library SỢI DÂY Tên hiển thị của thư viện bao gồm khung
exceptions.frames.owner SỢI DÂY DEVELOPER, VENDOR, RUNTIME, PLATFORM hoặc SYSTEM
exceptions.frames.blamed BOOLEAN Phân tích của Crashlytics có xác định rằng khung này là nguyên nhân gây ra sự cố hoặc lỗi hay không
lỗi BẢN GHI ĐÃ LẶP LẠI Chỉ ứng dụng Apple: lỗi không nghiêm trọng
error.queue_name SỢI DÂY Hàng đợi mà chuỗi đang chạy
lỗi. mã INT64 Mã lỗi được liên kết với NSError được ghi nhật ký tùy chỉnh của ứng dụng
sai lầm.title SỢI DÂY Tiêu đề của chủ đề
lỗi. phụ đề SỢI DÂY Phụ đề của chuỗi
sai lầm. đánh dấu BOOLEAN Phân tích của Crashlytics có xác định rằng khung này là nguyên nhân gây ra lỗi hay không
error.frames BẢN GHI ĐÃ LẶP LẠI Các khung của stacktrace
error.frames.line INT64 Số dòng của tệp trong khung
error.frames.file SỢI DÂY Tên của tệp khung
error.frames.symbol SỢI DÂY Biểu tượng ngậm nước hoặc biểu tượng thô nếu nó không thể tìm được
error.frames.offset INT64 Phần bù byte thành hình ảnh nhị phân có chứa mã
error.frames.address INT64 Địa chỉ trong hình ảnh nhị phân chứa mã
error.frames.library SỢI DÂY Tên hiển thị của thư viện bao gồm khung
error.frames.owner SỢI DÂY DEVELOPER, VENDOR, RUNTIME, PLATFORM hoặc SYSTEM
error.frames.blamed BOOLEAN Phân tích của Crashlytics có xác định rằng khung này là nguyên nhân gây ra lỗi hay không
chủ đề BẢN GHI ĐÃ LẶP LẠI Chủ đề có tại thời điểm diễn ra sự kiện
thread.crashed BOOLEAN Liệu luồng có bị lỗi hay không
thread.thread_name SỢI DÂY Tên chủ đề
thread.queue_name SỢI DÂY Chỉ ứng dụng Apple: Hàng đợi mà chuỗi đang chạy
thread.signal_name SỢI DÂY Tên của tín hiệu khiến ứng dụng gặp sự cố, chỉ hiển thị trên các chuỗi gốc bị sự cố
thread.signal_code SỢI DÂY Mã của tín hiệu khiến ứng dụng gặp sự cố; chỉ xuất hiện trên các chuỗi gốc bị lỗi
thread.crash_address INT64 Địa chỉ của tín hiệu khiến ứng dụng gặp sự cố; chỉ xuất hiện trên các chuỗi gốc bị lỗi
thread.code INT64 Chỉ ứng dụng Apple: Mã lỗi của NSError được ghi nhật ký tùy chỉnh của ứng dụng
thread.title SỢI DÂY Tiêu đề của chủ đề
thread.subtitle SỢI DÂY Phụ đề của chuỗi
thread.blamed BOOLEAN Phân tích của Crashlytics có xác định rằng khung này là nguyên nhân gây ra sự cố hoặc lỗi hay không
thread.frames BẢN GHI ĐÃ LẶP LẠI Các khung của chủ đề
thread.frames.line INT64 Số dòng của tệp trong khung
thread.frames.file SỢI DÂY Tên của tệp khung
thread.frames.symbol SỢI DÂY Biểu tượng ngậm nước hoặc biểu tượng thô nếu nó không thể xử lý được
thread.frames.offset INT64 Phần bù byte thành hình ảnh nhị phân có chứa mã
thread.frames.address INT64 Địa chỉ trong hình ảnh nhị phân chứa mã
thread.frames.library SỢI DÂY Tên hiển thị của thư viện bao gồm khung
thread.frames.owner SỢI DÂY DEVELOPER, VENDOR, RUNTIME, PLATFORM hoặc SYSTEM
thread.frames.blamed BOOLEAN Phân tích của Crashlytics có xác định rằng khung này là nguyên nhân gây ra lỗi hay không

Trực quan hóa dữ liệu Crashlytics đã xuất với Data Studio

Google Data Studio biến tập dữ liệu Crashlytics của bạn trong BigQuery thành các báo cáo dễ đọc, dễ chia sẻ và hoàn toàn có thể tùy chỉnh.

Để tìm hiểu thêm về cách sử dụng Data Studio, hãy thử hướng dẫn bắt đầu nhanh Data Studio, Chào mừng bạn đến với Data Studio .

Sử dụng mẫu báo cáo Crashlytics

Data Studio có một báo cáo mẫu cho Crashlytics bao gồm một tập hợp đầy đủ các thứ nguyên và chỉ số từ lược đồ Crashlytics BigQuery đã xuất. Nếu bạn đã bật tính năng xuất trực tuyến Crashlytics BigQuery, bạn có thể xem dữ liệu đó trên trang Xu hướng thời gian thực của mẫu Data Studio.

  1. Mở mẫu Trang tổng quan Crashlytics Data Studio .
  2. Nhấp vào Sử dụng Mẫu ở góc trên bên phải.
  3. Trong menu thả xuống Nguồn dữ liệu mới , hãy chọn Tạo nguồn dữ liệu mới .
  4. Nhấp vào Chọn trên thẻ BigQuery .
  5. Chọn một bảng chứa dữ liệu Crashlytics đã xuất bằng cách chọn Dự án của tôi > [tên-dự án của tôi] > firebase_crashlytics > [tên-bảng-của-bạn] . Bảng lô của bạn luôn có sẵn để chọn; nếu tính năng xuất phát trực tuyến BigQuery của Crashlytics được bật, bạn có thể chọn bảng thời gian thực của mình.
  6. Trong Cấu hình , đặt cấp Mẫu Crashlytics thành Mặc định .
  7. Nhấp vào Kết nối để tạo nguồn dữ liệu mới.
  8. Nhấp vào Thêm vào Báo cáo để quay lại mẫu Crashlytics.
  9. Cuối cùng, nhấp vào Tạo báo cáo để tạo bản sao của mẫu Trang tổng quan Crashlytics Data Studio.