๋ค์ด๋ฐ์ google-services.json ํ์ผ์ ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ์ ์ถ๊ฐ
build.gradle.kts(ํ๋ก์ ํธ ์์ค) ํ์ผ์ ํ๋ฌ๊ทธ์ธ์ ์ข ์ ํญ๋ชฉ์ผ๋ก ์ถ๊ฐํฉ๋๋ค.
id("com.google.gms.google-services") version "4.4.1" apply false
build.gradle.kts(์ฑ ์์ค) ํ์ผ์์ google-services ํ๋ฌ๊ทธ์ธ๊ณผ ์ฑ์์ ์ฌ์ฉํ Firebase SDK๋ฅผ ๋ชจ๋ ์ถ๊ฐํฉ๋๋ค.
id("com.google.gms.google-services")
// ํ์ด์ด๋ฒ ์ด์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ๋ ๋ฒ์ ์๋ ๊ด๋ฆฌ
implementation(platform("com.google.firebase:firebase-bom:32.7.3"))
// ์ ๋๋ฆฌํฑ์ค ๋ชจ๋๋ก ์ฑ์ ์ฌ์ฉ ๋ฐ์ดํฐ ์์ง, ๋ถ์
implementation("com.google.firebase:firebase-analytics")
์ต๋ช
๋ก๊ทธ์ธ/๊ตฌ๊ธ๋ก๊ทธ์ธ ์ข
์์ฑ ์ถ๊ฐ
ktx๋ ์ฝํ๋ฆฐ ํ์ฅ์ ์๋ฏธ
// ํ์ด์ด๋ฒ ์ด์ค์ ๋ค์ํ ์ธ์ฆ ๋ฐฉ๋ฒ(๊ตฌ๊ธ ๋ก๊ทธ์ธ, ์ด๋ฉ์ผ/ํจ์ค์๋, ์ต๋ช
๋ก๊ทธ์ธ ๋ฑ)์ ์ฌ์ฉ
implementation("com.google.firebase:firebase-auth-ktx")
// ๊ตฌ๊ธ ์ธ์ฆ ์๋น์ค ์ฌ์ฉ
implementation("com.google.android.gms:play-services-auth:20.7.0")
class StartFragment : Fragment() {
private lateinit var auth: FirebaseAuth
...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
auth = Firebase.auth
}
์ด ๊ณผ์ ์ด ์์ผ๋ฉด ์๋์ ์๋ฌ๊ฐ ์๊ธด๋ค.
private fun setUpClickListener() {
binding.btnStartTrip.setOnClickListener{
performAnonymousLogin()
}
}
private fun performAnonymousLogin() {
auth.signInAnonymously()
.addOnCompleteListener(activity as Activity) { task ->
if (task.isSuccessful) {
//val user = auth.currentUser
showSnackBar(R.string.login_success)
findNavController().navigate(R.id.action_navigation_start_to_navigation_random_option)
} else {
showSnackBar(R.string.login_fail)
}
}
}
์ง๊ธ์ ์ฌ์ฉ์์ ์ ๋ณด์ ์ ๊ทผํ ํ์๊ฐ ์๊ณ ๋ก๊ทธ์ธ์ ์ฑ๊ณต ์ฌ๋ถ๋ง ์ค์ํ๋ฏ๋ก
val user = auth.currentUser
๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์๋ค.
ํ์ง๋ง ๋ก๊ทธ์ธ ํ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ํ๋ฉด์ ํ์ํ๊ฑฐ๋, ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ถ๊ฐ์ ์ธ ์์
์ ์ํํด์ผํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์ ์ ๋ณด์ ์ ๊ทผํด์ผ ํ๋ค.