Skip to content

Commit b83cad4

Browse files
committed
[FEAT] : remote config alert beta #54
1 parent 67bc751 commit b83cad4

File tree

3 files changed

+24
-23
lines changed

3 files changed

+24
-23
lines changed

buildSrc/src/main/java/Configuration.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ object Configuration {
44
const val TARGET_SDK = 33
55
const val MIN_SDK = 26
66
const val VERSION_CODE = 1
7-
const val VERSION_NAME = "1.0"
7+
const val VERSION_NAME = "1.0.0"
88
}

presentation/build.gradle.kts

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ android {
2626
buildConfigField("String", "CLIENT_ID", Properties().apply {
2727
load(project.rootProject.file("local.properties").inputStream())
2828
}["client.id"].toString())
29+
buildConfigField("String", "VERSION_NAMES", Properties().apply {
30+
load(project.rootProject.file("local.properties").inputStream())
31+
}["versions.name"].toString())
2932
}
3033
release {
3134
isMinifyEnabled = false

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

+20-22
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import androidx.lifecycle.lifecycleScope
1010
import androidx.navigation.NavController
1111
import androidx.navigation.fragment.findNavController
1212
import androidx.navigation.ui.setupWithNavController
13+
import com.velogm.presentation.BuildConfig
1314
import com.google.firebase.ktx.Firebase
1415
import com.google.firebase.remoteconfig.FirebaseRemoteConfig
1516
import com.google.firebase.remoteconfig.ktx.remoteConfig
@@ -36,15 +37,7 @@ class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main
3637
initView()
3738
setupLogoutState()
3839
setUpWithdrawalState()
39-
40-
remoteConfig = Firebase.remoteConfig
41-
42-
val configSettings = remoteConfigSettings {
43-
minimumFetchIntervalInSeconds = 0
44-
}
45-
46-
remoteConfig.setConfigSettingsAsync(configSettings)
47-
40+
setRemoteConfig()
4841
fetchAppVersion()
4942
}
5043

@@ -110,26 +103,31 @@ class MainActivity : BindingActivity<ActivityMainBinding>(R.layout.activity_main
110103

111104
}
112105
}
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")
119106

120-
AlertDialog.Builder(this)
121-
.setTitle("Remote Config")
122-
.setMessage("App version :: $appVersion")
123-
.show()
107+
private fun setRemoteConfig() {
108+
remoteConfig = Firebase.remoteConfig
109+
val configSettings = remoteConfigSettings {
110+
minimumFetchIntervalInSeconds = 1800
111+
}
112+
remoteConfig.setConfigSettingsAsync(configSettings)
113+
}
114+
115+
private fun fetchAppVersion() {
116+
var appVersion = remoteConfig.getString(REMOTE_KEY_APP_VERSION)
124117

125118
remoteConfig.fetchAndActivate()
126119
.addOnCompleteListener {
127120
if (it.isSuccessful) {
128-
Timber.tag("remoteConfig").d("success")
129-
// fetch and activate 성공
121+
if (appVersion.equals(BuildConfig.VERSION_NAMES))
122+
Timber.tag("remoteConfig").d("${BuildConfig.VERSION_NAMES}")
123+
else {
124+
AlertDialog.Builder(this)
125+
.setTitle("Alert Version")
126+
.setMessage("새로운 ${appVersion}이 출시했습니다.")
127+
.show()
128+
}
130129
} else {
131130
Timber.tag("remoteConfig").d("fail")
132-
// fetch and activate 실패
133131
}
134132
}
135133
}

0 commit comments

Comments
 (0)