Closed ttauveron closed 5 years ago
La fonctionnalité est intéressante mais j'ai juste un hic concernant le "API Key" de Fabric. Sachant que la clé doit venir d'un compte, ce n'est pas nécessairement recommandé de le stocker dans un repo public. Si tel est le cas, il est mieux d'adopter l'approche du fichier fabric.properties tel qu'énoncé ici:
https://docs.fabric.io/android/fabric/settings/working-in-teams.html
Aussi il est possible de désactiver Fabric lorsque des builds de type "debug" sont utilisés. Dans le pire des cas, si Fabric doit être utilisé en mode debug, Il devrait être possible de mettre des vérifications au niveau de Gradle selon si Fabric devrait être activé ou non.
Plus d'information concernant l'activation conditionnelle de Fabric concernant les "build types" est disponible ici:
La configuration debug peut être intéressante en effet, le problème étant que si l'API key n'est pas renseignée, l'app crash au démarrage.
Le compromis que j'ai fait a été de mettre une API key pour un dummy project, donc une information qui n'est, à priori, pas sensible.
À l'occasion je regarderai la configuration debug, il va aussi falloir mettre à jour les instructions de mise en production, ce qui devrait d'ailleurs les simplifier car on aurait plus besoin de dé-commenter Fabric.
J'ai décidé d'aller un peu plus loin parce que malgré le fait que la désactivation en debug soit bien, il est possible qu'il y ait des personnes voulant utiliser Fabric en debug tout comme toi.
De ce fait, j'ai fait une preuve de concept basé sur ton dernier commit qui permet d'initialiser Fabric si jamais le fichier app/fabric.properties est présent et si les clés existent. Elle est disponible ici.
Le seul hic de cette solution est qu'il faut nécessairement faire des vérifications à chaque fois qu'une instance de Answers est utilisé. (Comme tu l'a fait avec certains fichiers) Je ne l'ai corrigé qu'à une seule place étant donné que je n'ai pas eu d'exception aux autres.
Soit libre de l'utiliser ou de la modifier s'il y a des points à améliorer! :)
Est-ce que tu avais trouvé une solution pour ce cas finalement?
Fermé car l'utilisation de Fabric "Answers" n'est pas considérée pour cette version.
Events added are login events and BaseFrament loading events. Fabric has been uncommented in order to add Answer logging events. In order to prevent setting the official fabric credentials, I added some dummy ones so that the app compile and run without crashing due empty creds.