UPDATE: Die folgende Erklärung bezieht sich auf ein Android Studio-Projekt mit einem Firebase-Projekt und verschiedenen Firebase-Apps in diesem Projekt. Wenn das Ziel darin besteht, unterschiedliche JSON-Dateien für unterschiedliche Firebase-Apps in unterschiedlichen Firebase-Projekten innerhalb desselben Android Studio-Projekts zu haben (oder wenn Sie nicht wissen, was der Unterschied ist), klicken Sie hier. .
Sie benötigen eine Firebase-App pro Android-Anwendungs-ID (normalerweise Paketname). Es ist üblich, eine Anwendungs-ID pro Gradle-Build-Variante zu haben (dies ist wahrscheinlich, wenn Sie Gradle-Build-Typen und Gradle-Build-Varianten verwenden).
Ab Google Services 3.0 und unter Verwendung von Firebase ist es nicht erforderlich, unterschiedliche Dateien für unterschiedliche Varianten zu erstellen. Das Erstellen verschiedener Dateien für verschiedene Geschmacksrichtungen kann nicht klar oder unkompliziert sein, wenn Sie ProductFlavours- und Build-Typen haben, die miteinander komponieren.
In derselben Datei finden Sie alle Konfigurationen, die Sie für alle Build-Typen und -Varianten benötigen.
In der Firebase-Konsole müssen Sie eine App pro Paketnamen hinzufügen. Stellen Sie sich vor, Sie haben 2 Varianten (dev und live) und 2 Build-Typen (Debug und Release). Abhängig von Ihrer Konfiguration, aber es ist wahrscheinlich, dass Sie 4 verschiedene Paketnamen haben wie:
- com.stackoverflow.example (Live - Release)
- com.stackoverflow.example.dev (live - dev)
- com.stackoverflow.example.debug (Debug - Release)
- com.stackoverflow.example.dev.debug (debug - dev)
Sie benötigen 4 verschiedene Android Apps in der Firebase-Konsole. (Auf jedem müssen Sie den SHA-1 zum Debuggen hinzufügen und für jeden Computer, den Sie verwenden, live sein.)
Wenn Sie die Datei google-services.json herunterladen, spielt es eigentlich keine Rolle, von welcher App Sie sie herunterladen. Alle enthalten dieselben Informationen zu allen Ihren Apps.
Jetzt müssen Sie diese Datei auf App-Ebene (app /) suchen.
Wenn Sie diese Datei öffnen, sehen Sie, dass sie alle Informationen für alle Ihre Paketnamen enthält.
Ein Schmerzpunkt ist das Plugin. Damit es funktioniert, müssen Sie das Plugin am Ende Ihrer Datei suchen. Also diese Zeile ..
apply plugin: 'com.google.gms.google-services'
... muss sich am Ende Ihrer App build.gradle-Datei befinden.
Für die meisten der hier genannten gilt dies auch für frühere Versionen. Ich hatte noch nie verschiedene Dateien für verschiedene Konfigurationen, aber jetzt ist die Firebase-Konsole einfacher, da sie eine einzige Datei mit allem bietet, was Sie für alle Konfigurationen benötigen.