รับรายงานข้อขัดข้องที่อ่านได้ในแดชบอร์ด 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 รายงานข้อขัดข้องของ IL2CPP ใน Unity บน Android ได้โดยอัตโนมัติ อย่างไรก็ตาม หากต้องการดู Stack Trace ที่มีการแทนที่ด้วยสัญลักษณ์สำหรับข้อขัดข้องของไลบรารีแบบเนทีฟในแดชบอร์ด Crashlytics คุณต้องอัปโหลดข้อมูลสัญลักษณ์ในเวลาบิลด์โดยใช้ Firebase CLI

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

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

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

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

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

      1. เลือกช่องสำหรับการตั้งค่าโปรแกรมเล่น Android > การตั้งค่าการเผยแพร่ > สร้าง > ไฟล์ 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)

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

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

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

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

      --generator=breakpad

      ใช้เครื่องมือสร้างไฟล์สัญลักษณ์ Breakpad

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

      --dry-run

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

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

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