在 Crashlytics 資訊主頁中取得可讀的當機報告


iOS+ (Apple 平台)

如果 Apple 平台應用程式使用 Crashlytics Unity SDK 8.2.0 以上版本,Firebase Unity 編輯器外掛程式會自動設定 Xcode 專案,上傳符號。下載最新版本。

Android

如果是 Android 應用程式,Crashlytics Unity SDK 8.6.1 以上版本會自動加入 NDK 當機報告,讓 Crashlytics 自動回報 Android 上的 Unity IL2CPP 當機情形。不過,如要在 Crashlytics 資訊主頁中查看原生程式庫當機的符號化堆疊追蹤記錄,您必須在建構時使用 Firebase CLI 上傳符號資訊。

  1. 請務必使用 Crashlytics Unity SDK 8.6.1 以上版本。 下載最新版本。

  2. 設定環境和專案,以便上傳符號:

    1. 按照操作說明安裝 Firebase CLI

      如果已安裝 CLI,請務必更新至最新版本

    2. (僅適用於使用 Android API 級別 30 以上版本的應用程式) 更新應用程式的 AndroidManifest.xml 範本,停用指標標記:

      1. 勾選「Android Player Settings」>「Publishing Settings」>「Build」>「Custom Main Manifest」

      2. 開啟位於 Assets/Plugins/Android/AndroidManifest.xml 的資訊清單範本。

      3. (僅適用於使用 8.8.0 之前 SDK 版本的應用程式) 在應用程式標記中加入下列屬性: <application android:allowNativeHeapPointerTagging="false" ... />

  3. 建構專案並上傳符號。

    每當您建立發布版本或任何要查看符號化堆疊追蹤記錄的版本時,都請完成這些步驟。Firebase

    1. 在「Build Settings」對話方塊中,執行下列任一操作:

      • 匯出至 Android Studio 專案,以便建構專案;或

      • 直接透過 Unity 編輯器建構 APK。
        建構前,請務必在「Build Settings」(建構設定) 對話方塊中,勾選「Create symbols.zip」(建立 symbols.zip) 的核取方塊。

    2. 建構完成後,請產生與 Crashlytics 相容的符號檔案,然後執行下列 Firebase CLI 指令,將檔案上傳至 Firebase 伺服器:

      firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
      • FIREBASE_APP_ID:Firebase Android 應用程式 ID (不是套件名稱)
        Firebase Android 應用程式 ID 範例:1:567383003300:android:17104a2ced0c9b9b

      • PATH/TO/SYMBOLS:CLI 產生的符號檔案路徑

        • 匯出至 Android Studio 專案 - PATH/TO/SYMBOLSunityLibrary/symbols 目錄,在您透過 Gradle 或 Android Studio 建構應用程式後,系統會在匯出的專案根目錄中建立這個目錄。

        • 直接在 Unity 中建構 APK - PATH/TO/SYMBOLS 是建構完成時,在專案根目錄中產生的符號檔案路徑 (例如:myproject/myapp-1.0-v100.symbols.zip)。

      查看使用 Firebase CLI 指令產生及上傳符號檔案的進階選項

      旗標 說明
      --generator=csym

      使用舊版 cSYM 符號檔案產生器,而非預設的 Breakpad 產生器

      不建議使用。建議使用預設的 Breakpad 符號檔產生器。

      --generator=breakpad

      使用 Breakpad 符號檔案產生器

      請注意,符號檔案的預設產生方式為 Breakpad。 只有在您已在建構設定中新增 symbolGenerator { csym() },且想要覆寫該設定以改用 Breakpad 時,才使用這個標記。

      --dry-run

      產生符號檔,但不進行上傳

      如要檢查傳送的檔案內容,這個旗標就非常實用。

      --debug 提供其他偵錯資訊