Beschreibung:
Beim Aufruf von OneSignal.init()
in Android stürzt die App mit dem Fehler Java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.reactnativeprototype. Make sure to call FirebaseApp.initializeApp(Context) first
Wenn init nicht aufgerufen und wie gewohnt in build.gradle
initialisiert wird, wird das ids
Ereignis nie ausgelöst.
Umfeld
SDK: v3.2.3
Schritte zum Reproduzieren des Problems:
OneSignal.init()
in Android. App stürzt sofort abHoffe auch auf eine Lösung..
Gleicher Fehler
@bighitbiker3 Wenn Sie auf die alte Weise initialisieren - mit build.gradle, können Sie OneSignal.configure()
in JS aufrufen, um das Ereignis ids
auszulösen.
Was dieses spezielle FCM-Problem angeht, werden wir es untersuchen, danke für die Meldung
Selbst der Aufruf von configure mit der alten Initialisierung löst bei mir das id-Ereignis nicht aus
von meinem Iphone gesendet
Am 19. Mai 2018 um 11:28 Uhr schrieb Brad Hesse
@bighitbiker3 Wenn Sie auf die alte Weise initialisieren - mit build.gradle, können Sie OneSignal.configure() in JS aufrufen, um das ids-Ereignis auszulösen.
Was dieses spezielle FCM-Problem angeht, werden wir es untersuchen, danke für die Meldung
—
Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder schalten Sie den Thread stumm.
@bighitbiker3 das gleiche für mich. Ich habe viele Dinge ausprobiert und musste auf die Version 3.1.4 downgraden, damit es zusammen mit React Navigation (RN 0.55.4) wieder funktioniert.
@Nightsd01 Der Fehler, den ich bekomme, wenn ich versuche, OneSignal.configure()
auszuführen, um die IDs abzurufen, ist You must initialize OneSignal before getting tags! Moving this tag operation to a pending queue.
. Dies kommt aus dem Android SDK hier .
Ich habe versucht, es in ein Timeout zu setzen, um sicherzustellen, dass der Android-Init-Code ausgeführt wird, bevor ich etwas aufrufe, aber immer noch den obigen Fehler erhalte.
Es fällt mir schwer, von dort aus zu debuggen, weil ich ein ziemlich großer Neuling bin, wenn es um das Importieren externer Bibliotheken in Android und RN geht 😅.
@bighitbiker3 Bitte versuchen Sie, auf 3.2.4 des SDK zu aktualisieren, und lassen Sie mich wissen, ob Ihr Problem damit
Ich verwende Version 3.2.4 und erhalte genau dieselbe Fehlermeldung, wenn ich OneSignal.init()
Ich verwende 3.2.4 und habe den gleichen Fehler mit Onesignal.init()
Bei mir funktioniert es momentan:
Ich habe mein build.gradle
aktualisiert, um eine neuere Version (3.0.1) zu verwenden, wie in: .../examples/RNOneSignal/android/build.gradle
Und auch mein gradle-wrapper.properties
für gradle-4.1 aktualisiert, wie in: .../examples/RNOneSignal/android/gradle/wrapper/gradle-wrapper.properties
Danach habe ich einige Fehler bekommen, dann habe ich mein app/build.gradle
geändert:
...
dependencies {
...
compile (project(':react-native-onesignal')){
exclude group: "com.google.android.gms"
}
compile ("com.google.android.gms:play-services-base:12.0.1") {
force = true;
}
}
...
@ramonsenadev das hat funktioniert, danke!
Für alle, die immer noch Probleme damit haben, beachten Sie, dass die React Native-Setup-Anweisungen kürzlich aktualisiert wurden. Vor allem dieser neue Abschnitt hat bei mir alles zum Laufen gebracht 3.2.4. Ich hatte immer noch compileSdkVersion
und buildToolsVersion
auf die Standardeinstellungen von React Native gesetzt.
@ramonsenadev Vielen Dank. Deine Lösung hat funktioniert.
Einige weitere Schritte, die ich nach dem Wechsel zu onesignal v3.2.4 gemacht habe, waren:
compilierenSdkVersion 26
buildToolsVersion "26.0.1"
targetSdkVersion 26
Stellen Sie außerdem sicher, dass Sie die Version der Android-Supportbibliothek aktualisieren
Kompilieren Sie "com.android. support:appcompat-v7 :26.0.1"
Ich musste auch Folgendes am Ende von app/build.gradle hinzufügen
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.0.1'
}
}
}
}
Danke OneSignal-Team! Scheint in 3.2.4 behoben zu sein. Bitte schaut euch alle den Link im Kommentar von
Hilfreichster Kommentar
Bei mir funktioniert es momentan:
Ich habe mein
build.gradle
aktualisiert, um eine neuere Version (3.0.1) zu verwenden, wie in: .../examples/RNOneSignal/android/build.gradleUnd auch mein
gradle-wrapper.properties
für gradle-4.1 aktualisiert, wie in: .../examples/RNOneSignal/android/gradle/wrapper/gradle-wrapper.propertiesDanach habe ich einige Fehler bekommen, dann habe ich mein
app/build.gradle
geändert: