투케이2K

929. (Android/Java) 파어베이스 크래시 리틱스 Firebase Crashlytics 에러 발생 추적 위한 setUserId 사용자 아이디 값 추가 실시 본문

Android

929. (Android/Java) 파어베이스 크래시 리틱스 Firebase Crashlytics 에러 발생 추적 위한 setUserId 사용자 아이디 값 추가 실시

투케이2K 2025. 1. 5. 10:35

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java / Kotlin

- 개발 툴 : AndroidStudio

- 기술 구분 : Firebase / Crashlytics / Log

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------

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 [전역 변수 선언]
    // -----------------------------------------------------------------------------------------
    private static final String ACTIVITY_NAME = "C_FirebaseCrashlyticsLog";





    /**
     * -----------------------------------------------------------------------------------------
     * 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 [클래스 종료]


// --------------------------------------------------------------------------------------
 

[에러 발생 로그 확인 방법]

 

반응형
Comments