3.0.3
0.59.10
๊ธฐ๊ณ์ ์ธ์กฐ ์ธ๊ฐ
์ฒ๋ฆฌ๋์ง ์์ ์ฝ์ ๊ฒฝ๊ณ ์์
09-03 16:42:41.214 20367 21085 I ReactNativeJS: 'purchaseErrorListener', { debugMessage: '', responseCode: 1 }
09-03 16:42:43.254 20367 21085 W ReactNativeJS: Possible Unhandled Promise Rejection (id: 0):
09-03 16:42:43.254 20367 21085 W ReactNativeJS: Error: Payment is Cancelled.
09-03 16:42:43.254 20367 21085 W ReactNativeJS: createErrorFromErrorData<strong i="14">@http</strong>://localhost:8081/index.delta?platform=android&dev=true&minify=false:2108:26
09-03 16:42:43.254 20367 21085 W ReactNativeJS: http://localhost:8081/index.delta?platform=android&dev=true&minify=false:2060:51
09-03 16:42:43.254 20367 21085 W ReactNativeJS: __invokeCallback<strong i="15">@http</strong>://localhost:8081/index.delta?platform=android&dev=true&minify=false:2627:23
09-03 16:42:43.254 20367 21085 W ReactNativeJS: http://localhost:8081/index.delta?platform=android&dev=true&minify=false:2358:34
09-03 16:42:43.254 20367 21085 W ReactNativeJS: __guard<strong i="16">@http</strong>://localhost:8081/index.delta?platform=android&dev=true&minify=false:2531:15
09-03 16:42:43.254 20367 21085 W ReactNativeJS: invokeCallbackAndReturnFlushedQueue<strong i="17">@http</strong>://localhost:8081/index.delta?platform=android&dev=true&minify=false:2357:21
09-03 16:42:43.254 20367 21085 W ReactNativeJS: invokeCallbackAndReturnFlushedQueue@[native code]
์ค์ ์ฅ์น
3.0.x ๋ธ๋์น์ ์์ ์ฑ์ ๋น๋ํฉ๋๋ค. ๊ธฐ๊ธฐ์์ ์คํํ๊ณ Get Products
๋ฅผ ํฐ์น ํ ๋ค์ Purchase android.test.canceled
๋ฅผ ํฐ์นํฉ๋๋ค.
๋ด๊ฐ ์๊ณ ์๋ ๊ฒ์ฒ๋ผ ๊ทธ๊ฒ์์ด ๋ผ์ธ์ผ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค https://github.com/dooboolab/react-native-iap/blob/8d28d204857d65d99d764aa2a59f9bca1385859a/android/src/main/java/com/dooboolab/RNIap/RNIapModule.java#L506 ๊ทธ๋ค์ ๋ค๋ฅธ ๊ณณ์์๋ ์ฌ์ฉ๋ฉ๋๋ค.
์ค๋ฅ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ํ์ด ํจ์๊ฐ ํธ์ถ๋๋ ์ด์ ๋ฅผ ์ดํดํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ์ฌ์ฉ ๋ ๋ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์์ ์กฐํฉ์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์๋ก์ด promise๋ ๊ฐ ์ด๊ธฐํ์์ ์์ฑ ๋ ๋ค์ DeviceEventManagerModule
๋ฅผ ํตํด ์ด๋ฒคํธ๋ฅผ ๋ณด๋ด๋ ๊ฒ๊ณผ ํจ๊ป ์์
๊ฒฐ๊ณผ์ ๋ฐ๋ผ ํด๊ฒฐ๋๊ฑฐ๋ ๊ฑฐ๋ถ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ฌธ์์์ ์ดํดํ๋ฏ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํต์ ํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ์ด๋ฒคํธ๋ฅผ ํตํ๋ ๊ฒ์ด๋ฏ๋ก ์ฝ์์ ์ด์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
๋ด๊ฐ ๋ญ๊ฐ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ป์ง ๋ชปํ์ ์๋ ์์ง๋ง ๋ด ๊ด์ ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ค๋ฅ ์ด๋ฒคํธ๋ฅผ ๋ณด๋ผ ๋ ์ฝ์์ ๊ฑฐ๋ถํด์๋ ์๋ฉ๋๋ค.
@hyochan ๋ค๋ฅธ ์์ด๋์ด๋? ์ ๋ ๊ธฐ์ฌํ ์ค๋น๊ฐ๋์ด ์์ต๋๋ค. ์ ๊ฐ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๊ณ ์๋ค๋ ๊ฒ์ ์ดํดํ๊ณ ์ถ์ต๋๋ค.
@gaykov ๋น์ ์ด ๋ง์์. event
๋ฐ promises
๋ชจ๋ ์ง์ํ๋ ค๋ ๋
ธ๋ ฅ์ ๋ถ์์ฉ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. PR
๐จ์์ ๊ฐ์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์๋ ํ์ธ์. ์ต๊ทผ์ด ๋ฌธ์ ์ ๋ํ ํ๋์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฌธ์ ๊ฐ ํด๊ฒฐ ๋์์ต๋๊น? ์๋๋ฉด ์ฌ์ ํ ์ปค๋ฎค๋ํฐ์์ฃผ์๊ฐ ํ์ํฉ๋๊น? ์ด ๋ฌธ์ ๋ ๋ ์ด์ ํ๋์ด ๋ฐ์ํ์ง ์์ผ๋ฉด ์ข ๊ฒฐ ๋ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ "ํ ๋ก ์ฉ"๋๋ "์ข์ ์ฒซ ๋ฒ์งธ ๋ฌธ์ "๋ก ํ์ ํ ์๋ ์์ผ๋ฉฐ ์ด์ด ๋๊ฒ ์ต๋๋ค. ๊ทํ์ ๊ธฐ์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์ฅ๊ธฐ๊ฐ ์ฌ์ฉํ์ง ์์ผ๋ฉด์ด ๋ฌธ์ ๋ฅผ ์ข ๋ฃํฉ๋๋ค. ์ด ๋ฌธ์ ๊ฐ ์ต์ ๋ฆด๋ฆฌ์ค์ ์ฌ์ ํ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ต์ ์ ๋ณด๋ก ์ ๋ฌธ์ ๋ฅผ ์์ ๋กญ๊ฒ ์์ฑํ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ด๊ฐ ์๊ณ ์๋ ๊ฒ์ฒ๋ผ ๊ทธ๊ฒ์์ด ๋ผ์ธ์ผ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค https://github.com/dooboolab/react-native-iap/blob/8d28d204857d65d99d764aa2a59f9bca1385859a/android/src/main/java/com/dooboolab/RNIap/RNIapModule.java#L506 ๊ทธ๋ค์ ๋ค๋ฅธ ๊ณณ์์๋ ์ฌ์ฉ๋ฉ๋๋ค.
์ค๋ฅ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ํ์ด ํจ์๊ฐ ํธ์ถ๋๋ ์ด์ ๋ฅผ ์ดํดํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ์ฌ์ฉ ๋ ๋ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์์ ์กฐํฉ์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์๋ก์ด promise๋ ๊ฐ ์ด๊ธฐํ์์ ์์ฑ ๋ ๋ค์
DeviceEventManagerModule
๋ฅผ ํตํด ์ด๋ฒคํธ๋ฅผ ๋ณด๋ด๋ ๊ฒ๊ณผ ํจ๊ป ์์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ํด๊ฒฐ๋๊ฑฐ๋ ๊ฑฐ๋ถ๋ฉ๋๋ค.๊ทธ๋ฌ๋ ๋ฌธ์์์ ์ดํดํ๋ฏ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํต์ ํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ์ด๋ฒคํธ๋ฅผ ํตํ๋ ๊ฒ์ด๋ฏ๋ก ์ฝ์์ ์ด์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
๋ด๊ฐ ๋ญ๊ฐ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ป์ง ๋ชปํ์ ์๋ ์์ง๋ง ๋ด ๊ด์ ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ค๋ฅ ์ด๋ฒคํธ๋ฅผ ๋ณด๋ผ ๋ ์ฝ์์ ๊ฑฐ๋ถํด์๋ ์๋ฉ๋๋ค.
@hyochan ๋ค๋ฅธ ์์ด๋์ด๋? ์ ๋ ๊ธฐ์ฌํ ์ค๋น๊ฐ๋์ด ์์ต๋๋ค. ์ ๊ฐ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๊ณ ์๋ค๋ ๊ฒ์ ์ดํดํ๊ณ ์ถ์ต๋๋ค.