Crashlytics 구현 테스트


비정상 종료로 구현 테스트하기

  1. 기존 GameObject를 찾은 후 다음 스크립트에 추가합니다. 이 스크립트는 앱을 실행하고 몇 초 후에 테스트 비정상 종료를 일으킵니다.

    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 reports 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. 앱을 빌드하고 빌드가 완료되면 기호 정보를 업로드합니다.

    • iOS+: Firebase Unity 편집기 플러그인이 기호 파일을 업로드하도록 Xcode 프로젝트를 자동으로 구성해 줍니다.

    • Android: IL2CPP를 사용하는 Android 앱의 경우 다음을 실행합니다. Firebase CLI crashlytics:symbols:upload 명령어를 사용하여 기호 파일.

  3. 앱을 실행합니다. 앱이 실행되면 기기 로그를 확인하고 CrashlyticsTester에서 예외가 트리거될 때까지 기다립니다.

    • iOS+: Xcode 하단 창에서 로그를 확인합니다.

    • Android: 터미널에서 adb logcat 명령어를 실행하여 로그를 확인합니다.

  4. Crashlytics 대시보드로 이동하여 Firebase 콘솔에서 테스트 비정상 종료를 확인하세요.

Console을 새로고침하고 5분 후에도 테스트 비정상 종료가 표시되지 않으면 디버그 로깅을 사용 설정해 보세요(다음 섹션).

Crashlytics 디버그 로깅 사용 설정

Crashlytics 대시보드에 테스트 비정상 종료가 표시되지 않는 경우 Crashlytics의 디버그 로깅을 사용하면 문제를 추적하는 데 도움이 됩니다.

  1. 앱 초기화에 다음 코드를 추가하여 Firebase의 디버그 로깅을 사용 설정합니다.

    Firebase.FirebaseApp.LogLevel = Firebase.LogLevel.Debug;
  2. 테스트 비정상 종료를 강제로 적용합니다. 이 페이지의 첫 번째 섹션에서 이를 수행하는 방법을 설명합니다.

Firebase의 로그가 보이지 않거나 Crashlytics에서 테스트가 비정상 종료된 경우 5분 후에 Firebase 콘솔의 대시보드에 액세스하려면 Firebase 지원 및 문제를 해결하는 데 도움을 드릴 수 있습니다.

다음 단계