#Molistar:移除google登录相关代码
This commit is contained in:
@@ -4,12 +4,11 @@ android {
|
||||
|
||||
def gak = project.hasProperty("GOOGLE_BILLING_PUBLIC_KEY") ? GOOGLE_BILLING_PUBLIC_KEY :
|
||||
"Define GOOGLE_BILLING_PUBLIC_KEY in gradle.properties. Or './gradlew -PGOOGLE_BILLING_PUBLIC_KEY=gak_value ... taskName'"
|
||||
def gsci = project.hasProperty("GOOGLE_SERVER_CLIENT_ID") ? GOOGLE_SERVER_CLIENT_ID :
|
||||
"Define GOOGLE_SERVER_CLIENT_ID in gradle.properties. Or 'gradle -PGOOGLE_SERVER_CLIENT_ID=gak_value ... taskName'"
|
||||
|
||||
println("GOOGLE_BILLING_PUBLIC_KEY:" + gak)
|
||||
|
||||
defaultConfig {
|
||||
buildConfigField "String", "GOOGLE_BILLING_PUBLIC_KEY", "\"$gak\""
|
||||
buildConfigField "String", "GOOGLE_SERVER_CLIENT_ID", "\"$gsci\""
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,9 +19,6 @@ kapt {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// google登录
|
||||
implementation 'com.google.android.gms:play-services-auth:20.7.0'
|
||||
|
||||
// googleplay内购
|
||||
implementation 'com.google.android.gms:play-services-wallet:19.2.1'
|
||||
implementation 'com.android.billingclient:billing:6.0.1'
|
||||
|
@@ -2,67 +2,19 @@ package com.example.module_google.login
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import com.example.module_base.support.login.ILoginService
|
||||
import com.example.module_base.support.login.LoginSDKException
|
||||
import com.example.module_base.support.login.PlatformInfo
|
||||
import com.example.module_google.BuildConfig
|
||||
import com.google.android.gms.auth.api.signin.GoogleSignIn
|
||||
import com.google.android.gms.auth.api.signin.GoogleSignInClient
|
||||
import com.google.android.gms.auth.api.signin.GoogleSignInOptions
|
||||
import com.google.android.gms.common.api.ApiException
|
||||
import kotlin.random.Random
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/11/22 15:59
|
||||
* Desc:Google登录
|
||||
**/
|
||||
class GoogleLoginService : ILoginService {
|
||||
private val requestCode = Random.nextInt(10000, 20000)
|
||||
|
||||
private var listener: ILoginService.Listener? = null
|
||||
|
||||
private var googleSignInOptions: GoogleSignInOptions =
|
||||
GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
|
||||
.requestEmail()
|
||||
.requestProfile()
|
||||
.requestIdToken(BuildConfig.GOOGLE_SERVER_CLIENT_ID)
|
||||
.build()
|
||||
|
||||
private var googleSignInClient: GoogleSignInClient? = null
|
||||
|
||||
override fun login(activity: Activity, listener: ILoginService.Listener) {
|
||||
this.listener = listener
|
||||
if (this.googleSignInClient == null) {
|
||||
this.googleSignInClient =
|
||||
GoogleSignIn.getClient(activity.applicationContext, googleSignInOptions)
|
||||
}
|
||||
activity.startActivityForResult(
|
||||
googleSignInClient!!.signInIntent,
|
||||
requestCode
|
||||
)
|
||||
}
|
||||
|
||||
override fun logout() {
|
||||
googleSignInClient?.signOut()
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
if (requestCode == this.requestCode) {
|
||||
val task = GoogleSignIn.getSignedInAccountFromIntent(data)
|
||||
try {
|
||||
val account = task.getResult(ApiException::class.java)
|
||||
val info = PlatformInfo(
|
||||
id = account!!.id!!,
|
||||
name = account.displayName,
|
||||
gender = null,
|
||||
avatar = account.photoUrl?.toString()
|
||||
)
|
||||
listener?.onSuccess(info)
|
||||
} catch (e: ApiException) {
|
||||
listener?.onFailure(LoginSDKException(e.statusCode, e))
|
||||
} catch (e: Exception) {
|
||||
listener?.onFailure(LoginSDKException(-100))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user