diff --git a/build.gradle b/build.gradle index 8e41b8e..4cc9a39 100644 --- a/build.gradle +++ b/build.gradle @@ -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' diff --git a/src/main/java/com/example/module_google/login/GoogleLoginService.kt b/src/main/java/com/example/module_google/login/GoogleLoginService.kt index cde87c1..7d70016 100644 --- a/src/main/java/com/example/module_google/login/GoogleLoginService.kt +++ b/src/main/java/com/example/module_google/login/GoogleLoginService.kt @@ -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)) - } - } } } \ No newline at end of file