谷歌登陆sdk对接
我的开发环境是eclipse,官网推荐是使用AS,最好是按照官网的方式对接,因为本人是新手,As还没用过,所以,,,
官网文档的地址 https://developers.google.com/identity/sign-in/android/start-integrating
首先下载sdkManager,windows>android SDK manager>Extra...此目的主要是获得android-sdk-folder/extras/google/google_play_services中的lib文件,不过最新的好像只能应用到As上。
下一步获取google-services.json文件
填写信息后点击choose..然后选择google sign-in
选择出包时所用签名,获取sha-1,填写,下载即可。。。里面信息如下
这两条信息很重要。。。
然后接下来按照文档上代码啦。。。
GoogleSignInOptions gso = new GoogleSignInOptions .Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) //.requestIdToken(getString(R.string.server_client_id)) .requestEmail() .build(); mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .build();
如果后端需要加上验证则放开注释的,然后再string.xml中加入server_client_id字段,它的值是webId
登陆接口
public void signIn() { Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); startActivityForResult(signInIntent, RC_SIGN_IN); }
private void handleSignInResult(GoogleSignInResult result){ if(result.isSuccess()){ GoogleSignInAccount acct = result.getSignInAccount(); if(acct!=null){ try { JSONObject joRes = new JSONObject(); joRes.put("Id",acct.getId()); joRes.put("IdToken",acct.getEmail()); Cocos2dxLuaJavaBridge.callLuaGlobalFunctionWithString("platformGoogleLogin", joRes.toString()); } catch (Exception e) { throw new RuntimeException(e); } } }else{ } }
多余的不多说啦,主要的就这些吧。。其他的按照文档即可