настроить несколько google-services.Json для разных вкусов в FCM

Я пытаюсь реализовать несколько файлов google-service.json в соответствии с разными вариантами проекта Android. Я пытался использовать код из: https://medium.com/google-cloud/automatic-per-variant-google-services-json-configurations-with-gradle-d3d3e40abc0e

Ниже приведен путь, по которому у меня есть оба файла google-service.json.

app/flavourA/google-services.json
app/flavourB/google-services.json

в приложении/build.gradle

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

    android {
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    flavorDimensions"default"

        productFlavors {
            flavourA {
                buildConfigField("String", "flavored_app_name", "\"flavourA\"")

                buildConfigField("String", "ApplicationId", "\"com.companyname.flavourA\"")
                applicationId 'com.companyname.flavourA'
                dimension "default"
                testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
                versionCode 68
                versionName '3.1.7'
            }
            flavourB{
                versionCode 14
                buildConfigField("String", "flavored_app_name", "\"flavourB\"")

                buildConfigField("String", "ApplicationId", "\"com.companyname.flavourB\"")
                applicationId 'com.companyname.flavourB'
                dimension "default"

                testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
                versionName '1.7.0'
            }
        }

    }


    def appModuleRootFolder = '.'
    def srcDir = 'src'
    def googleServicesJson = 'google-services.json'

    task switchToDebug(type: Copy) {
        def buildType = 'debug'
        description = 'Switches to DEBUG google-services.json'
        from "${srcDir}/${buildType}"
        include "$googleServicesJson"
        into "$appModuleRootFolder"
    }

    task switchToRelease(type: Copy) {
        def buildType = 'release'
        description = 'Switches to RELEASE google-services.json'
        from "${srcDir}/${buildType}/"
        include "$googleServicesJson"
        into "$appModuleRootFolder"
    }

    afterEvaluate {
        flavourA.dependsOn switchToDebug
        flavourB.dependsOn switchToRelease
    }

Ошибка:

ERROR: Could not get unknown property 'flavourA' for project ':app' of type org.gradle.api.Project.

person ios developer    schedule 17.03.2020    source источник


Ответы (1)


Статья, на которую вы ссылаетесь, старая. Некоторое время назад Firebase изменил реализацию поддержки разных вкусов. Теперь Firebase создает только один файл google-services.json, который содержит ссылку на все разновидности.

Вам нужно добавить несколько приложений в один и тот же проект в консоли Firebase, загрузить обновленный google-service.json и вставить в корневую папку.

Следуйте последнему руководству, предоставленному Firebase. Ознакомьтесь с их инструкциями по добавлению различных вариантов:
Добавление приложений в Проект Firebase
Добавьте Firebase в свой проект Android

person omz1990    schedule 18.03.2020