React-native-onesignal: Android ํ…Œ์ŠคํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์–ด์…ˆ๋ธ”ํ•  ๋•Œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ณ‘ํ•ฉ ์‹คํŒจ

์— ๋งŒ๋“  2019๋…„ 06์›” 12์ผ  ยท  15์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: OneSignal/react-native-onesignal

๊ธฐ์ˆ 

./gradlew assembleAndroidTest ์‚ฌ์šฉํ•˜์—ฌ Android ํ…Œ์ŠคํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์–ด์…ˆ๋ธ” ํ•  ๋•Œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ณ‘ํ•ฉ์ด ์‹คํŒจํ•˜๊ณ  ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

> Task :react-native-onesignal:processDebugAndroidTestManifest FAILED
/โ€ฆ/react-native-onesignal/examples/RNOneSignal/node_modules/react-native-onesignal/android/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger8422387923641009676.xml Error:
        Attribute meta-data#onesignal_app_id<strong i="9">@value</strong> at manifestMerger8422387923641009676.xml requires a placeholder substitution but no value for <onesignal_app_id> is provided.
/โ€ฆ/react-native-onesignal/examples/RNOneSignal/node_modules/react-native-onesignal/android/build/intermediates/tmp/manifest/androidTest/debug/manifestMerger8422387923641009676.xml Error:
        Attribute meta-data#onesignal_google_project_number<strong i="10">@value</strong> at manifestMerger8422387923641009676.xml requires a placeholder substitution but no value for <onesignal_google_project_number> is provided.

See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.

๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ 2018๋…„ 7์›” #579์—์„œ ๋ณด๊ณ ๋˜์—ˆ์œผ๋ฉฐ ์ดํ›„ 2019๋…„ 1์›”์— ๋ช…ํ™•ํ•œ ํ•ด๊ฒฐ ์—†์ด ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ

react-native-onesignal v3.2.14๋ฅผ ์‚ฌ์šฉํ•˜๋Š” examples/RNOneSignal@31b5242 ์˜ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ.

์žฌํ˜„ ๋‹จ๊ณ„

  1. git clone https://github.com/geektimecoil/react-native-onesignal.git
  2. cd react-native-onesignal
  3. git checkout 31b52420c807c22405e70b44800e20f3a8e3456e
  4. cd examples/RNOneSignal
  5. yarn
  6. cd android
  7. ./gradlew assembleAndroidTest
Android Help Wanted

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

๋ฌธ์ œ๋ฅผ ์กฐ์‚ฌํ•˜๋Š” ๋™์•ˆ ๊ธฐ๋‹ค๋ ค ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

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

์ด๊ฒƒ ๋˜ํ•œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

@sonicdoe productFlavors ๊ณ„์‹ญ๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ช…๋ น์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

buildType = "๋””๋ฒ„๊ทธ"
productFlavor = "๊ฐœ๋ฐœ์ž"

./gradlew assembleDevDebugAndroidTest

์•„๋‹ˆ์š”, examples/RNOneSignal@31b5242 ์˜ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ(์ด๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•จ)๋Š” ์ œํ’ˆ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚˜๋„ ์ด๊ฒƒ์— ๋Œ€ํ•ด ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ์ž„์˜์˜ Google ๊ฒ€์ƒ‰์—์„œ buildToolsVersion: 28.0.0 ์‚ฌ์šฉ์„ ์ œ์•ˆํ•˜๋Š” https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview/issues/207 ์ด ๋ฌธ์ œ๋ฅผ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ์ด๊ฒƒ์„ ํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋นŒ๋“œํ•˜๋Š” ๋™์•ˆ ๊ฒฝ๊ณ ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

<br i="8"/> OneSignalPlugin: WARNING: OneSignalPlugin: Downgraded 'com.android.support:28.0.0' -> 27.+ to prevent compile errors! Recommend updating your project's compileSdkVersion!<br i="9"/>

์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ฐ•์ œ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ณณ ;(

๋‚ด ๊ฐœ์ธ์ ์ธ ๋ฌธ์ œ๋Š” gradlew ๋ช…๋ น(์œ„์— ์„ค๋ช…๋จ) ๋‹ค์Œ์— ์ ์ ˆํ•œ task-name ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œํ•  ๋•Œ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

FWIW, ์—ฌ๊ธฐ์— ๋‚ด android/build.gradle ํŒŒ์ผ์˜ ์ผ๋ถ€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค:

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 28
                buildToolsVersion '28.0.3'
            }
        }
    }
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "28.0.0"
            }
        }
    }
}

๋ฌธ์ œ๋ฅผ ์กฐ์‚ฌํ•˜๋Š” ๋™์•ˆ ๊ธฐ๋‹ค๋ ค ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํžˆ ๊ณ„์„ธ์š”.
์ด ๋ฌธ์ œ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํ˜„์žฌ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ๋‹ค์Œ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
./gradlew app:assembleAndroidTest

