Skip to content

Commit 67bc751

Browse files
committed
[FEAT] : remote config test #54
1 parent 7513ebc commit 67bc751

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

presentation/build.gradle.kts

+2
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,6 @@ dependencies {
9898
implementation(Google.GOOGLE_FIREBASE_ANALYTICS)
9999
implementation(Google.GOOGLE_FIREBASE_MESSAGING)
100100

101+
implementation("com.google.firebase:firebase-config-ktx")
102+
101103
}

presentation/src/main/java/com/velogm/presentation/ui/MainActivity.kt

+44-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.velogm.presentation.ui
22

3+
import android.app.AlertDialog
34
import android.content.Intent
45
import android.os.Bundle
56
import android.view.View
@@ -9,6 +10,10 @@ import androidx.lifecycle.lifecycleScope
910
import androidx.navigation.NavController
1011
import androidx.navigation.fragment.findNavController
1112
import androidx.navigation.ui.setupWithNavController
13+
import com.google.firebase.ktx.Firebase
14+
import com.google.firebase.remoteconfig.FirebaseRemoteConfig
15+
import com.google.firebase.remoteconfig.ktx.remoteConfig
16+
import com.google.firebase.remoteconfig.ktx.remoteConfigSettings
1217
import com.velogm.core_ui.base.BindingActivity
1318
import com.velogm.core_ui.context.longToast
1419
import com.velogm.core_ui.view.UiState
@@ -20,16 +25,27 @@ import com.velogm.presentation.ui.signin.SignInViewModel
2025
import dagger.hilt.android.AndroidEntryPoint
2126
import kotlinx.coroutines.flow.launchIn
2227
import kotlinx.coroutines.flow.onEach
28+
import timber.log.Timber
2329

2430
@AndroidEntryPoint
2531
class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main) {
2632
private val mainViewModel by viewModels<SignInViewModel>()
27-
33+
private lateinit var remoteConfig: FirebaseRemoteConfig
2834
override fun onCreate(savedInstanceState: Bundle?) {
2935
super.onCreate(savedInstanceState)
3036
initView()
3137
setupLogoutState()
3238
setUpWithdrawalState()
39+
40+
remoteConfig = Firebase.remoteConfig
41+
42+
val configSettings = remoteConfigSettings {
43+
minimumFetchIntervalInSeconds = 0
44+
}
45+
46+
remoteConfig.setConfigSettingsAsync(configSettings)
47+
48+
fetchAppVersion()
3349
}
3450

3551
private fun initView() {
@@ -94,4 +110,31 @@ class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main
94110

95111
}
96112
}
113+
private fun fetchAppVersion() {
114+
// val appVersion = remoteConfig[REMOTE_KEY_APP_VERSION].asString()
115+
var appVersion="0.0.0"
116+
Timber.tag("remote config1").d("$appVersion")
117+
appVersion=remoteConfig.getString(REMOTE_KEY_APP_VERSION)
118+
Timber.tag("remote config2").d("$appVersion")
119+
120+
AlertDialog.Builder(this)
121+
.setTitle("Remote Config")
122+
.setMessage("App version :: $appVersion")
123+
.show()
124+
125+
remoteConfig.fetchAndActivate()
126+
.addOnCompleteListener {
127+
if (it.isSuccessful) {
128+
Timber.tag("remoteConfig").d("success")
129+
// fetch and activate 성공
130+
} else {
131+
Timber.tag("remoteConfig").d("fail")
132+
// fetch and activate 실패
133+
}
134+
}
135+
}
136+
137+
companion object {
138+
private const val REMOTE_KEY_APP_VERSION = "app_version"
139+
}
97140
}

0 commit comments

Comments
 (0)