Notice
Recent Posts
Recent Comments
Link
투케이2K
152. (TWOK/UTIL) [Android/Java] C_FirebaseCrashlyticsLog : 파이어베이스 크래시 리틱스 로그 설정 관련 유틸 파일 본문
투케이2K 유틸파일
152. (TWOK/UTIL) [Android/Java] C_FirebaseCrashlyticsLog : 파이어베이스 크래시 리틱스 로그 설정 관련 유틸 파일
투케이2K 2025. 1. 5. 10:43[설 명]
프로그램 : Android / Java
설 명 : C_FirebaseCrashlyticsLog : 파이어베이스 크래시 리틱스 로그 설정 관련 유틸 파일
[소스 코드]
package com.example.javaproject.C_Firebase;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import com.example.javaproject.C_Util;
import com.example.javaproject.S_Log;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.google.firebase.crashlytics.FirebaseCrashlytics;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings;
import java.util.HashMap;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observable;
public class C_FirebaseCrashlyticsLog {
/**
* // --------------------------------------------------------------------------------------
* TODO [클래스 설명]
* // --------------------------------------------------------------------------------------
* 1. 파이어베이스 크래시 리틱스 로그 관리 클래스
* // --------------------------------------------------------------------------------------
* 2. 참고 : 사전 파이어베이스 콘솔에서 프로젝트 생성 필요
* // --------------------------------------------------------------------------------------
* 3. 참고 : 파이어베이스 Crashlytics 라이브러리 추가 필요
*
* - implementation(platform("com.google.firebase:firebase-bom:32.3.1"))
* implementation 'com.google.firebase:firebase-crashlytics:18.4.3'
* // --------------------------------------------------------------------------------------
* 4. 참고 : 파이어베이스 공식 사이트
*
* https://firebase.google.com/docs/crashlytics/customize-crash-reports?hl=ko&platform=android#java_3
* // --------------------------------------------------------------------------------------
* */
/**
* // --------------------------------------------------------------------------------------
* TODO [빠른 로직 찾기 : 주석 로직 찾기]
* // --------------------------------------------------------------------------------------
* // [SEARCH FAST] : crashlyticsLog : 파이어베이스 크래시 리틱스 로그 작성 수행
* // --------------------------------------------------------------------------------------
* // [SEARCH FAST] : crashlyticsSetUser : 파이어베이스 크래시 리틱스 로그에서 특정 사용자 식별 수행 값 저장
* // --------------------------------------------------------------------------------------
*
* // --------------------------------------------------------------------------------------
*
* // --------------------------------------------------------------------------------------
*
* // --------------------------------------------------------------------------------------
*/
// -----------------------------------------------------------------------------------------
// TODO [전역 변수 선언]
// -----------------------------------------------------------------------------------------
private static final String ACTIVITY_NAME = "C_FirebaseCrashlyticsLog";
/**
* -----------------------------------------------------------------------------------------
* TODO [SEARCH FAST] : crashlyticsLog : 파이어베이스 크래시 리틱스 로그 작성 수행
* -----------------------------------------------------------------------------------------
* TODO [설명] : 파이어베이스 크래시 리틱스 로그 파일 작성 메소드
*
* 1) 파이어베이스 콘솔에서 앱 사용 중 에러가 발생해 Kill 된 경우 해당 로그를 추적해서 어디에서 다운이 되었는지 확인 수행
* 2) Crashlytics 는 앱의 속도가 느려 지지 않도록 로그의 크기를 64KB로 제한 하고, 세션의 로그 크기가 한도를 초과 하면 이전 로그 항목을 삭제
* -----------------------------------------------------------------------------------------
* TODO [Input] : 인풋 파라미터
*
* @param data : 파이어베이스 크래시 리틱스 로그 쌓기 위한 데이터 (ex : hello)
* -----------------------------------------------------------------------------------------
* TODO [Return] : 리턴 데이터
*
* @return : null
* -----------------------------------------------------------------------------------------
* TODO [History] : 이력 정리 [create , update , delete]
*
* 1) KwonGiHwan : create : 2025-01-04 : 최초 생성 수행
* -----------------------------------------------------------------------------------------
* */
// -----------------------------------------------------------------------------------------
// TODO [호출 방법 소스 코드]
// -----------------------------------------------------------------------------------------
/*
try {
C_FirebaseCrashlyticsLog.crashlyticsLog("A_Intro :: Start");
}
catch (Exception e){
e.printStackTrace();
}
*/
// -----------------------------------------------------------------------------------------
public static void crashlyticsLog(String data){
S_Log._W_(ACTIVITY_NAME + " :: crashlyticsLog :: 파이어베이스 크래시 리틱스 로그 작성 수행", new String[]{String.valueOf(data)});
try {
// [Firebase Set Crash Log]
FirebaseCrashlytics.getInstance().log(data);
}
catch (Exception e){
e.printStackTrace();
}
}
/**
* -----------------------------------------------------------------------------------------
* TODO [SEARCH FAST] : crashlyticsSetUser : 파이어베이스 크래시 리틱스 로그에서 특정 사용자 식별 수행 값 저장
* -----------------------------------------------------------------------------------------
* TODO [설명] : 파이어베이스 크래시 리틱스 로그에서 특정 사용자 식별 수행 값 저장 메소드
*
* 1) 파이어베이스 콘솔에서 앱 사용 중 에러가 발생해 Kill 된 경우 해당 로그를 추적해서 어디에서 다운이 되었는지 확인 수행
* 2) 파이어베이스 콘솔에서 지정한 값으로 사용자 식별 수행
* -----------------------------------------------------------------------------------------
* TODO [Input] : 인풋 파라미터
*
* @param userId : 파이어베이스 크래시 리틱스 로그에서 특정 사용자를 식별하기 위한 값 (ex : twok1234)
* -----------------------------------------------------------------------------------------
* TODO [Return] : 리턴 데이터
*
* @return : null
* -----------------------------------------------------------------------------------------
* TODO [History] : 이력 정리 [create , update , delete]
*
* 1) KwonGiHwan : create : 2025-01-05 : 최초 생성 수행
* -----------------------------------------------------------------------------------------
* */
// -----------------------------------------------------------------------------------------
// TODO [호출 방법 소스 코드]
// -----------------------------------------------------------------------------------------
/*
try {
C_FirebaseCrashlyticsLog.crashlyticsSetUser("TWOK1234");
}
catch (Exception e){
e.printStackTrace();
}
*/
// -----------------------------------------------------------------------------------------
public static void crashlyticsSetUser(String userId){
S_Log._W_(ACTIVITY_NAME + " :: crashlyticsSetUser :: 파이어베이스 크래시 리틱스 로그 특정 사용자 식별 값 저장", new String[]{String.valueOf(userId)});
try {
// [Firebase Set Crash UserId]
FirebaseCrashlytics.getInstance().setUserId(String.valueOf(userId));
}
catch (Exception e){
e.printStackTrace();
}
}
} // TODO [클래스 종료]
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments