Зачем нам нужно использовать плагин google-services в BOTTOM для Firebase SDK?

На странице настроек SDK Firebase говорится:

apply plugin: 'com.android.application' android { // ... } dependencies { // ... compile 'com.google.firebase:firebase-core:9.0.2' } // ADD THIS AT THE BOTTOM apply plugin: 'com.google.gms.google-services' 

Почему это? Имеет ли порядок?

Это связано с тем, как плагин помогает управлять зависимостями и порядок событий, которые Gradle использует для создания проекта.

Плагин фактически добавит зависимость от ядра firebase, если его нет в вашем проекте. Он также проверяет версию зависимостей Firebase и Play Services. Однако для того, чтобы он мог сделать все это без конфликтов с другими плагинами, плагин Google Services должен работать против проекта после того, как зависимости проекта уже определены. Таким образом, применение плагина после блока зависимостей (обычно в нижней части файла) делает все это возможным.

Важно помнить, что некоторые проекты могут столкнуться с проблемой конфликта версий, если плагин находится наверху. Вы можете избежать этих проблем, добавив их в нижнюю часть.