Firebase 2.0 – Comment gérer les multiples saveurs (environnements) d'une application Android?

J'ai plusieurs saveurs de mon application. Comment configurer le côté du serveur? Mes noms de paquets sont:

com.example.app (production) com.example.app.staging (mise en scène) com.example.app.fake (faux)

  • Comment puis-je ajouter un fichier image dans l'objet json?
  • Problèmes de navigation et de navigation arrière Android
  • Comment déboguez-vous une erreur d'Android 'aapt failed'
  • Quels outils sont disponibles pour tester JobScheduler?
  • Ajouter de nouveaux éléments en haut de la liste sur Android?
  • Convertir HTML5 en application Android autonome
  • Devrait-il s'agir de 3 projets distincts dans la console FireBase?

  • Impossible d'insérer des contacts Android de manière programmée dans un périphérique Android
  • Comment développer la liste de navigation dans la barre d'action?
  • Drawing Nine Patch to Canvas (Android)
  • Les problèmes de mise à jour de Google Play Developer Console, normal?
  • Redémarrez ADB depuis Android Studio
  • START_STICKY, le service Android avant-plan disparaît sans préavis
  • 2 Solutions collect form web for “Firebase 2.0 – Comment gérer les multiples saveurs (environnements) d'une application Android?”

    En grande partie, cela dépendra de la façon dont vous voulez que votre projet fonctionne. Vous pouvez configurer les trois dans la même console, ou vous pouvez configurer deux ou plusieurs projets différents. L'une ou l'autre option est valide.

    Avantages du même projet:

    • Partagez la même facturation, les quotas, les autorisations et les services (base de données, stockage, FCM, etc.).
    • Environnement qui est le même que la production.

    Avantages de différents projets:

    • Pas de risque d'écraser les données de production ou d'affecter les utilisateurs de la production.

    Si vous utilisez plusieurs projets, vous pouvez profiter du support de types de construction qui vous permettra d'avoir différents fichiers google-services.json pour différentes versions. Si vous utilisez un projet, le même google-services.json fonctionnera pour toutes les variétés.

    Remarque: comme l'indique CodyMace dans les commentaires – n'oubliez pas de télécharger de nouveau le fichier JSON chaque fois que vous ajoutez une application!

    Il existe des choses que vous pouvez faire pour minimiser les risques dans les deux cas (par exemple, dev / stage / prod / keys dans votre base de données, et ont des structures similaires en dessous), mais ce qui est logique pour vous, est en grande partie sur les compromis.

    Si vous commencez simplement, je suggère de commencer par un projet pendant votre développement et, une fois que vous avez lancé, envisagez de déplacer votre environnement de développement vers un projet distinct. La mise en scène pourrait aller dans les deux sens.

    Notez que je n'ai pas encore essayé tout à l'heure, mais je le documentais ici pour ne pas le perdre jusqu'à ce que j'arrive à ça.

    En fait, il n'est pas obligé d'utiliser le plugin gradle, ce qui vous oblige à avoir un projet de base de feu pour tous vos types d'arômes et de construction.

    Ceci est mal documenté, mais on peut trouver un indice en haut de la documentation pour FirebaseApp et un peu plus sur https://firebase.google.com/docs/configure/

    Par ailleurs, initializeApp (Context, FirebaseOptions) initialise l'instance d'application par défaut. Cette méthode devrait être invoquée à partir de l'application. Ceci est également nécessaire s'il est utilisé en dehors du processus principal de l'application.

    Donc, récupérez google-services.json comme d'habitude et mobilesdk_app_id et current_key (sous api_key ), cela devrait être tout ce qu'il faut pour suivre Google Analytics au moins. Avec cette information, exécutez ce qui suit dans la sous-classe Application votre application pour les variantes dont vous avez besoin:

     FirebaseOptions options = new FirebaseOptions.Builder() .setApplicationId("<mobilesdk_app_id>") .setApiKey("<current_key>") .build(); FirebaseApp.initializeApp(this, options); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.