React-native-onesignal: [CRASH] [ANDROID] null ๊ฐœ์ฒด ์ฐธ์กฐ์—์„œ ๊ฐ€์ƒ ๋ฉ”์„œ๋“œ 'boolean android.app.NotificationChannel.isDeleted ()'ํ˜ธ์ถœ ์‹œ๋„

์— ๋งŒ๋“  2021๋…„ 01์›” 23์ผ  ยท  8์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: OneSignal/react-native-onesignal

๊ธฐ์ˆ :

์ผ๋ถ€ ์‚ฌ์šฉ์ž์˜ crashlytics์—์„œ Android์˜ ๋น„์ •์ƒ ์ข…๋ฃŒ๋ฅผ๋ณด๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ
ํŒจํ‚ค์ง€

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

์žฅ์น˜

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

๋ฌธ์ œ ์žฌํ˜„ ๋‹จ๊ณ„ :
ํ‘ธ์‹œ ์•Œ๋ฆผ OneSignal์„๋ฐ›์Šต๋‹ˆ๋‹ค.
๋” ๋งŽ์€ ์ •๋ณด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ธฐํƒ€ ์‚ฌํ•ญ :

์˜ค๋ฅ˜

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

์Šคํƒ ์ถ”์ 

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

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•,
๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ Crashlytics์—์„œ ํ•˜๋ฃจ์— ์•ฝ 218 ๊ฐœ์˜ ๋น„์ •์ƒ ์ข…๋ฃŒ๋ฅผ ๊ฒฝํ—˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ๊ธฐ ๋ธŒ๋žœ๋“œ-Oppo
OS ๋ฒ„์ „-9
์Šคํƒ ์ถ”์ 
com.onesignal.NotificationChannelManager.processChannelList
์น˜๋ช…์ ์ธ ์˜ˆ์™ธ : java.lang.NullPointerException : null ๊ฐœ์ฒด ์ฐธ์กฐ์—์„œ ๊ฐ€์ƒ ๋ฉ”์„œ๋“œ 'boolean android.app.NotificationChannel.isDeleted ()'ํ˜ธ์ถœ ์‹œ๋„

์•„์ง ํ•ด๊ฒฐ์ฑ…์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  8 ๋Œ“๊ธ€

์žˆ์–ด?

์•ˆ๋…•,
์Šคํƒ ์ถ”์ ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

@Jeasmine ์—ฌ๊ธฐ ์—์„œ ์˜ค๋Š”.

ํ‘œ๋ฉด ์ˆ˜์ค€์—์„œ OneSignal ์•Œ๋ฆผ ๊ด€๋ฆฌ์ž๋Š” ์–ด๋Š ์‹œ์ ์—์„œ ์‚ญ์ œ๋˜์–ด null ์ธ ์ฑ„๋„์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์ถ”์ ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ์กฐ๊ธˆ ๋” ํŒŒํ—ค์ณ ์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹ ๊ณ  ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@Jeasmine @rgomezp Native Android SDK com์— ๋Œ€ํ•œ ๋˜ ๋‹ค๋ฅธ ๋ณด๊ณ ์„œ์ž…๋‹ˆ๋‹ค. onesignal : OneSignal : [4.0.0, 4.99.99]
Samsung Galaxy SM-G950F (Android 9)์—์„œ 99 % ์ถฉ๋Œ (์‚ฌ์šฉ์ž 1 ๋ช…๋งŒ ํ•ด๋‹น)
๋ถˆํ–‰ํžˆ๋„ ์žฌํ˜„ ๋‹จ๊ณ„๋ฅผ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

1-๋‚ด ์žฅ์น˜์—์„œ ์•ฑ ๊ทธ๋ฃน์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ํ‘ธ์‹œ๋ฅผ ๋ณด๋‚ด๋ ค๊ณ ํ–ˆ์ง€๋งŒ ์ถฉ๋Œํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
2-android_channel_id๋ฅผ ๋‚ด API ์š”์ฒญ์— ์ €์žฅํ•˜๊ณ , ID๋ฅผ ์‚ญ์ œํ•˜๊ณ , ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
3-android_channel_id ์ด๋ฆ„ ๋ณ€๊ฒฝ ์‹œ๋„, ๋ณ€๊ฒฝ ์—†์Œ

