본문

Firebase 설정 - 02

도입

이번 포스팅에서는 Firebase의 기능들을 설정할 예정이다.
Firebase 기능들 중에
- Analytics
- Crashlytic
- Performance
- TestLab
- Remote Config
- Distribution
- Cloud Messaging
이 정도 기능에 대해 검토하고 적용할 예정이다.


검토

구분 설명 설정 여부
Analytics 유지보수를 위해 무언가를 판단할 때 근거가 될 것
그렇기 때문에 꼭 필요
O
Crashlytic 유지보수를 위해 크래쉬 리포트 필요 O
Performance 로컬 데이터를 사용하기 때문에 크게 필요할 것 같지는 않음 O
TestLab 로컬 데이터가 존재해야 test하는데 의미가 있을 것
그러나 testLab에서 진행하는 디바이스는 로컬 데이터가 없으므로 Skip
Remote Config A/B test를 위해 필요 O
Distribution 테스터가 많지 않아 필요하지는 않지만 이번에 써보자
Cloud Messaging 사용자에게 message를 전달할 기능이 없음, 다음 버전에 고민 X

설정

- Analytics

1
2
3
4
5
val analytics: FirebaseAnalytics by lazy {
    FirebaseAnalytics.getInstance(this)
}
// ...
analytics.setCurrentScreen(activity, screenName, null)
cs

- Crashlytic

1
2
3
Fabric.with(this, Crashlytics())
// ...
Crashlytics.getInstance().crash()
cs

- Performance

1
2
3
4
5
FirebasePerformance.getInstance().newTrace(SAVE_IMAGE_FEATURE)
// ...
imageTrace.start()
// ...
imageTrace.stop()
cs

- Remote Config

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
val remoteConfig = FirebaseRemoteConfig.getInstance().apply {
    setDefaults(R.xml.remote_config_defaults)
}
 
fun fetchRemoteConfig(setConfig: (() -> Unit)? = null) {
    remoteConfig.fetch(0L).addOnCompleteListener {
        if (it.isSuccessful) {
            Log.d(javaClass.simpleName, "remoteConfig is successful")
            remoteConfig.activateFetched()
        } else {
            Log.d(javaClass.simpleName, "remoteConfig is failed")
        }
        setConfig?.invoke()
    }
}
cs


스크린샷

 

 

#앱개발 #모바일앱개발 #어플개발

공유

댓글