1. 程式人生 > >android應用集成google登錄

android應用集成google登錄

pda fda 一個 .get 出現 media isp -i c11

集成google登錄之前需要有一下兩點要求,只有具備一下兩點要求才能集成google登錄: 1,android 運行版本4.0及更新版本 2,android 設備支持谷歌服務 準備工作 首先得在谷歌開發者後臺上面創建一個自己的項目,網址:https://console.developers.google.com , 技術分享圖片 技術分享圖片 點擊“Credentials”選擇“OAuth Client ID”創建一個名為LoginSimpleDemo的項目: 技術分享圖片 技術分享圖片 接下來如1所示,選擇“Android Learn More”: 技術分享圖片
技術分享圖片 上面會出來讓填寫name和SHA-1的地方,在這裏如3所示獲取SHA-1的方法是用命令直接獲取,但是我的用命令獲取的時候會出現錯誤,錯誤如下所示: 技術分享圖片 技術分享圖片 其實還有另外一種方法獲取,就是在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中不能含有google,否則會報錯): 技術分享圖片 技術分享圖片 在下面這個網址中下載google-services.json文件,網址: https://developers.google.com/identity/sign-in/android/start-integrating?authuser=0 , 點擊 按鈕“GET A CONFIGURATION FILE”,進入到獲取gson文件的頁面, 技術分享圖片
技術分享圖片 分別選中自己創建的app name和package name, 然後點擊下面的按鈕: 技術分享圖片 技術分享圖片 然後選中sign in模塊,如下圖,之後點擊按鈕2: 技術分享圖片 技術分享圖片 就進入了下載google-services.json文件的頁面了,點擊下載即可,下載下來之後放到你的project下面的app的根目錄下面如下圖: 技術分享圖片 技術分享圖片 好了,準備階段結束了,是不是感覺還是挺麻煩的,其實只要流程都看明白了,回過頭來梳理其實也沒那麽麻煩,下面是真正的集成階段了,其實集成階段很簡單,因為代碼量很少; 技術分享圖片 集成 首先需創建一個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();

之後就是登錄發起: Intent intent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); startActivityForResult(intent, RC_SIGN_IN); //RC_SIGN_IN是requestcode 在onActivityResult中攔獲取登錄的回調: GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); handleSignInResult(result); 在登錄回調中可以獲取用戶的google賬號的id,name,photourl等信息,至此整個登錄過程完成。

  /**
   * Google plus 登陸回調
   */
  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());
    }
  }

  最後不要忘了加入網絡訪問的權限奧~   我寫博客有個習慣,就是把每一個步驟都盡量講的詳細,因為在我遇到谷歌登錄的時候,搜了一下博客,發現很多博客寫的都忽略了一些很重要的過程,比如google-services.json等,所以我就決定寫一篇比較詳細的介紹集成google登錄的文章,以方便初次接觸google官方一些東西的接入的習慣和方式,希望能夠帶給大家一些幫助。   好了,就寫到這吧,希望這篇文章對大家有所幫助。   如要轉載,請註明出處,謝謝!   歡迎關註我的博客園博客,地址是:   https://www.cnblogs.com/zhengjunfei/

  同時歡迎大家關註我的簡書博客,地址是:

  https:www.jianshu.com/u/da06e00edefa

  歡迎大家掃描關註我的微信公眾號,我會定期發布一些博客,分享一些知識點

  技術分享圖片 技術分享圖片

android應用集成google登錄