Android
アンドロイドのGoogleサインイン統合
サーチ…
前書き
このトピックは、Googleログインを統合する方法、アンドロイドアプリを利用する方法に基づいています
あなたのプロジェクトにGoogle Authの統合。 (設定ファイルを取得する)
まずサインインの設定ファイルを取得します
下のリンクを開く
[ https://developers.google.com/identity/sign-in/android/start-integrating] [1 ]
getをクリックすると、設定ファイルが表示されます。
- アプリケーション名とパッケージ名を入力し、サービスの選択と設定をクリックします
- SHA1 Google SIGNINを有効にして設定ファイルを生成する
設定ファイルをダウンロードし、プロジェクトのapp /フォルダに配置します
- 依存関係をプロジェクトレベルのbuild.gradleに追加します。
classpath 'com.google.gms:google-services:3.0.0'
- アプリレベルのbuild.gradleにプラグインを追加します:(下)
apply plugin: 'com.google.gms.google-services'
- この依存関係をアプリケーションの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