์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ./gradlew build ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์œผ๋ฏ€๋กœ์ด ๋ฌธ์ œ๋„ ํ•ด๊ฒฐํ•  PR์„ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ž๋ฆฌ ํ‘œ์‹œ์ž๋ฅผ react-native-onesignal ์ž์ฒด์— ์ฃผ์ž…ํ•˜์—ฌ assembleAndroidTest ๋ฅผ ์ž‘๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค(https://github.com/geektimecoil/react-native-onesignal/issues/579#issuecomment-์™€ ์œ ์‚ฌ). 442,504,553)๊ณผ ์ œ๊ฑฐ ApplicationTest ์— ํด๋ž˜์Šค android/src/androidTest ํšจ๊ณผ ์–ด์จŒ๋“ )์ด์—†๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค (. ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ gradle-android-test ์ง€์ ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋ถˆํ–‰ํžˆ๋„ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ์™€ ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ์ด์œ ์— ๋Œ€ํ•ด์„œ๋Š” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์•Œ ์ˆ˜์žˆ๋Š” ํ•œ, androidTest ๋Š” ๋‹ค๋ฅธ ์ข…์†์„ฑ ํŠธ๋ฆฌ๋กœ ํ™•์ธ๋˜๋ฏ€๋กœ์ด ๊ฒฝ์šฐ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ณ‘ํ•ฉ์ด ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

@rgomezp ๋” ๋งŽ์€ ํ†ต์ฐฐ๋ ฅ์ด ์žˆ๊ณ  ์œ„์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๊ดœ์ฐฎ์€์ง€ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์—ด๊ฒ ์Šต๋‹ˆ๋‹ค.

@sonicdoe ,
@sonicdoe ์ˆ˜์ • ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ํ™๋ณด๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”

@rgomezp ๋Š” ๋‹ค๋ฅธ ํ‹ฐ์ผ“์„ ๋‹ซ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์— ๋‚ด ์งˆ๋ฌธ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋””๋ ‰ํ† ๋ฆฌ๋Š” npm ํŒจํ‚ค์ง€์— ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—๋งŒ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋Œ€๋‹ต์ด ์•„๋‹ˆ์˜ค์ด๋ฉด์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ข‹์€ ๋ฐฉ๋ฒ•์ด ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅด์ง€๋งŒ androidTest ๋””๋ ‰ํ† ๋ฆฌ์— ๋‹ค๋ฅธ RN ํŒจํ‚ค์ง€๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์งˆ๋ฌธํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์•„๋ฌด๋„ ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ npm ํŒจํ‚ค์ง€์— ํ…Œ์ŠคํŠธ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@mtt87 ,
ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์›๋ž˜ ์ž‘์„ฑ์ž๊ฐ€ ์‹ค์ˆ˜๋กœ ํฌํ•จํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ–ฅํ›„ RN OneSignal SDK ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ฑฐํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌ!

ํ™˜์ƒ์ ์ด๋„ค์š” ๐Ÿ˜„ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

์•ˆ๋…•ํžˆ ๊ณ„์„ธ์š”.
์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋œ ์ตœ์‹  ๋ฒ„์ „์˜ react-native SDK๋ฅผ ๊ณง ์ถœ์‹œํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด package.json์˜ react-native-onesignal์„ ์ด ์ €์žฅ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

"react-native-onesignal":"geektimecoil/react-native-onesignal"

์ถœ์‹œ ์ „์— ์—ฌ๋Ÿฌ๋ถ„์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฑด๋ฐฐ!

ํŽธ์ง‘: ํ”Œ๋Ÿฌ๊ทธ์ธ์ด NPM์œผ๋กœ ํ‘ธ์‹œ๋˜์—ˆ์œผ๋ฏ€๋กœ ์ด ์ง€์นจ์„ ๋ฌด์‹œํ•˜์‹ญ์‹œ์˜ค.

์ด๋ฏธ ์ตœ์‹  ๋ฒ„์ „ ์ธ v3.3.0์„ ์ถœ์‹œํ•˜์…จ์Šต๋‹ˆ๋‹ค. ์ด ๋ฆด๋ฆฌ์Šค๊ฐ€์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋ณ€๊ฒฝํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ? ์›๋ณธ ๊ฒŒ์‹œ๋ฌผ ์—์„œ ๋ณต์ œ ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด ๋˜‘๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@sonicdoe ,
์ œ๋Œ€๋กœ ์žฌ์„ค์น˜ํ•˜์…จ๋‚˜์š”?

ํŽธ์ง‘: ๋ฐฉ๊ธˆ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์˜ฌ๋ฐ”๋ฅธ์ง€. ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” #791์ด ์ด๊ฒƒ์„ ๊ณ ์ณค๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. #789์— ๋Œ€ํ•ด @jkasten2 ์™€ ๋…ผ์˜

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