@kperreau @ luan-nvg ์šฐ๋ฆฌ๊ฐ€ ์žฌํ˜„ํ•˜๋Š” ๋ฐ ๋„์›€์„

๋งž์ถค Android ์ฑ„๋„ ID ๋˜๋Š” OneSignal Android ์ฑ„๋„ ID๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š”, ์ €๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์ง€๋งŒ Native Android SDK์—์„œ ์‹คํ–‰๋˜๋Š” ๋‚ด ์•ฑ์€ ์—ฌ๊ธฐ์— ๊ณต๊ฐœ ๋œ ๋ฌธ์ œ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์—์„œ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜์—๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. OneSignal SDK๋Š” 4.0.0์ž…๋‹ˆ๋‹ค.
  2. ๊ธฐ๊ธฐ๋Š” Android 9, Oppo Realme C1, ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ 90 % ๋ฐœ์ƒ, ํ˜„์žฌ 87 ๊ฐœ์˜ ์ด๋ฒคํŠธ ๋ฐœ์ƒ,์ด ์‚ฌ์šฉ์ž ๋งŒ
  3. ๋งค์šฐ ์ž‘์€ ์‚ฌ์šฉ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ์žฌ์ƒ์‚ฐ ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๊ณ  ํ…Œ์ŠคํŠธ ํ•  ์žฅ์น˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  4. ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ์ฝ”๋“œ ๋ถ€๋ถ„์€ ์•ž์—์„œ ์–ธ๊ธ‰ ํ•œ

์ง€๊ธˆ ๋‹น์žฅ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ์žก๊ธฐ ์œ„ํ•ด ํ•  ์ˆ˜์žˆ๋Š” ์ผ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ํฌ๋ž˜์‹œ ๋ฐœ์ƒ์ด ๊ฑฑ์ • ๋˜๋„ค์š” ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

์–ด๋–ค ์†Œ์‹์ด๋ผ๋„? ์ด ์ถฉ๋Œ๋กœ ์ธํ•ด Play ์Šคํ† ์–ด์—์„œ ๋‚˜์œ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
Samsung S8 ์‚ฌ์šฉ์ž (Android 9)๋Š” ์‹œ์ž‘์‹œ ์ฆ‰์‹œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

@ jfishman1 ์‚ฌ์šฉ์ž ์ง€์ • Android ์ฑ„๋„ ID๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•,
๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ Crashlytics์—์„œ ํ•˜๋ฃจ์— ์•ฝ 218 ๊ฐœ์˜ ๋น„์ •์ƒ ์ข…๋ฃŒ๋ฅผ ๊ฒฝํ—˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ๊ธฐ ๋ธŒ๋žœ๋“œ-Oppo
OS ๋ฒ„์ „-9
์Šคํƒ ์ถ”์ 
com.onesignal.NotificationChannelManager.processChannelList
์น˜๋ช…์ ์ธ ์˜ˆ์™ธ : java.lang.NullPointerException : null ๊ฐœ์ฒด ์ฐธ์กฐ์—์„œ ๊ฐ€์ƒ ๋ฉ”์„œ๋“œ 'boolean android.app.NotificationChannel.isDeleted ()'ํ˜ธ์ถœ ์‹œ๋„

์•„์ง ํ•ด๊ฒฐ์ฑ…์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” @rgomezp ,
์•„์ง ์—…๋ฐ์ดํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๊นŒ? ์ด ๋ฌธ์ œ๋กœ ์ธํ•ด ํ˜„์žฌ๊นŒ์ง€ ์•ฝ 2-3k ๊ฐœ์˜ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ๋‚ด Crashlytics ๋ณด๊ณ ์„œ๊ฐ€ ์—‰๋ง์ž…๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์„ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