サーチ…


前書き

このトピックは、Googleログインを統合する方法、アンドロイドアプリを利用する方法に基づいています

あなたのプロジェクトにGoogle Authの統合。 (設定ファイルを取得する)

まずサインインの設定ファイルを取得します

下のリンクを開く

[ https://developers.google.com/identity/sign-in/android/start-integrating] [1 ]

getをクリックすると、設定ファイルが表示されます。

  • アプリケーション名とパッケージ名を入力し、サービスの選択と設定をクリックします
  • SHA1 Google SIGNINを有効にして設定ファイルを生成する

設定ファイルをダウンロードし、プロジェクトのapp /フォルダに配置します

  1. 依存関係をプロジェクトレベルのbuild.gradleに追加します。

classpath 'com.google.gms:google-services:3.0.0'

  1. アプリレベルのbuild.gradleにプラグインを追加します:(下)

apply plugin: 'com.google.gms.google-services'

  1. この依存関係をアプリケーションのgradleファイルに追加する

依存関係{compile 'com.google.android.gms:play-services-auth:9.8.0'}

コード実装Google SignIn

  • ログインアクティビティのonCreateメソッドで、アプリで必要なユーザーデータをリクエストするようにGoogle Sign-Inを設定します。
 GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail()
        .build();
  • Google Sign-In APIと指定したオプションにアクセスできるGoogleApiClientオブジェクトを作成します。
 mGoogleApiClient = new GoogleApiClient.Builder(this)
        .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
        .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
        .build();
  • ユーザーがGoogleのサインインボタンをクリックすると、この機能が呼び出されます。

     private void signIn() {
     Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
     startActivityForResult(signInIntent, RC_SIGN_IN);
    }
    
  • OnActivityResultを実装して応答を取得します。

 @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
    if (requestCode == RC_SIGN_IN) {
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        handleSignInResult(result);
    }
}
  • 最後のステップ結果を処理してユーザーデータを取得する

     private void handleSignInResult(GoogleSignInResult result) {
     Log.d(TAG, "handleSignInResult:" + result.isSuccess());
     if (result.isSuccess()) {
         // Signed in successfully, show authenticated UI.
         GoogleSignInAccount acct = result.getSignInAccount();
         mStatusTextView.setText(getString(R.string.signed_in_fmt, acct.getDisplayName()));
         updateUI(true);
     } else {
         // Signed out, show unauthenticated UI.
         updateUI(false);
     }
    }
    


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow