La description:
Lors de l'appel de OneSignal.init()
dans Android, l'application se bloque avec l'erreur Java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.reactnativeprototype. Make sure to call FirebaseApp.initializeApp(Context) first
Lorsque vous n'appelez pas init et que vous initialisez à l'ancienne dans le build.gradle
l'événement ids
ne se déclenche jamais.
Environnement
SDK : v3.2.3
Étapes pour reproduire le problème :
OneSignal.init()
dans Android. L'application plantera immédiatementEn espérant une solution aussi.. 😔
Même problème
@bighitbiker3 Si vous initialisez l'ancienne méthode - en utilisant build.gradle, vous pouvez appeler OneSignal.configure()
en JS pour que l'événement ids
se déclenche.
En ce qui concerne ce problème FCM particulier, nous allons enquêter, merci pour le signalement
Même l'appel de configure avec l'ancienne initialisation ne déclenche pas l'événement id pour moi
Envoyé de mon iPhone
Le 19 mai 2018, à 11h28, Brad Hesse [email protected] a écrit :
@bighitbiker3 Si vous initialisez l'ancienne méthode - en utilisant build.gradle, vous pouvez appeler OneSignal.configure() dans JS pour que l'événement ids se déclenche.
En ce qui concerne ce problème FCM particulier, nous allons enquêter, merci pour le signalement
-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub ou coupez le fil de discussion.
@ bighitbiker3 la même chose pour moi. J'ai essayé beaucoup de choses et j'ai dû revenir à la version 3.1.4 pour la faire fonctionner à nouveau avec React Navigation (RN 0.55.4).
@Nightsd01 L'erreur que j'obtiens en essayant d'exécuter OneSignal.configure()
pour obtenir les identifiants est You must initialize OneSignal before getting tags! Moving this tag operation to a pending queue.
. Cela vient du SDK Android ici .
J'ai essayé de mettre un délai d'attente pour m'assurer que le code d'initialisation Android est exécuté avant d'appeler quoi que ce soit, mais j'obtiens toujours l'erreur ci-dessus.
J'ai du mal à déboguer à partir de là car je suis assez novice en matière d'importation de bibliothèques externes dans Android et RN 😅.
@ bighitbiker3 Veuillez essayer de mettre à jour vers 3.2.4 du SDK et faites-moi savoir si cela résout votre problème.
Je suis sur la version 3.2.4 et j'obtiens exactement le même message d'erreur lorsque j'appelle OneSignal.init()
J'utilise 3.2.4 et j'ai la même erreur avec Onesignal.init()
Pour l'instant ça marche pour moi :
J'ai mis à jour mon build.gradle
pour utiliser une version plus récente (3.0.1) comme dans : .../examples/RNOneSignal/android/build.gradle
Et également mis à jour mon gradle-wrapper.properties
pour gradle-4.1 comme dans : .../examples/RNOneSignal/android/gradle/wrapper/gradle-wrapper.properties
Après cela, j'ai commencé à avoir des erreurs, puis j'ai changé mon app/build.gradle
:
...
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 qui a fonctionné, merci !
À tous ceux qui ont encore des problèmes avec cela, notez que les instructions de configuration de React Native ont récemment été mises à jour. Cette nouvelle section en particulier est ce qui a fait que tout fonctionnait pour moi sur 3.2.4. J'avais toujours les compileSdkVersion
et buildToolsVersion
définis sur les valeurs par défaut de React Native.
@ramonsenadev Merci beaucoup. Votre solution a fonctionné.
Les quelques étapes supplémentaires que j'ai effectuées après le passage à onesignal v3.2.4 étaient :
compileSdkVersion 26
buildToolsVersion "26.0.1"
targetSdkVersion 26
Assurez-vous également de mettre à jour la version de la bibliothèque de support Android
compiler "com.android. support:appcompat-v7 :26.0.1"
J'ai également dû ajouter la suite au bas de app/build.gradle
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'
}
}
}
}
Merci à l'équipe OneSignal ! Semble être corrigé en 3.2.4. Tout le monde s'il vous plaît consulter le lien dans le commentaire de @jsouza181 . A très bien fonctionné pour moi
Commentaire le plus utile
Pour l'instant ça marche pour moi :
J'ai mis à jour mon
build.gradle
pour utiliser une version plus récente (3.0.1) comme dans : .../examples/RNOneSignal/android/build.gradleEt également mis à jour mon
gradle-wrapper.properties
pour gradle-4.1 comme dans : .../examples/RNOneSignal/android/gradle/wrapper/gradle-wrapper.propertiesAprès cela, j'ai commencé à avoir des erreurs, puis j'ai changé mon
app/build.gradle
: