马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- 登录谷歌云后台:谷歌后台地址
- 配置OAuth 2.0 客户端 ID,初始化谷歌登录客户端ID用这里的web客户端ID,同时需要配置Android的客户端ID(对应包名与SHA-1证书)
- 在build.gradle中添加 google(),同时在dependencies依赖添加
- implementation 'com.google.android.gms:play-services-auth:20.2.0'
复制代码
- 初始化谷歌登录,把第二步拷贝的客户端ID配置
- // 初始化谷歌登录
- private void initGoogleSignInClient() {
- GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
- .requestIdToken("你的客户端ID")
- .requestEmail()
- .build();
- // Build a GoogleSignInClient with the options specified by gso.
- mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
- }
复制代码 - cocos调用谷歌登录
- /**
- * google登录
- */
- public static void login() {
- Log.d(TAG, "==>login");
- // 使用GoogleSignIn.getLastSignedInAccount方法为当前登录的用户请求个人资料信息。
- GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(getActivity().getApplicationContext());
- // 不存在则请求登录
- if (account == null) {
- Intent signInIntent = mGoogleSignInClient.getSignInIntent();
- getActivity().startActivityForResult(signInIntent, RC_SIGN_IN);
- } else {
- Log.d(TAG, "account != null " + account.toString());
- onLoginResp(account);
- }
- }
-
复制代码 - 处置惩罚登录数据返回
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if( resultCode != RESULT_OK){
- return;
- }
- if (requestCode == RC_SIGN_IN) {
- Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
- try {
- GoogleSignInAccount account = task.getResult(ApiException.class);
- if (account != null && !account.isExpired()) {
- Log.d(TAG, "onActivityResult != null" + account.toString());
- onLoginResp(account);
- } else {
- Log.w(TAG, "signInResult: null account or expired");
- }
- } catch (ApiException e) {
- Log.w(TAG, "signInResult:failed code=" + e);
- e.printStackTrace();
- }
- }
- }
- // 获取谷歌登录回调
- private static void onLoginResp(GoogleSignInAccount account) {
- // Log.d(TAG, account.toString());
- String token = account.getIdToken();
- String userid = account.getId();
- String nickname = account.getDisplayName();
- String photo = account.getPhotoUrl().toString();
- }
复制代码
- cocos调用谷歌登出
- // 谷歌登出
- public static void singOut(){
- mGoogleSignInClient.signOut().addOnCompleteListener(getActivity(), new OnCompleteListener<Void>() {
- @Override
- public void onComplete(@NonNull Task<Void> task) {
- Log.d(TAG, "==>singOut");
- }
- });
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |