谷歌登录开发者平台注册地址为https://console.firebase.google.com/
点击添加项目
集成FCM不再赘述,可参考以下文章:
老板说:明天来加班写个FCM消息推送功能......_IT实战联盟Lin的博客-CSDN博客_fcm推送
Google FCM 离线推送简明教程 - 简书 (jianshu.com)
集成谷歌登录sdk在app目录下的gradle.build中配置版本
//FCM Google相关
implementation 'com.google.firebase:firebase-messaging:23.0.2'
implementation 'com.google.firebase:firebase-auth:21.0.3'
implementation 'com.google.android.gms:play-services-auth:20.2.0'
FireBase控制台上设置登录提供方
填写邮件地址、项目公开名
在填写前别忘了添加SHA1指纹
不知道SHA1码的参考下面的文章:
AndroidStudio查看签名文件.jks内容证书指纹SHA1_huayf1989的博客-CSDN博客_android studio 查看证书
点击保存后显示如下
代码部分
@Override
protected void initListeners() {
super.initListeners();
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestId()
.requestProfile()
.requestEmail()
.build();
mGoogleSignInClient = GoogleSignIn.getClient(getActivity(), gso);
binding.google.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent signInIntent = mGoogleSignInClient.getSignInIntent();
startActivityForResult(signInIntent, RC_SIGN_IN);
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInClient.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
// The Task returned from this call is always completed, no need to attach
// a listener.
Task task = GoogleSignIn.getSignedInAccountFromIntent(data);
handleSignInResult(task);
}
}
private void handleSignInResult(Task completedTask) {
try {
GoogleSignInAccount account = completedTask.getResult(ApiException.class);
// Signed in successfully, show authenticated UI.
Log.e(TAG, "account--------------->>>" + account.getEmail() + " ," + account.getAccount() + " ," );
String displayName = account.getDisplayName();
String msg = "欢迎"+displayName+", 登录成功!";
ToastUtil.successShortToast(msg);
} catch (ApiException e) {
// The ApiException status code indicates the detailed failure reason.
// Please refer to the GoogleSignInStatusCodes class reference for more information.
Log.e(TAG, "signInResult:failed code=" + e.getStatusCode() + " " + GoogleSignInStatusCodes.getStatusCodeString(e.getStatusCode()));
}
}
完成!
可以去官网参考官方文档:
尝试使用 Android 登录功能 | Google Sign-In for Android | Google Developershttps://developers.google.com/identity/sign-in/android/start



