谷歌登陆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{
        }
    }

多余的不多说啦,主要的就这些吧。。其他的按照文档即可

 

 




posted @ 2017-05-08 17:53  Mr_Hippo  阅读(1895)  评论(0编辑  收藏  举报