19

Seguendo la guida sulla configurazione di Google Analytics in un'app per Android (https://developers.google.com/analytics/devguides/collection/android/v4/), mi chiedo se questo file google-services.json possa essere salvato con sicurezza nel controllo del codice sorgente e inviato a un repository GitHub pubblico o se questo file può contenere credenziali o segreti.google-services.json è riservato?

Non riesco a trovare una risposta definitiva altrove, ma posso vedere che le app di esempio eseguono il commit del file (https://github.com/google/climb-tracker/blob/master/mobile/google-services.json) e altre hanno aggiunto il file al loro .gitignore.

risposta

6

Dovrebbe essere considerato riservato. Il file JSON che viene generato contiene un api_key che è possibile utilizzare per inviare notifiche push.

Se andate alla pagina Credenziali al Google Developer Console, vedrete la chiave nel file JSON elencato sotto API keys

+0

Come si può vedere in [questo post] (https://stackoverflow.com/a/37484053/5861618), la chiave API identifica semplicemente il progetto Firebase sui server di Google. Non è un rischio per la sicurezza che qualcuno lo sappia. –

3

Sì. Almeno il materiale api_key deve essere mantenuto riservato.

Un modo per inserire google-services.json nel repository pubblico e mantenerlo comunque riservato è utilizzare BlackBox.

nel vostro livello di applicazione build.gradle messo un compito copia per esempio defaultConfig come questo:

defaultConfig { 
    ... 
    ... 
    copy { 
     from "../secret/" 
     into "." 
     include "*.json" 
    } 
} 

che copiare il file dalla cartella secret/ al posto giusto.

Ora, per creare la tua app devi eseguire blackbox_edit_start google-services.json.gpg la prima volta che controlli il tuo repository, e dopo ciò sei bravo.

9

Da this post sembra che non ci sia un vero motivo per mantenere questo file al sicuro. I dati saranno comunque nell'APK.

+1

L'APK potrebbe essere decompilato ... – stepheaw