React-native-onesignal: (3.2.3) Android ์•ฑ์ด Java.lang.IllegalStateException๊ณผ ์ถฉ๋Œํ•จ: ๊ธฐ๋ณธ FirebaseApp์ด ์ด ํ”„๋กœ์„ธ์Šค com.{appname}์—์„œ ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. 'init()'์„ ํ˜ธ์ถœํ•  ๋•Œ FirebaseApp.initializeApp(Context)๋ฅผ ๋จผ์ € ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 05์›” 19์ผ  ยท  14์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: OneSignal/react-native-onesignal

์„ค๋ช…:

Android์—์„œ OneSignal.init() ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์•ฑ์ด Java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.reactnativeprototype. Make sure to call FirebaseApp.initializeApp(Context) first ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค.

init๋ฅผ ํ˜ธ์ถœํ•˜์ง€ ์•Š๊ณ  build.gradle ์—์„œ ์ด์ „ ๋ฐฉ์‹์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๋ฉด ids ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ
SDK: v3.2.3

๋ฌธ์ œ ์žฌํ˜„ ๋‹จ๊ณ„:

  1. Android์—์„œ OneSignal.init() ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์ด ์ฆ‰์‹œ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค

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

์ง€๊ธˆ์€ ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ตœ์‹  ๋ฒ„์ „(3.0.1)์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด build.gradle ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. .../examples/RNOneSignal/android/build.gradle

๋˜ํ•œ .../examples/RNOneSignal/android/gradle/wrapper/gradle-wrapper.properties ์™€ ๊ฐ™์ด gradle-4.1์— ๋Œ€ํ•œ gradle-wrapper.properties ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ํ›„ ๋ช‡ ๊ฐ€์ง€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ 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;
    }
}
...

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

ํ•ด๊ฒฐ๋„ ๋ฐ”๋ž๋‹ˆ๋‹ค.. ๐Ÿ˜”

๊ฐ™์€ ๋ฌธ์ œ

@bighitbiker3 build.gradle์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ „ ๋ฐฉ์‹์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๋ฉด JS์—์„œ OneSignal.configure() ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ids ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŠน์ • FCM ๋ฌธ์ œ์— ๋Œ€ํ•ด ์กฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ณด๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด์ „ ์ดˆ๊ธฐํ™”๋กœ ๊ตฌ์„ฑ์„ ํ˜ธ์ถœํ•ด๋„ id ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚ด iPhone์—์„œ ๋ณด๋‚ธ

2018๋…„ 5์›” 19์ผ 11:28์— Brad Hesse [email protected]์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

@bighitbiker3 build.gradle์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ „ ๋ฐฉ์‹์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๊ฒฝ์šฐ JS์—์„œ OneSignal.configure()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ids ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŠน์ • FCM ๋ฌธ์ œ์— ๋Œ€ํ•ด ์กฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ณด๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ๋ณด๊ฑฐ๋‚˜ ์Šค๋ ˆ๋“œ๋ฅผ ์Œ์†Œ๊ฑฐํ•˜์„ธ์š”.

@bighitbiker3 ์ €๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์‹œ๋„๋ฅผ ํ–ˆ๊ณ  React Navigation(RN 0.55.4)๊ณผ ํ•จ๊ป˜ ๋‹ค์‹œ ์ž‘๋™ํ•˜๋ ค๋ฉด 3.1.4 ๋ฒ„์ „์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

@Nightsd01 OneSignal.configure() ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ID๋ฅผ ์–ป์œผ๋ ค๊ณ  ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋Š” You must initialize OneSignal before getting tags! Moving this tag operation to a pending queue. ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Android SDK์—์„œ ๊ฐ€์ ธ์˜จ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

์•„๋ฌด ๊ฒƒ๋„ ํ˜ธ์ถœํ•˜๊ธฐ ์ „์— Android ์ดˆ๊ธฐํ™” ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๊ฐ„ ์ดˆ๊ณผ๋ฅผ ์„ค์ •ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์œ„์˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” Android์™€ RN์—์„œ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ๊ฝค ํฐ ์ดˆ๋ณด์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ๊ธฐ์—์„œ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@bighitbiker3 SDK๋ฅผ 3.2.4๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”.

์ €๋Š” ๋ฒ„์ „ 3.2.4๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๊ณ  OneSignal.init() ํ˜ธ์ถœํ•  ๋•Œ ๋˜‘๊ฐ™์€ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

3.2.4๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๊ณ  Onesignal.init() ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ์€ ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ตœ์‹  ๋ฒ„์ „(3.0.1)์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด build.gradle ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. .../examples/RNOneSignal/android/build.gradle

๋˜ํ•œ .../examples/RNOneSignal/android/gradle/wrapper/gradle-wrapper.properties ์™€ ๊ฐ™์ด gradle-4.1์— ๋Œ€ํ•œ gradle-wrapper.properties ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ํ›„ ๋ช‡ ๊ฐ€์ง€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ 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 ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์—ฌ์ „ํžˆ ์ด๊ฒƒ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•ด React Native ์„ค์ • ์ง€์นจ์ด ์ตœ๊ทผ์— ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ด ์ƒˆ๋กœ์šด ์„น์…˜ ์€ 3.2.4์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์—ฌ์ „ํžˆ compileSdkVersion ๋ฐ buildToolsVersion ๋ฅผ React Native ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

@ramonsenadev ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ์†”๋ฃจ์…˜์ด ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
onesignal v3.2.4๋กœ ์ด๋™ํ•œ ํ›„ ์ˆ˜ํ–‰ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
compileSdk๋ฒ„์ „ 26
buildToolsVersion "26.0.1"
targetSdk๋ฒ„์ „ 26

๋˜ํ•œ Android ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „์„ ์—…๋ฐ์ดํŠธํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
". com.android ์ปดํŒŒ์ผ ์ง€์› : APPCOMPAT-V7์„ : 26.0.1๋ฅผ"

๋˜ํ•œ 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'
            }
        }
    }
}

OneSignal ํŒ€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! 3.2.4์—์„œ ์ˆ˜์ •๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ชจ๋‘ @jsouza181๋‹˜ ์˜ ๋Œ“๊ธ€ ๋งํฌ๋ฅผ ํ™•์ธํ•ด์ฃผ์„ธ์š”. ๋‚˜๋ฅผ ์œ„ํ•ด ์ž˜ ์ผํ–ˆ์Šต๋‹ˆ๋‹ค

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