🎹

Firebase Android BoM を知らなかったのでメモ

2021/03/26に公開

「Firebase Android Bom」とは

公式リファレンスを参照
https://firebase.google.com/docs/android/learn-more?hl=ja#bom

Firebase Android BoM(部品表)を使用すると、BoMのバージョンという1つのバージョンのみを指定することで、Firebaseライブラリのすべてのバージョンを管理できます。

つまり・・・

Before

    implementation "com.google.firebase:firebase-core:17.4.3"
    implementation "com.google.firebase:firebase-messaging:20.2.1"
    implementation 'com.google.firebase:firebase-crashlytics:17.1.0'

After

    implementation platform('com.google.firebase:firebase-bom:26.6.0')
    implementation "com.google.firebase:firebase-core"
    implementation "com.google.firebase:firebase-messaging"
    implementation "com.google.firebase:firebase-crashlytics"

こう書けるようになります。
※互換性のあるバージョンを内部的に管理しているだけなので、使用時にはこちらでそれぞれどのバージョンが使用されるかを確認する必要があります。

そもそも「BoM」って?

[Bill Of Materials]の略で部品表という意味。AndroidアプリというかGradle的には、
Gradleのver5.0から使用できるようになった、複数ライブラリのバージョン管理方法を指しているとのことです。なるほど。

まとめ

Firebase Android Bomを使用することでFirebaseライブラリ毎のバージョン定義を省くことができてスッキリしました。
また互換性が保証されているため、ライブラリ同士のバージョン差異によるエラーの心配が不要で非常に良いです。
他にも

がBomに対応しているとのこと。積極的に活用していきたいです!

*参考
https://speakerdeck.com/gya/droidkaigi2019
https://satoshun.github.io/2020/02/gradle-bom-android/

Discussion