nelle sessioni di Google I/O 2016 sono stati mostrati i grandi miglioramenti verso la piena integrazione di Firebase. Nelle mie app, sto provando a migrare alle nuove soluzioni ma ho diverse domande. Uno di loro è il seguente:Come eseguire la versione dell'app di debug su un database Firebase "debug"
In mie applicazioni Firebase, ho usato un parametro per definire il database Firebase come segue (Gradle):
gradle.properties di file:
FIREBASE_REF_REL="https://xxxxxxx.firebaseio.com/"
FIREBASE_REF_DEB="https://xxxxxxx-dev.firebaseio.com/"
build.gradle File:
buildTypes {
debug {
minifyEnabled false
multiDexEnabled true
it.buildConfigField 'String', 'FIREBASE_ROOT_URL', FIREBASE_REF_DEB
}
release {
minifyEnabled true
useProguard true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
zipAlignEnabled true
it.buildConfigField 'String', 'FIREBASE_ROOT_URL', FIREBASE_REF_REL
}
return true
}
Questo mi ha permesso di eseguire il mio applicazioni di debug nei confronti di un ambiente Firebase di debug, che mi ha aiutato a testare le modifiche nelle regole DataModel e di sicurezza senza compromettere la p ambiente di roduzione.
Nella nuova soluzione Firebase questo non sembra più possibile a causa del file google-services.json
generato che contiene il riferimento Firebase (come spiegato qui: https://firebase.google.com/support/guides/firebase-android#import_your_project_to_the_new_firebase_console_numbered).
Quando si tenta di fare riferimento a mia base di dati di debug ottengo il seguente tipo di errori:
Caused by: com.google.firebase.database.DatabaseException: Invalid URL (https://xxxxxxx-dev.firebaseio.com/) passed to getReference(). URL was expected to match configured Database URL: https://xxxxx.firebaseio.com
La mia domanda: qual è il modo corretto/migliori pratiche per eseguire un app con un database Firebase di prova nella nuova situazione ?
Grazie, questo ha risolto il mio problema. Ho finito per utilizzare una struttura come questa: progetto \ app \ src \ debug \ google-services.json project \ app \ src \ release \ google-services.json' Le build di debug ora funzionano su un database Firebase dedicato (con il debug SHA1) mentre la versione di rilascio dell'app funziona su un database Firebase di produzione. – Peter
@Peter se questo ha risolto il problema, come hai detto, contrassegnalo come corretto. Basta aggiungere questo link per aiutare gli altri come me -> [Organizzare le build di app Android abilitate da Firebase] (https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app- builds.html). –
Ecco un altro blogpost: https://medium.com/@Miqubel/multiple-build-types-in-firebase-on-android-6f6715f6dd83#.da7qmrzbx – lukle