
Enables seamless Google sign-in integration for apps, simplifying authentication implementation across platforms. Supports credential retrieval, user data access, and sign-out functionality with minimal setup.
ComposeSignWithGoogle is available on mavenCentral().
implementation("io.github.the-best-is-best:compose-google-sigin-in:1.1.0")You can install GoogleSignIn directly using Swift Package Manager (SPM) from:
π GoogleSignIn-iOS on GitHub
AndroidGoogleSignIn.initialization(this)
AndroidKMMCrypto.init("key0")fun MainViewController(): UIViewController {
....
KGoogleSignIn().initialize("com.googleusercontent.apps.204571788770-rhck30jdb0321gosbi07h94s50midf52")
...
return ComposeUIViewController { App() }
} val googleSign = KGoogleSignIn()
Button(onClick = {
scope.launch {
val clientId:String = if(PlatformData().name == "android" ) "608756724133-mj7pg7pcrlvjjdrib1g050vgap51a1s3.apps.googleusercontent.com" else "608756724133-omnidr2brkle3pp9d2s30rd87olvj7d9.apps.googleusercontent.com"
val cred = googleSign.getCredential(clientId)
cred.onSuccess {
Firebase.auth.signInWithCredential(authCredential = GoogleAuthProvider.credential(
idToken = it.idToken, accessToken = it.accessToken))
}
}
}){
Text("Sign in with google")
}
Button(onClick = {
scope.launch {
println("user id is ${googleSign.getUserData()?.userId}")
}
}){
Text("Get user data")
}
Button(onClick = {
scope.launch {
googleSign.signOut()
Firebase.auth.signOut()
}
}){
Text("Logout")
}package io.github.sign_in_with_google
expect class KGoogleSignIn() {
suspend fun getCredential(
clientId: String,
setFilterByAuthorizedAccounts: Boolean = false
): Result<GoogleCredential>
suspend fun getUserData(): UserData?
suspend fun signOut()
}ComposeSignWithGoogle is available on mavenCentral().
implementation("io.github.the-best-is-best:compose-google-sigin-in:1.1.0")You can install GoogleSignIn directly using Swift Package Manager (SPM) from:
π GoogleSignIn-iOS on GitHub
AndroidGoogleSignIn.initialization(this)
AndroidKMMCrypto.init("key0")fun MainViewController(): UIViewController {
....
KGoogleSignIn().initialize("com.googleusercontent.apps.204571788770-rhck30jdb0321gosbi07h94s50midf52")
...
return ComposeUIViewController { App() }
} val googleSign = KGoogleSignIn()
Button(onClick = {
scope.launch {
val clientId:String = if(PlatformData().name == "android" ) "608756724133-mj7pg7pcrlvjjdrib1g050vgap51a1s3.apps.googleusercontent.com" else "608756724133-omnidr2brkle3pp9d2s30rd87olvj7d9.apps.googleusercontent.com"
val cred = googleSign.getCredential(clientId)
cred.onSuccess {
Firebase.auth.signInWithCredential(authCredential = GoogleAuthProvider.credential(
idToken = it.idToken, accessToken = it.accessToken))
}
}
}){
Text("Sign in with google")
}
Button(onClick = {
scope.launch {
println("user id is ${googleSign.getUserData()?.userId}")
}
}){
Text("Get user data")
}
Button(onClick = {
scope.launch {
googleSign.signOut()
Firebase.auth.signOut()
}
}){
Text("Logout")
}package io.github.sign_in_with_google
expect class KGoogleSignIn() {
suspend fun getCredential(
clientId: String,
setFilterByAuthorizedAccounts: Boolean = false
): Result<GoogleCredential>
suspend fun getUserData(): UserData?
suspend fun signOut()
}