2016-05-26 4 views

risposta

15

In gran parte dipenderà da come si desidera che il progetto funzioni. È possibile impostare tutti e tre nella stessa console oppure è possibile impostare due o più progetti diversi. Qualsiasi opzione è valida.

vantaggi di uno stesso progetto:

  • condividono la stessa fatturazione, quote, autorizzazioni, e servizi (banca dati, archiviazione, ecc FCM).
  • Ambiente uguale alla produzione.

vantaggi di diversi progetti:

  • Nessun rischio di sovrascrivere i dati di produzione o che interessano gli utenti di produzione.

Se si utilizzano più progetti, è possibile sfruttare il supporto build types che vi permetterà di avere diverse google-services.json file per le versioni differenti. Se si utilizza un progetto, lo stesso google-services.json funzionerà per tutte le varietà.

Nota: come dice CodyMace nei commenti, ricordarsi di scaricare nuovamente il file JSON ogni volta che si aggiunge un'app!

Ci sono cose che puoi fare per minimizzare i rischi in entrambi i casi (ad es. Avere dev/stage/prod/keys nel tuo Database, e avere strutture simili sotto), ma ciò che ha senso per te è in gran parte un compromesso.

Se sei appena agli inizi, ti suggerisco di iniziare con un progetto mentre sei in fase di sviluppo e, una volta avviato, considera di spostare il tuo ambiente di sviluppo in un progetto separato. Staging potrebbe andare in entrambi i modi.

+0

nota, sono andato con molteplici nomi dei pacchetti all'interno dello stesso approccio app – ZakTaccardi

+4

Non mi rendevo conto che ogni volta che si aggiunge un nuova "app" in altre parole una versione di "staging" o "debug", crea un file json per te con tutte le app insieme. – CodyMace

+0

Ian Barber: Si prega di citare il commento @ CodyMace nella risposta. È un'informazione significativa. –

1

Nota Non l'ho ancora provato completamente, ma documentandolo qui per non perderlo fino a quando non ci arrivo.

Uno in realtà non è obbligato a utilizzare il plugin gradle, che impone di avere un progetto Firebase per tutti i tuoi gusti e tipi di build.

Questo è scarsamente documentata, ma si può trovare un accenno alla parte superiore della documentazione per FirebaseApp e un po 'più a https://firebase.google.com/docs/configure/

alternativa initializeApp (Context, FirebaseOptions) inizializza l'istanza predefinita app. Questo metodo dovrebbe essere invocato dall'applicazione. Questo è anche necessario se viene utilizzato al di fuori del processo principale dell'applicazione.

Quindi, prendere il google-services.json come al solito e da essa prendere mobilesdk_app_id e current_key (sotto api_key), che dovrebbe essere tutto ciò che serve per il monitoraggio di Google Analytics, almeno. Con queste informazioni eseguire la seguente in Application sottoclasse della tua app per le varianti dove serve:

FirebaseOptions options = new FirebaseOptions.Builder() 
    .setApplicationId("<mobilesdk_app_id>") 
    .setApiKey("<current_key>") 
    .build(); 
FirebaseApp.initializeApp(this, options); 
Problemi correlati