Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Bắt đầu với Firebase Crashlytics

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.

Phần bắt đầu nhanh này mô tả cách thiết lập Firebase Crashlytics trong ứng dụng của bạn với SDK Firebase Crashlytics để bạn có thể nhận được báo cáo sự cố toàn diện trong bảng điều khiển Firebase.

Việc thiết lập Crashlytics yêu cầu các tác vụ trong bảng điều khiển Firebase và IDE của bạn (như thêm tệp cấu hình Firebase và Crashlytics SDK). Để hoàn tất quá trình thiết lập, bạn cần phải thực hiện kiểm tra sự cố để gửi báo cáo sự cố đầu tiên của bạn tới Firebase.

Trước khi bắt đầu

  1. Nếu bạn chưa có, hãy thêm Firebase vào dự án Unity của bạn. Nếu bạn không có dự án Unity, bạn có thể tải xuống một ứng dụng mẫu .

  2. Được đề xuất : Để có được các tính năng như người dùng không gặp sự cố, nhật ký đường dẫn và cảnh báo vận tốc, bạn cần bật Google Analytics trong dự án Firebase của mình.

    • Nếu dự án Firebase hiện tại của bạn chưa bật Google Analytics, bạn có thể bật Google Analytics từ tab Tích hợp trong đặt dự án trong bảng điều khiển Firebase.

    • Nếu bạn đang tạo một dự án Firebase mới, hãy bật Google Analytics trong quá trình tạo dự án.

Bước 1 : Thêm Crashlytics SDK vào ứng dụng của bạn

Lưu ý rằng khi bạn đăng ký dự án Unity với dự án Firebase của mình, bạn có thể đã tải xuống Firebase Unity SDK và thêm gói Crashlytics.

  1. Tải xuống Firebase Unity SDK , sau đó giải nén SDK ở nơi nào đó thuận tiện.

    SDK Unity Firebase không dành riêng cho nền tảng.

  2. Trong dự án Unity đang mở của bạn, điều hướng đến Nội dung > Gói nhập> Gói tùy chỉnh .

  3. Từ SDK đã giải nén, chọn để nhập Crashlytics SDK ( FirebaseCrashlytics.unitypackage ).

    Bạn cũng có thể nhập bất kỳ sản phẩm Firebase được hỗ trợ nào khác.

  4. Trong cửa sổ Nhập Gói Hợp nhất , bấm Nhập .

Bước 2 : Khởi tạo Crashlytics

  1. Tạo một tập lệnh C # mới, sau đó thêm nó vào GameObject trong cảnh.

    1. Mở cảnh đầu tiên của bạn, sau đó tạo một GameObject trống có tên là CrashlyticsInitializer .

    2. Bấm Thêm thành phần trong Thanh tra cho đối tượng mới.

    3. Chọn tập lệnh CrashlyticsInit của bạn để thêm nó vào đối tượng CrashlyticsInitializer .

  2. Khởi tạo Crashlytics trong phương thức Start của tập lệnh:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    // Import Firebase
    using Firebase;
    
    public class CrashlyticsInit : MonoBehaviour {
        // Use this for initialization
        void Start () {
            // Initialize Firebase
            Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
                var dependencyStatus = task.Result;
                if (dependencyStatus == Firebase.DependencyStatus.Available)
                {
                    // Create and hold a reference to your FirebaseApp,
                    // where app is a Firebase.FirebaseApp property of your application class.
                    // Crashlytics will use the DefaultInstance, as well;
                    // this ensures that Crashlytics is initialized.
                    Firebase.FirebaseApp app = Firebase.FirebaseApp.DefaultInstance;
    
                    // Set a flag here for indicating that your project is ready to use Firebase.
                }
                else
                {
                    UnityEngine.Debug.LogError(System.String.Format(
                      "Could not resolve all Firebase dependencies: {0}",dependencyStatus));
                    // Firebase Unity SDK is not safe to use here.
                }
            });
        }
    
      // Update is called once per frame
      void Update()
        // ...
    }

Bước 3 : (Chỉ dành cho Android) Thiết lập để tải lên biểu tượng

