Использование облачной службы Firebase при получении ошибки:AppProcessDebugGoogle Service- не найден соответствующий клиент для имени пакета

Я использую Firebase Cloud Messaging для push-уведомлений.

Я выполнил все инструкции официального сайта и успешно добавил все требования. Но я получаю сообщение об ошибке и не могу найти решение.

Моя ошибка:

  Error:Execution failed for task ':app:processInmemoryDebugGoogleServices'.
  > No matching client found for package name 'in.voiceme.app.voiceme.inmemory' 

где я добавил google-service.json см.

Структура моего проекта выглядит как

введите описание изображения здесь

Я уже добавил в зависимости:

   compile 'com.google.firebase:firebase-messaging:9.4.0'
   apply plugin: 'com.google.gms.google-services'

добавлен путь к классу:

   buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        *classpath 'com.android.tools.build:gradle:2.1.3'*

        *classpath 'com.google.gms:google-services:3.0.0'*

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
 }

Основанное на моем приложении Build.Gradle

      apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "in.voiceme.app.voiceme"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    productFlavors {
        inmemory {
            applicationId "in.voiceme.app.voiceme.inmemory"
        }

        live {
            applicationId "in.voiceme.app.voiceme"
        }
     }
   }

    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:24.2.0'
        compile 'com.android.support:design:24.2.0'
        compile 'com.google.firebase:firebase-messaging:9.0.0'
    }
apply plugin: 'com.google.gms.google-services'

Кто-нибудь может дать мне решение об этой ошибке?

2 ответа

Решение

Поскольку в сборке "inmemory" используется другое имя пакета (applicationId), чем у других, вам необходимо изменить google-services.json файл или, возможно, предоставить несколько его копий. Документация для подключаемого модуля Google Services описывает структуру папок для различных типов сборки и разновидностей.

Если вам не нужны разные настройки проекта для типов и вариантов сборки приложений, возможно, можно использовать один файл и добавить запись в client массив в файле. Добавленная запись будет указывать имя пакета in.voiceme.app.voiceme.inmemory, См. Связанный документ для более подробной информации, в частности, в разделе " Обработка файла JSON".

Этот ответ на связанный вопрос также будет полезен.

Я решил эту проблему благодаря @qbix

 for productFlavors 

    inmemory {
        applicationId "in.voiceme.app.voiceme.inmemory"
    }

 Need to create different `google-service.json` using firebase console 
 and copy this json file into `inmemory` package.

я обнаружил, что проблема была в другом pakageName, не найденном google-service.json, файл jak хранит pakageName, когда мы создаем его из консоли Firebase.

provide new `google-service.json` to inmemory package is solution for that issue. thanks again @qbix  
Другие вопросы по тегам