w sesjach Google I/O 2016, pokazaliśmy duże ulepszenia w kierunku pełnej integracji Firebase. W moich aplikacjach próbuję przeprowadzić migrację do nowych rozwiązań, ale mam kilka pytań. Jednym z nich jest następująca:Jak uruchomić wersję aplikacji do debugowania na "debugującej" bazie danych Firebase
W moim Firebase apps użyłem parametr do zdefiniowania bazy Firebase następująco (Gradle): plik
gradle.properties:
FIREBASE_REF_REL="https://xxxxxxx.firebaseio.com/"
FIREBASE_REF_DEB="https://xxxxxxx-dev.firebaseio.com/"
build.gradle plik:
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
}
To pozwoliło mi uruchomić moje debugowania aplikacji przed debugowania Firebase środowiska, który pomógł mi, aby przetestować zmiany w zasadach datamodel i bezpieczeństwa bez wpływu na str Środowisko tworzenia.
W nowym rozwiązaniu Firebase nie jest to już możliwe ze względu na wygenerowany plik google-services.json
, który zawiera odniesienie do Firebase (jak wyjaśniono tutaj: https://firebase.google.com/support/guides/firebase-android#import_your_project_to_the_new_firebase_console_numbered).
Gdy próbuje odwołać moją bazę danych debugowania otrzymuję następujące rodzaje błędów:
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
Moje pytanie: co to jest poprawny sposób/najlepsze praktyki, aby uruchomić aplikację przeciwko testowej Firebase bazy w nowej sytuacji ?
Dzięki, to rozwiązało mój problem. Skończyło się na użyciu takiej struktury: 'project \ app \ src \ debug \ google-services.json project \ app \ src \ release \ google-services.json' Debugowanie teraz działa w dedykowanej bazie danych Firebase (z debugowanie SHA1), podczas gdy wersja wydania aplikacji działa w produkcyjnej bazie danych Firebase. – Peter
@Peter, jeśli to rozwiązało problem, jak powiedziałeś, proszę oznaczyć go jako prawidłowy. Po prostu dodajesz ten link, by pomóc innym osobom takim jak ja -> [Porządkowanie kompilacji aplikacji na Androida w Firebase] (https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app- builds.html). –
Oto kolejny dobry blogpost: https://medium.com/@Miqubel/multiple-build-types-in-firebase-on-android-6f6715f6dd83#.da7qmrzbx – lukle