Unity용 Firebase Crashlytics API 변경사항

Firebase팀은 Unity용 Firebase Crashlytics가 출시됨에 따라 개발자가 Fabric에 의존하는 기능을 Firebase에 제공합니다. 이에 따라 Firebase Crashlytics API를 좀 더 직관적이고 개발자 친화적으로 만드는 사소한 변경사항이 발생합니다.

이미 Fabric Crashlytics SDK를 사용하고 있는 개발자는 Firebase Crashlytics로 업그레이드할 때 코드를 약간 변경해야 할 수도 있습니다. 이 가이드에서는 API에 대한 구체적인 변경사항, 변경을 실시한 이유, 해결 방법이 필요한 경우 도움이 될 만한 제안사항에 대해 자세히 설명합니다.

Fabric.Crashlytics가 Firebase.Crashlytics로 변경됨

네임스페이스를 Fabric에서 Firebase로 변경했습니다.

Fabric

using Fabric.Crashlytics;

Firebase

using Firebase.Crashlytics;

RecordCustomException이 LogException으로 변경됨

확인 및 처리된 심각하지 않은 맞춤 예외를 로깅합니다.

Fabric

Crashlytics.RecordCustomException(string name, string reason, StackTrace stackTrace);
Crashlytics.RecordCustomException(string name, string reason, string stackTraceString);

Firebase

Crashlytics.LogException(Exception ex);

변경 사유

이 함수는 Exception의 인스턴스를 로깅하는 데 가장 자주 사용됩니다. 이제 'name', 'reason', 'stackTrace'를 수동으로 추출하여 불필요한 코드를 만들 필요 없이 Exception의 인스턴스를 제공하여 Firebase Crashlytics에서 필요한 정보를 추출할 수 있습니다.

해결 방법

예외에서 정보를 직접 추출하지 않고 다른 방식으로 이러한 매개변수를 사용하는 경우에는 매개변수 설명의 맞춤 메타데이터가 있는 고유한 Exception 하위 클래스를 만들어 이전 동작을 수행할 수 있습니다.

SetKeyValue가 SetCustomKey로 변경됨

오류 보고서와 함께 전송할 모든 키/값 쌍을 설정합니다. 같은 키를 재설정하면 값이 업데이트됩니다.

Fabric

Crashlytics.SetKeyValue(string key, string value);

Firebase

Crashlytics.SetCustomKey(string key, string value);

변경 사유

이 메소드의 이름은 동작을 보다 명확하게 나타내고 다른 Firebase API와의 일관성 향상을 위해 변경됩니다.

SetUserIdentifier가 SetUserId로 변경됨

비정상 종료가 발생한 사용자를 파악할 수 있도록 사용자 식별자를 설정합니다.

Fabric

Crashlytics.SetUserIdentifier(string identifier);

Firebase

Crashlytics.SetUserId(string identifier);

변경 사유

이 메소드 이름은 다른 Firebase API와의 일관성 향상을 위해 변경됩니다. 또한 이름이 짧아져 키 입력이 편리합니다.

SetUserEmail 및 SetUserName 삭제

전에는 명시적인 메소드를 사용하여 비정상 종료와 관련된 이름이나 이메일을 설정했지만 더 이상 명시적으로 정의하지 않습니다.

Fabric

Crashlytics.SetUserEmail(string email);
Crashlytics.SetUserName(string name);

변경 사유

Google은 고객 데이터를 보호하기 위해 노력하고 있으며 그러한 노력의 일환으로 개발자 도구에도 동일한 기능을 하는 API를 설계하고 있습니다. 이러한 사용자별 API는 비정상 종료의 영향을 받은 사용자를 파악하기 위해 생성된 개인 식별이 불가능한 메소드의 사용을 장려하기 위해 삭제되었습니다.

해결 방법

비정상 종료가 발생한 사용자를 지정하려면 SetUserId 메소드를 사용하는 것이 좋습니다. 하지만 이 메소드가 유지 가능한 솔루션이 아니라면 SetCustomKey를 사용하여 동일한 기능을 수행할 수 있습니다.

Crash 및 ThrowNonFatal 삭제

이전에는 Crashlytics에서 테스트 목적으로 예외가 발생하는 두 유틸리티 메소드를 제공했지만 Firebase Crashlytics에는 포함되지 않습니다.

Fabric

Crashlytics.Crash();
Crashlytics.ThrowNonFatal();

변경 사유

Unity용 Crashlytics는 다양한 환경에서 실행되며 여러 종류의 비정상 종료가 발생할 수 있습니다. 하지만 이러한 메소드는 비정상 종료가 C#에서 발생했는지 아니면 기본 플랫폼별 네이티브 SDK에서 발생했는지를 명확하게 나타내지 않았습니다.

해결 방법

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.