Các bước trong phần này chỉ bắt buộc đối với các ứng dụng Android sử dụng IL2CPP.

  • Đối với các ứng dụng Android sử dụng chương trình phụ trợ tập lệnh Mono của Unity, các bước này không cần thiết.

  • Đối với các ứng dụng nền tảng của Apple, các bước này không cần thiết vì plugin Firebase Unity Editor sẽ tự động định cấu hình dự án Xcode của bạn để tải lên các ký hiệu.

Unity SDK 8.6.1+ của Crashlytics tự động bao gồm báo cáo sự cố NDK, cho phép Crashlytics tự động báo cáo sự cố Unity IL2CPP trên Android. Tuy nhiên, để xem dấu vết ngăn xếp được tượng trưng cho sự cố thư viện gốc trong trang tổng quan Crashlytics, bạn phải tải lên thông tin ký hiệu tại thời điểm xây dựng bằng cách sử dụng Firebase CLI.

Hoàn thành các bước sau để thiết lập tải lên biểu tượng:

  1. Làm theo hướng dẫn để cài đặt Firebase CLI .

    Nếu bạn đã cài đặt CLI, hãy đảm bảo cập nhật lên phiên bản mới nhất của nó .

  2. (chỉ dành cho các ứng dụng sử dụng API Android cấp 30 trở lên) Cập nhật mẫu AndroidManifest.xml của ứng dụng để tắt Gắn thẻ con trỏ:

    1. Chọn hộp cho Cài đặt trình phát Android> Cài đặt xuất bản> Bản dựng> Tệp kê khai chính tùy chỉnh .

    2. Mở mẫu tệp kê khai tại Assets/Plugins/Android/AndroidManifest.xml .

    3. Thêm thuộc tính sau vào thẻ ứng dụng: <application android:allowNativeHeapPointerTagging="false" ... />

Bước 4 : Xây dựng dự án của bạn và tải lên các biểu tượng

iOS + (nền tảng Apple)

  1. Từ hộp thoại Cài đặt bản dựng , xuất dự án của bạn sang không gian làm việc Xcode.

  2. Xây dựng ứng dụng của bạn.

    Đối với các nền tảng của Apple, plugin Firebase Unity Editor sẽ tự động định cấu hình dự án Xcode của bạn để tạo và tải lên tệp biểu tượng tương thích với Crashlytics lên máy chủ Firebase cho mỗi bản dựng.

Android

  1. Từ hộp thoại Cài đặt bản dựng , hãy thực hiện một trong các thao tác sau:

    • Xuất sang một dự án Android Studio để xây dựng dự án của bạn; hoặc

    • Tạo APK của bạn trực tiếp từ Unity Editor.
      Trước khi xây dựng, hãy đảm bảo rằng hộp kiểm Tạo biểu tượng.zip được chọn trong hộp thoại Cài đặt bản dựng .

  2. Sau khi quá trình xây dựng của bạn hoàn tất, hãy tạo tệp biểu tượng tương thích với Crashlytics và tải tệp đó lên máy chủ Firebase bằng cách chạy lệnh Firebase CLI sau:

    firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
    • FIREBASE_APP_ID : ID ứng dụng Android Firebase của bạn (không phải tên gói của bạn)
      Ví dụ về ID ứng dụng Android Firebase: 1:567383003300:android:17104a2ced0c9b9b

    • PATH/TO/SYMBOLS : Đường dẫn đến tệp ký hiệu được tạo bởi CLI

      • Được xuất sang một dự án Android Studio - PATH/TO/SYMBOLS là thư mục unityLibrary/symbols , được tạo trong thư mục gốc của dự án đã xuất sau khi bạn xây dựng ứng dụng qua Gradle hoặc Android Studio.

      • Đã tạo APK trực tiếp từ bên trong Unity - PATH/TO/SYMBOLS là đường dẫn của tệp ký hiệu nén được tạo trong thư mục gốc của dự án khi quá trình xây dựng của bạn hoàn thành (ví dụ: myproject/myapp-1.0-v100.symbols.zip ).

    Xem các tùy chọn nâng cao để sử dụng lệnh Firebase CLI để tạo và tải lên tệp biểu tượng

    Lá cờ Sự mô tả
    --generator=csym

    Sử dụng trình tạo tệp biểu tượng cSYM kế thừa thay vì trình tạo Breakpad mặc định

    Không được khuyến khích sử dụng. Chúng tôi khuyên bạn nên sử dụng trình tạo tệp biểu tượng Breakpad mặc định.

    --generator=breakpad

    Sử dụng trình tạo tệp biểu tượng Breakpad

    Lưu ý rằng mặc định để tạo tệp biểu tượng là Breakpad. Chỉ sử dụng cờ này nếu bạn đã thêm symbolGenerator { csym() } trong cấu hình bản dựng của mình và bạn muốn ghi đè nó để sử dụng Breakpad thay thế.

    --dry-run

    Tạo các tệp ký hiệu nhưng không tải chúng lên

    Cờ này rất hữu ích nếu bạn muốn kiểm tra nội dung của các tệp được gửi đi.

    --debug Cung cấp thông tin gỡ lỗi bổ sung

