【Android】Firebase Authentication で Googleアカウント認証する手順【アプリ開発】

Firebase Authentication Googleアカウント認証する手順をまとめました。

Left Caption
ねじまき
「メールアドレスとパスワード」を使用した認証は、Android Studio の Firebase Assistant に指示されるとおりに実装すれば良いのですが、、、

Googleアカウント認証の手順は Firebase Assistant でフォローされていなかったので、公式ドキュメントベースで実装していきます。

手順としては、以下の通りです。

  1. Android アプリを Firebase プロジェクトに接続する
  2. Google ログインに必要な依存関係を build.gradle に追加する
  3. Firebase コンソールから、アプリの「SHA-1 フィンガープリント」を指定する
  4. Firebase コンソールから、「Google ログイン」を有効にする
  5. アプリにコードを記述する

1. Android アプリを Firebase プロジェクトに接続する

Android Studio の Firebase Assistant を使用して、Android アプリを Firebase プロジェクトに接続します。

なお、まだ Firebase プロジェクトを作成していない場合は、こちらから作成しておきます。

Firebase Assistant は、Android Studio の「Tools」->「Firebase」から起動できます(↓)。

上記画像の赤く囲っている箇所をクリックします。

「Email and password ...」と書いていますが、アプリを Firebase プロジェクトに接続するまでの手順は同じなので、上記アシスタントを使用します。

↑赤く囲っている手順(1, 2)まで完了したら、アシスタントを閉じます。

 

2. Google ログインに必要な依存関係を build.gradle に追加する

アプリレベルの build.gradle (app配下) に、Google ログインを使用するための依存関係を追加します(以下)。

なお、指定するバージョンは、こちらに記載されているものを参照した方がよいと思います。

2019年4月時点では、Google Account Login は 16.0.1 が最新なので、それを指定しました。

 

3. Firebase コンソールから、アプリの「SHA-1 フィンガープリント」を指定する

デバッグ用の SHA-1 フィンガープリントを取得する手順は、こちらに記載されています。

例えば、Macだと、以下のコマンドを打ち込みます。


パスワードを求められたら、「android」がデフォルトのパスワードなのでそれを打ち込みます。

コマンドが成功すると、「証明書のフィンガプリント ... SH1」の部分の文字列をコピーします。

コピーしたフィンガープリントを、Firebase コンソールから当該箇所に打ち込みます。


 

 

4. Firebase コンソールから、「Google ログイン」を有効にする

先ほどと同様に、Firebaseコンソールに移動して設定します。



「プロジェクトのサポートメール」は必須のようなので、入力します。

 

5. アプリにコードを記述する

ここまでで Google アカウント認証を行う設定は完了です。

あとは、アプリに「Google認証用のボタン」を追加して、それがタップされたときの処理を記述していきます。

Google認証用のボタンは、自分で作成しても良いですが、既存の View (SignInButton)を使用すると楽です(詳細はこちら


レイアウトファイルにボタンを追加したら、実際に処理するコードを記述します。(以下はkotlinのコードです)


実際にエミュレータで実行してみました。


任意のGoogleアカウントを選択すると、Googleサインイン画面が閉じて、元の画面に戻ります。

その後、firebaseAuthWithGoogle メソッドが実行され、認証成功時の処理、失敗時の処理に分岐できます。

なお、サインアウトする場合は、以下のコードを実行します。


Firebase と、Googleの両方からサインアウトする形です。

補足

実行の際に、以下のエラーが出た場合は、Firebase の接続設定がうまくいっていない可能性があります。


この場合は、こちらの記事を参考にしてみてください。

スポンサードリンク