React-native-onesignal: [CRASH][ANDROID] Tentative d'invocation de la méthode virtuelle 'boolean android.app.NotificationChannel.isDeleted()' sur une référence d'objet null

Créé le 23 janv. 2021  ·  8Commentaires  ·  Source: OneSignal/react-native-onesignal

La description:

Crash sur Android signalé par crashlytics de certains utilisateurs.

Environnement
Paquets

"react": "16.13.1",
"react-native": "0.63.4",
"react-native-onesignal": "^4.0.3",

Appareil

Android: 8
Devices: HUAWEI P10 lite,  Sasmung Galaxy S8

Étapes pour reproduire le problème :
Recevez une notification push OneSignal.
Je n'ai pas plus d'informations.

Rien d'autre:

Erreur

Fatal Exception: java.lang.NullPointerException
Attempt to invoke virtual method 'boolean android.app.NotificationChannel.isDeleted()' on a null object reference

Trace de la pile

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.app.NotificationChannel.isDeleted()' on a null object reference
       at android.os.Parcel.readException(Parcel.java:1960)
       at android.os.Parcel.readException(Parcel.java:1900)
       at android.app.INotificationManager$Stub$Proxy.getNotificationChannels(INotificationManager.java:1618)
       at android.app.NotificationManager.getNotificationChannels(NotificationManager.java:515)
       at com.onesignal.NotificationChannelManager.processChannelList(NotificationChannelManager.java:236)
       at com.onesignal.OneSignal$5.complete(OneSignal.java:970)
       at com.onesignal.OneSignalRemoteParams.processJson(OneSignalRemoteParams.java:205)
       at com.onesignal.OneSignalRemoteParams.access$100(OneSignalRemoteParams.java:12)
       at com.onesignal.OneSignalRemoteParams$1.onSuccess(OneSignalRemoteParams.java:150)
       at com.onesignal.OneSignalRestClient$5.run(OneSignalRestClient.java:269)
       at java.lang.Thread.run(Thread.java:784)
Help Wanted Possible Bug

Commentaire le plus utile

Salut,
J'ai le même problème. Un utilisateur a eu environ 218 plantages en une seule journée dans Crashlytics.
Marque de l'appareil - Oppo
Version du système d'exploitation - 9
Trace de la pile-
com.onesignal.NotificationChannelManager.processChannelList
Exception fatale : java.lang.NullPointerException : essayez d'invoquer la méthode virtuelle 'boolean android.app.NotificationChannel.isDeleted()' sur une référence d'objet null

Existe-t-il encore une solution ?

Tous les 8 commentaires

a obtenu?

Salut,
Merci beaucoup pour la trace de la pile.

@Jeasmine venant d' ici .

D'un point de vue superficiel, il semble que le gestionnaire de notifications OneSignal effectue le suivi des références aux canaux qui, à un moment donné, sont supprimés et sont donc nuls.

Nous devrons creuser un peu plus loin.

Merci d'avoir signalé cela.

@Jeasmine @rgomezp Un autre rapport à ce sujet sur Native Android SDK com. unsignal :UnSignal :[4.0.0, 4.99.99]
99% des plantages sur Samsung Galaxy SM-G950F (Android 9) (1 utilisateur uniquement)
Malheureusement, je ne connais pas les étapes de reproduction.

1 - J'ai essayé de désactiver un groupe d'applications sur mon appareil et d'envoyer un push, mais je n'ai pas planté.
2 - J'ai essayé d'enregistrer l'android_channel_id dans mes requêtes API, supprimer l'identifiant, pas de plantage
3 - J'ai essayé de renommer l'android_channel_id, aucun changement

@kperreau @luan-nvg d'autres idées sur ce que vous avez essayé de nous aider à reproduire ?

Utilisez-vous des identifiants de chaîne Android personnalisés ou des identifiants de chaîne Android OneSignal ?

Bonjour, j'ai également eu le même problème, mais mon application s'exécute sur le SDK Android natif, aucun problème ouvert là-bas, je vais donc commenter ici. Voici quelques informations concernant le problème qui m'arrive :

  1. Le SDK OneSignal est 4.0.0
  2. L'appareil est Android 9, Oppo Realme C1, 90% se produit en arrière-plan, actuellement, 87 événements se sont produits, et seul cet utilisateur
  3. Je ne sais pas reproduire car c'est un tout petit utilisateur, et nous n'avons pas l'appareil pour tester
  4. La partie du code qui cause le problème est la même que @rgomezp mentionné précédemment

Y a-t-il quelque chose que je puisse faire pour le gérer ou l'attraper pour le moment ? Assez inquiétant de voir la survenance du crash, merci

Des nouvelles ? J'ai eu une mauvaise critique sur Play Store à cause de ce crash.
L'utilisateur de Samsung S8 (Android 9) a subi un plantage instantané au démarrage.

@ jfishman1 J'utilise des identifiants de canaux Android personnalisés.

Salut,
J'ai le même problème. Un utilisateur a eu environ 218 plantages en une seule journée dans Crashlytics.
Marque de l'appareil - Oppo
Version du système d'exploitation - 9
Trace de la pile-
com.onesignal.NotificationChannelManager.processChannelList
Exception fatale : java.lang.NullPointerException : essayez d'invoquer la méthode virtuelle 'boolean android.app.NotificationChannel.isDeleted()' sur une référence d'objet null

Existe-t-il encore une solution ?

Salut @rgomezp ,
Une mise à jour à ce sujet pour le moment ? À ce jour, environ 2-3 000 plantages sont liés à ce problème. Mes rapports Crashlytics sont foirés à cause de cela. Veuillez fournir une solution.

Cette page vous a été utile?
0 / 5 - 0 notes