JavaScriptを有効にしてください

Firebaseを使ってAndroidでGoogleソーシャルログイン(1/2):gradleの設定

 ·  ☕ 5 分で読めます  ·  ✍️ saiki

ども、saikiです。

みなさんFirebase使ってますか?

私は使ったことなかったんですが調べてみたらめちゃくちゃ便利そうだったので今趣味開発中のアプリで使ってみることにしました。

どうやらFirebaseを使えばサーバーサイドを全く開発しなくて済みそうです。めちゃくちゃすごい。

大体の個人開発アプリがFirebaseだけで済みそうな感じがします。

 

今回のアプリでは画像の保存、画像に関連した情報の保存、ソーシャルログインがやりたかったのですが本記事では手始めにgoogleでのソーシャルログインをやっていこうと思います。

簡単です。

 

目次

対象読者

AndroidとFirebaseでソーシャルログインしたい人

 

手順

以下の記事を参考にさせていただいてます。

https://qiita.com/flatfisher/items/7637f583895c048e6fc5

でもなんか地味にうまくいかなかったりした。

1.FireBaseのアカウントとプロジェクトを作る

プロジェクトを作るところまでは参考記事通りなのですが、デバッグ用の署名証明書のコマンドで早速うまくいきませんでした。

参考記事でもFireBaseの公式でも

keytool -exportcert -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore

のコマンドなんですが、なぜか

keytoolエラー: java.lang.Exception: 1つのコマンドのみ許可されます: -exportcertと-listの両方が指定されました。

と怒られます。-exportcertと-listを別々に叩いてやりましょう。

 

まずはこれ

keytool -exportcert -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore

パスワードは公式の手順に書いてあるのでそれを入れましょう。自分で決めるものではないです。

次にこれ

keytool -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore

結果の出力です。

これのSHA1:の右側をコピペすれば良さげです。

 

2.google-services.jsonをapp直下に入れる

公式の手順を進めていくとgoogle-services.jsonがもらえるのでapp直下におきます。

git管理していいのかはよくわからない。

私はリモートにあげてるので一旦除外しています。ローカルなら気にしなくていいと思います。

 

3.project直下のbuild.gradleの編集

build.gradleに必要な設定を入れていきます。

まずはproject直下のbuild.gradleのclasspathにcom.google.gms:google-servicesを追加します。

buildscript {
    ext.kotlin_version = '1.2.31'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:4.0.1'//ここを追加!!!!
    }
}

バージョンは多分以下サイトの最新を入れとくのがいいんじゃないかと思います。(結構迷った)

com.google.gms:google-servicesのバージョン

https://bintray.com/android/android-tools/com.google.gms.google-services/

4.app直下のbuild.gradle編集

次はapp直下のbuild.gradleを編集します。

dependencies {
    //色々書いてある
  //以下三つを追加
    implementation 'com.google.android.gms:play-services-auth:15.0.1'
    implementation 'com.google.firebase:firebase-core:16.0.0'
    implementation 'com.google.firebase:firebase-auth:16.0.1'

}

//こいつも追加。一番下に書いてねって公式で言われてるので一番下に書いておくのが安全そう
apply plugin: 'com.google.gms.google-services'

三つimplementationと一つのapply pluginを追加します。

古い記事だとimplementationがcompileと書かれていますが最新はimplementationです。warning出ます。

これもそれぞれのバージョンに注意してください。私はこれが間違っていてビルド失敗してました。

以下サイトの最新で問題ないと思います。

com.google.android.gms:play-services-authのバージョン

https://developers.google.com/android/guides/setup

com.google.firebase:firebase-core,com.google.firebase:firebase-authのバージョン

https://firebase.google.com/support/release-notes/android

 

設定は以上です。

これで実装に入れますよ!

まとめ

ということで、なんかところどころ微妙に古かったりしてちょっと引っかかったけどそれを加味しても絶対使ったほうがいいくらいFirebaseはきっと便利だよという話でした。

次回実装編です。

簡単です。

ではまた。

共有

saiki
著者
saiki
Android App Developper