最近、Android Studioでアプリ開発を勉強しています。
プッシュ通知を試してみようと思って、Firebaseの設定をgradleに追加しようとしたのですがそこでちょっとした落とし穴があったので記事に残しておきたいと思います。
はまったところ
Firebaseに登録して手順通り進めていくと、以下のような設定画面になります。
アプリを登録して、「google-services.json」をダウンロードしてappフォルダー配下に配置するところまではうまくいきました。
次に、手順3のGradleの設定をするところでやり方が分からなくなりました。
フォーマットが新しいのか設定画面とは異なるフォーマットのgradleファイルだったのでどこに設定を追加したらいいのか分からなくなりました。
ちなみにgradleのバージョンは7.3でした。
見様見真似でそれっぽいところに設定を追加すると「Gradle sync failed: Plugin [id: ‘com.google.gms.google-services’] was not found 」だったり、「Could not find method classpath() for arguments」みたいなエラーが出てgradleの同期に失敗しました。
修正方法
結論からいうと、以下のように修正することでうまくgradleが同期できました。
設定ファイル(rootレベルのbuild.gradle)
// Top-level build file where you can add configuration options common to all sub-
// projects/modules.
plugins {
id 'com.android.application' version '7.2.1' apply false
id 'com.android.library' version '7.2.1' apply false
id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
id 'com.google.gms.google-services' version "4.3.10" apply false //追加
}
task clean(type: Delete) {
delete rootProject.buildDir
}
設定ファイル(app以下のbuild.gradle)
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id "com.google.gms.google-services" //追加
...
dependencies {
...
implementation platform('com.google.firebase:firebase-bom:30.1.0') //追加
implementation 'com.google.firebase:firebase-analytics-ktx' //追加
implementation 'com.google.firebase:firebase-messaging-ktx' //追加
}
}
どうやらclasspathの設定は必要ないようです。
別の方法
ちなみに別の方法としてandoroid studioのメニューのtoolsからFirebaseを選ぶと、アシスタントメニューが出てきます。そこでcloud messagingを選ぶと以下のような画面になります。
ここの②のadd fcm to your appボタンをクリックすると自動的にgradleに設定を反映してくれました。
まとめ
gradle7.3でのFCMの設定方法をまとめました。
おそらく、Firebaseの手順ももう少しすれば最新化されると思いますが、一応メモとしてまとめておこうと思います
コメント