Bước 5 : Buộc kiểm tra sự cố để hoàn tất thiết lập

Để hoàn tất quá trình thiết lập Crashlytics và xem dữ liệu ban đầu trong trang tổng quan Crashlytics của bảng điều khiển Firebase, bạn cần thực hiện kiểm tra sự cố.

  1. Tìm một GameObject hiện có, sau đó thêm tập lệnh sau vào đó. Tập lệnh này sẽ gây ra sự cố thử nghiệm vài giây sau khi bạn chạy ứng dụng của mình.

    using System;
    using UnityEngine;
    
    public class CrashlyticsTester : MonoBehaviour {
    
        int updatesBeforeException;
    
        // Use this for initialization
        void Start () {
          updatesBeforeException = 0;
        }
    
        // Update is called once per frame
        void Update()
        {
            // Call the exception-throwing method here so that it's run
            // every frame update
            throwExceptionEvery60Updates();
        }
    
        // A method that tests your Crashlytics implementation by throwing an
        // exception every 60 frame updates. You should see non-fatal errors in the
        // Firebase console a few minutes after running your app with this method.
        void throwExceptionEvery60Updates()
        {
            if (updatesBeforeException > 0)
            {
                updatesBeforeException--;
            }
            else
            {
                // Set the counter to 60 updates
                updatesBeforeException = 60;
    
                // Throw an exception to test your Crashlytics implementation
                throw new System.Exception("test exception please ignore");
            }
        }
    }
    
  2. Xây dựng ứng dụng của bạn và tải lên thông tin biểu tượng sau khi quá trình xây dựng của bạn hoàn thành.

    • iOS + : Plugin Firebase Unity Editor tự động định cấu hình dự án Xcode của bạn để tải lên tệp biểu tượng của bạn.

    • Android : Đối với các ứng dụng Android của bạn sử dụng IL2CPP, hãy chạy lệnh crashlytics:symbols:upload của Firebase CLI để tải lên tệp biểu tượng của bạn.

  3. Chạy ứng dụng của bạn. Khi ứng dụng của bạn đang chạy, hãy xem nhật ký thiết bị và đợi ngoại lệ kích hoạt từ CrashlyticsTester .

    • iOS + : Xem nhật ký trong ngăn dưới cùng của Xcode.

    • Android : Xem nhật ký bằng cách chạy lệnh sau trong terminal: adb logcat .

  4. Khi bạn thấy ngoại lệ trong nhật ký thiết bị của mình, hãy khởi động lại ứng dụng để ứng dụng có thể gửi báo cáo sự cố tới Firebase.

  5. Truy cập trang tổng quan Crashlytics của bảng điều khiển Firebase để xem sự cố thử nghiệm của bạn.

    Nếu bạn đã làm mới bảng điều khiển và bạn vẫn không thấy lỗi kiểm tra sau năm phút, hãy bật ghi nhật ký gỡ lỗi để xem liệu ứng dụng của bạn có đang gửi báo cáo sự cố hay không.


Và đó là nó! Crashlytics hiện đang theo dõi ứng dụng của bạn để tìm sự cố. Truy cập trang tổng quan Crashlytics để xem và điều tra tất cả các báo cáo và thống kê của bạn.

Bước tiếp theo

  • Tích hợp với Google Play để bạn có thể lọc báo cáo sự cố của ứng dụng Android của mình theo Google Play trực tiếp trong trang tổng quan Crashlytics. Điều này cho phép bạn tập trung tốt hơn trang tổng quan của mình vào các bản dựng cụ thể.