รับรายงานข้อขัดข้องที่อ่านได้ในแดชบอร์ด Crashlytics (Unity)

เลือกแพลตฟอร์ม iOS+ Android Flutter Unity


iOS+ (แพลตฟอร์ม Apple)

สำหรับแอปแพลตฟอร์ม Apple ที่ใช้ Crashlytics Unity SDK 8.2.0 ขึ้นไป ปลั๊กอิน Firebase Unity Editor จะกำหนดค่าโปรเจ็กต์ Xcode ให้โดยอัตโนมัติเพื่ออัปโหลดสัญลักษณ์ ดาวน์โหลดเวอร์ชันล่าสุด

Android

สำหรับแอป Android, Crashlytics Unity SDK 8.6.1 ขึ้นไปจะรวมการรายงานข้อขัดข้องของ NDK โดยอัตโนมัติ ซึ่งช่วยให้ Crashlytics รายงานข้อขัดข้องของ Unity IL2CPP บน Android โดยอัตโนมัติ อย่างไรก็ตาม หากต้องการดูสแต็กเทรซที่มีสัญลักษณ์สำหรับการขัดข้องของไลบรารีแบบเนทีฟในแดชบอร์ด Crashlytics คุณต้องอัปโหลดข้อมูลสัญลักษณ์ในเวลาบิลด์โดยใช้ Firebase CLI

  1. ตรวจสอบว่าคุณใช้ Unity SDK v8.6.1 ของ Crashlytics ขึ้นไป ดาวน์โหลดเวอร์ชันล่าสุด

  2. ตั้งค่าสภาพแวดล้อมและโปรเจ็กต์สำหรับการอัปโหลดสัญลักษณ์โดยทำดังนี้

    1. ทำตามวิธีการเพื่อติดตั้ง Firebase CLI

      หากคุณติดตั้ง CLI แล้ว โปรดอัปเดตเป็นเวอร์ชันล่าสุด

    2. (สำหรับแอปที่ใช้ Android API ระดับ 30 ขึ้นไปเท่านั้น) อัปเดตเทมเพลต AndroidManifest.xml ของแอปเพื่อปิดใช้การติดแท็กพอยเตอร์ โดยทำดังนี้

      1. เลือกช่อง Android Player Settings > Publishing Settings > Build > Custom Main Manifest

      2. เปิดเทมเพลตไฟล์ Manifest ที่ Assets/Plugins/Android/AndroidManifest.xml

      3. (เฉพาะแอปที่ใช้ SDK เวอร์ชันก่อน 8.8.0) เพิ่มแอตทริบิวต์ต่อไปนี้ลงในแท็กแอปพลิเคชัน <application android:allowNativeHeapPointerTagging="false" ... />

  3. สร้างโปรเจ็กต์และอัปโหลดสัญลักษณ์

    ทำตามขั้นตอนเหล่านี้ทุกครั้งที่สร้างบิลด์ที่เผยแพร่หรือบิลด์ใดก็ตามที่คุณต้องการดูสแต็กเทรซที่มีสัญลักษณ์ในแดชบอร์ด Crashlytics

    1. จากกล่องโต้ตอบการตั้งค่าบิลด์ ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้

      • ส่งออกไปยังโปรเจ็กต์ Android Studio เพื่อสร้างโปรเจ็กต์ หรือ

      • สร้าง APK โดยตรงจาก Unity Editor
        ก่อนสร้าง โปรดตรวจสอบว่าได้เลือกช่องทำเครื่องหมายสร้าง symbols.zip ในกล่องโต้ตอบการตั้งค่าบิลด์แล้ว

    2. เมื่อบิลด์เสร็จแล้ว ให้สร้างไฟล์สัญลักษณ์ที่เข้ากันได้กับ Crashlytics และอัปโหลดไปยังเซิร์ฟเวอร์ Firebase โดยเรียกใช้คำสั่ง Firebase CLI ต่อไปนี้

      firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
      • FIREBASE_APP_ID: รหัสแอป Android ใน Firebase (ไม่ใช่ชื่อแพ็กเกจ)
        ตัวอย่างรหัสแอป Android ใน Firebase: 1:567383003300:android:17104a2ced0c9b9b

      • PATH/TO/SYMBOLS: เส้นทางไปยังไฟล์สัญลักษณ์ที่สร้างโดย CLI

        • ส่งออกไปยังโปรเจ็กต์ Android Studio — PATH/TO/SYMBOLS คือไดเรกทอรี unityLibrary/symbols ซึ่งสร้างขึ้นในรูทของโปรเจ็กต์ที่ส่งออกหลังจากที่คุณสร้างแอป ผ่าน Gradle หรือ Android Studio

        • สร้าง APK โดยตรงจากภายใน Unity — PATH/TO/SYMBOLS คือเส้นทางของไฟล์สัญลักษณ์ที่บีบอัดซึ่งสร้างขึ้นในไดเรกทอรีรากของโปรเจ็กต์เมื่อบิลด์เสร็จสิ้น (เช่น myproject/myapp-1.0-v100.symbols.zip)

      ดูตัวเลือกขั้นสูงสำหรับการใช้คำสั่ง CLI Firebase เพื่อสร้างและอัปโหลดไฟล์สัญลักษณ์

      Flag คำอธิบาย
      --generator=csym

      ใช้เครื่องมือสร้างไฟล์สัญลักษณ์ cSYM เดิมแทนเครื่องมือสร้าง Breakpad เริ่มต้น

      ไม่แนะนำให้ใช้ เราขอแนะนำให้ใช้เครื่องมือสร้างไฟล์สัญลักษณ์ Breakpad เริ่มต้น

      --generator=breakpad

      ใช้โปรแกรมสร้างไฟล์สัญลักษณ์ Breakpad

      โปรดทราบว่าค่าเริ่มต้นสำหรับการสร้างไฟล์สัญลักษณ์คือ Breakpad ใช้แฟล็กนี้เฉพาะในกรณีที่คุณเพิ่ม symbolGenerator { csym() } ในการกำหนดค่าบิลด์และต้องการลบล้างเพื่อใช้ Breakpad แทน

      --dry-run

      สร้างไฟล์สัญลักษณ์แต่ไม่อัปโหลด

      แฟล็กนี้มีประโยชน์หากคุณต้องการตรวจสอบเนื้อหาของไฟล์ที่ส่ง

      --debug ให้ข้อมูลการแก้ไขข้อบกพร่องเพิ่มเติม