React-native-onesignal: [CRASH] [ANDROID] Tentativa de invocar o método virtual 'boolean android.app.NotificationChannel.isDeleted ()' em uma referência de objeto nulo

Criado em 23 jan. 2021  ·  8Comentários  ·  Fonte: OneSignal/react-native-onesignal

Descrição:

Falha no Android relatada por crashlytics de alguns usuários.

Meio Ambiente
Pacotes

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

Dispositivo

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

Etapas para reproduzir o problema:
Receba uma notificação push OneSignal.
Não tenho mais informações.

Algo mais:

Erro

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

Stack Trace

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

Comentários muito úteis

Olá,
Eu tenho o mesmo problema. Um usuário teve cerca de 218 falhas em um único dia no Crashlytics.
Marca do dispositivo - Oppo
Versão OS - 9
Rastreio de pilha-
com.onesignal.NotificationChannelManager.processChannelList
Exceção fatal: java.lang.NullPointerException: tentativa de invocar o método virtual 'boolean android.app.NotificationChannel.isDeleted ()' em uma referência de objeto nulo

Existe alguma solução ainda?

Todos 8 comentários

obteve?

Olá,
Muito obrigado pelo rastreamento de pilha.

@Jeasmine vindo daqui .

De um nível superficial, parece que o OneSignal Notification Manager está rastreando referências a canais que em algum ponto são excluídos e, portanto, são nulos.

Teremos que nos aprofundar um pouco mais nisso.

Obrigado por relatar isso.

@Jeasmine @rgomezp Outro relatório sobre isso no Native Android SDK com. onesignal: OneSignal : [4.0.0, 4.99.99]
99% das falhas no Samsung Galaxy SM-G950F (Android 9) (apenas 1 usuário)
Infelizmente não sei os passos para reproduzir.

1 - Tentei desabilitar um grupo de aplicativos no meu dispositivo e enviar push, mas não travou.
2 - Tentei salvar o android_channel_id para minhas solicitações de API, exclua o id, sem travar
3 - Tentei renomear o android_channel_id, sem alteração

@kperreau @ luan-nvg alguma outra ideia sobre o que você tentou nos ajudar a reproduzir?

Você está usando IDs de canal Android personalizados ou IDs de canal Android OneSignal?

Olá, Eu também tive o mesmo problema, mas meu aplicativo em execução no SDK do Android nativo, nenhum problema aberto aí, então vou comentar aqui. Aqui estão algumas informações sobre o problema que acontece comigo:

  1. OneSignal SDK é 4.0.0
  2. O dispositivo é Android 9, Oppo Realme C1, 90% acontece em segundo plano, atualmente, 87 eventos ocorreram, e apenas este usuário
  3. Não sei como reproduzir, pois é um usuário muito pequeno e não temos o dispositivo para testar
  4. A parte do código que causa o problema é a mesma de @rgomezp mencionada antes

Há algo que eu possa fazer para lidar com isso ou pegá-lo agora? Muito preocupante ver a ocorrência da falha, obrigado

Alguma novidade ? Recebi uma crítica negativa na Play Store por causa dessa falha.
O usuário do Samsung S8 (Android 9) travou instantaneamente na inicialização.

@ jfishman1 Estou usando ids de canais Android personalizados.

Olá,
Eu tenho o mesmo problema. Um usuário teve cerca de 218 falhas em um único dia no Crashlytics.
Marca do dispositivo - Oppo
Versão OS - 9
Rastreio de pilha-
com.onesignal.NotificationChannelManager.processChannelList
Exceção fatal: java.lang.NullPointerException: tentativa de invocar o método virtual 'boolean android.app.NotificationChannel.isDeleted ()' em uma referência de objeto nulo

Existe alguma solução ainda?

Olá @rgomezp ,
Alguma atualização sobre isso ainda? Recebi cerca de 2 a 3 mil falhas até o momento a partir deste problema. Meus relatórios do Crashlytics estão confusos por causa disso. Forneça uma solução.

Esta página foi útil?
0 / 5 - 0 avaliações