android應(yīng)用集成google登錄

集成google登錄之前需要有一下兩點要求,只有具備一下兩點要求才能集成google登錄:

1,android?運行版本4.0及更新版本

2,android?設(shè)備支持谷歌服務(wù)

準(zhǔn)備工作

首先得在谷歌開發(fā)者后臺上面創(chuàng)建一個自己的項目,網(wǎng)址:https://console.developers.google.com

點擊“Credentials”選擇“OAuth?Client?ID”創(chuàng)建一個名為LoginSimpleDemo的項目:


接下來如1所示,選擇“Android?Learn?More”:

上面會出來讓填寫name和SHA-1的地方,在這里如3所示獲取SHA-1的方法是用命令直接獲取,但是我的用命令獲取的時候會出現(xiàn)錯誤,錯誤如下所示:


其實還有另外一種方法獲取,就是在android?studio中獲取(如下圖):

1,選擇android如1

2,選中Gradle?Scripts

3,打開Gradle

4,點擊sync同步按鈕,同步一下

5,雙擊Tasks->android下面的signingReport

6,雙擊之后就會生成SHA-1,在下圖6處

把SHA-1值填上之后,點擊create:


之后Tab選擇“OAuth?agree?screen”,?之后填入你的郵箱還有project名稱,之后點擊“Save”(PS:Project中不能含有g(shù)oogle,否則會報錯):


在下面這個網(wǎng)址中下載google-services.json文件,網(wǎng)址:https://developers.google.com/identity/sign-in/android/start-integrating?authuser=0,?點擊?按鈕“GET?A?CONFIGURATION?FILE”,進入到獲取gson文件的頁面,


分別選中自己創(chuàng)建的app?name和package?name,?然后點擊下面的按鈕:


然后選中sign?in模塊,如下圖,之后點擊按鈕2:


就進入了下載google-services.json文件的頁面了,點擊下載即可,下載下來之后放到你的project下面的app的根目錄下面如下圖:


好了,準(zhǔn)備階段結(jié)束了,是不是感覺還是挺麻煩的,其實只要流程都看明白了,回過頭來梳理其實也沒那么麻煩,下面是真正的集成階段了,其實集成階段很簡單,因為代碼量很少;

集成

首先需創(chuàng)建一個GoogleApiClient對象:

private?GoogleApiClient?mGoogleApiClient;

之后初始化:

GoogleSignInOptions?gso?=?new?GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)

????.requestId()

????.requestProfile()

????.requestEmail()

????.build();

mGoogleApiClient?=?new?GoogleApiClient.Builder(this)

????.enableAutoManage(this,?new?GoogleApiClient.OnConnectionFailedListener(){

????????@Override

????????public?void?onConnectionFailed(@NonNull?ConnectionResult?connectionResult)?{

????????}

????})

????.addApi(Auth.GOOGLE_SIGN_IN_API,?gso)

????.build();

之后就是登錄發(fā)起:

Intent?intent?=?Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);

startActivityForResult(intent,?RC_SIGN_IN);??//RC_SIGN_IN是requestcode

在onActivityResult中攔獲取登錄的回調(diào):

GoogleSignInResult?result?=?Auth.GoogleSignInApi.getSignInResultFromIntent(data);

handleSignInResult(result);

/**

*?Google?plus?登陸回調(diào)

*/

private?void?handleSignInResult(GoogleSignInResult?result)?{

????Log.i(TAG,?"handleSignInResult----"?+?result.isSuccess());

????if?(result.isSuccess())?{

????????GoogleSignInAccount?account?=?result.getSignInAccount();

????????Log.i(TAG,?"id--------"?+?account.getId()?+?"----name----"?+?account.getDisplayName()?+?"---photo--"?+?account.getPhotoUrl());

????}

}

在登錄回調(diào)中可以獲取用戶的google賬號的id,name,photourl等信息,至此整個登錄過程完成。

最后不要忘了加入網(wǎng)絡(luò)訪問的權(quán)限奧~

我寫博客有個習(xí)慣,就是把每一個步驟都盡量講的詳細,因為在我遇到谷歌登錄的時候,搜了一下博客,發(fā)現(xiàn)很多博客寫的都忽略了一些很重要的過程,比如google-services.json等,所以我就決定寫一篇比較詳細的介紹集成google登錄的文章,以方便初次接觸google官方一些東西的接入的習(xí)慣和方式,希望能夠帶給大家一些幫助。

好了,就寫到這吧,希望這篇文章對大家有所幫助。

如要轉(zhuǎn)載,請注明出處,謝謝!

歡迎關(guān)注我的博客園博客,地址是:

https://www.cnblogs.com/zhengjunfei/

同時歡迎大家關(guān)注我的簡書博客,地址是:

https:www.itdecent.cn/u/da06e00edefa

歡迎大家掃描關(guān)注我的微信公眾號,我會定期發(fā)布一些博客,分享一些知識點。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,765評論 25 709
  • H5移動端知識點總結(jié) 閱讀目錄 移動開發(fā)基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,816評論 0 26
  • 昨天在去帝都的火車上,看了一本書《愛的五種能力》,其實主要說的是夫妻相處之道,只看了前面一章節(jié),總結(jié)概括,愛的五種...
    蛻變的林林閱讀 374評論 0 2
  • 以前,我對厭惡的人總是很直接。擺臭臉,不理睬,聯(lián)系方式不是選擇拉黑,而是直接刪除。 現(xiàn)在覺得,自己真傻。那些私人的...
    七不斯閱讀 254評論 0 0
  • 模型 時間效率 區(qū)間原則 紅藍
    粉色星球閱讀 367評論 0 0

友情鏈接更多精彩內(nèi)容