{"id":138020,"date":"2023-04-24T00:00:00","date_gmt":"2023-04-24T00:00:00","guid":{"rendered":"https:\/\/adapty.io\/blog\/react-native-in-app-purchases-implementation-tutorial\/"},"modified":"2025-06-26T13:04:58","modified_gmt":"2025-06-26T13:04:58","slug":"react-native-in-app-purchases-implementation-tutorial","status":"publish","type":"post","link":"https:\/\/adapty.io\/ko\/blog\/react-native-in-app-purchases-implementation-tutorial\/","title":{"rendered":"\ub9ac\uc561\ud2b8 \ub124\uc774\ud2f0\ube0c (React native) \uc778\uc571 \uad6c\ub9e4: \uac04\ub2e8\ud55c \uad6c\ud604. \uc0ac\uc6a9 \uc9c0\uce68\uc11c"},"content":{"rendered":"\n
\ud50c\ub7ab\ud3fc\uac04 \uc571 (app)\uac1c\ubc1c\ud504\ub808\uc784\uc6cc\ud06c\ub294 \ud655\uc2e4\ud788 \uac1c\ubc1c\uc790\uc758 \uc0b6\uc744 \ub354 \uc27d\uac8c \ub9cc\ub4e4\uc5b4\uc8fc\uc5b4, \ud55c\ubc88\uc5d0 \uc5ec\ub7ec \ud50c\ub7ab\ud3fc\uc6a9 \uc571\uc744 \ube4c\ub4dc\ud560 \uc218 \uc788\uac8c \ud574\uc90d\ub2c8\ub2e4.\ud558\uc9c0\ub9cc\uba87 \uac00\uc9c0 \ub2e8\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4.\uc608\ub97c\ub4e4\uc5b4,\ub9ac\uc561\ud2b8\ub124\uc774\ud2f0\ube0c (ReactNative)\uc5d0\ub294\uc778\uc571 \uad6c\ub9e4 (in-apppurchase)\ub97c\uad6c\ud604\ud558\uae30 \uc704\ud55c \uae30\uc131 \ub3c4\uad6c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.\ub530\ub77c\uc11c,\uc81c3\uc790\ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ubc14\ub77c\ubcfc \uc218 \ubc16\uc5d0 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n
\ub9ac\uc561\ud2b8\ub124\uc774\ud2f0\ube0c \uc571\uc758 \uc778\uae30 \uc788\ub294 \uc778\uc571 \uad6c\ub3c5 (in-appsubscription) \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294react-native-iap\uc640expo-in-app-purchases\uc785\ub2c8\ub2e4.\ud558\uc9c0\ub9ccreact-native-adapty<\/a>\uc5d0\ub300\ud574 \uc774\uc57c\uae30\ud560 \uac74\ub370,\ub2e4\ub978\ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0 \ube44\ud574 \uc0c1\ub2f9\ud55c \uc774\uc810\uc774 \uc788\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4:<\/p>\n\n\n\n AdaptySDK\uc5d0\ub294\uadf8\ubcf4\ub2e4 \ud6e8\uc52c \ub354 \ub9ce\uc740 \uac83\uc774 \uc788\uc2b5\ub2c8\ub2e4.\ubaa8\ub4e0\uc8fc\uc694 \uba54\ud2b8\ub9ad,\ucf54\ud638\ud2b8\ubd84\uc11d (cohortanalysis), \uc11c\ubc84\uae30\ubc18 \uad6c\ub9e4 \uac80\uc99d,\ud398\uc774\uc6d4(paywall)\uc5d0\ub300\ud55c AB\ud14c\uc2a4\ud2b8(ABtesting), \uc720\uc5f0\ud558\uac8c\uc138\ubd84\ud654\ud560 \uc218 \uc788\ub294 \ud504\ub85c\ubaa8\uc158 \ucea0\ud398\uc778,\uc81c3\uc790\ubd84\uc11d \ub3c4\uad6c \ud1b5\ud569 \ub4f1\uc744 \uc704\ud55c \ub0b4\uc7a5 \ubd84\uc11d \ub3c4\uad6c\uac00 \uc81c\uacf5\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n \uc9c0\uae08\uc740\ub9ac\uc561\ud2b8 \ub124\uc774\ud2f0\ube0c \uc571\uc5d0\uc11c \uc778\uc571 \uad6c\ub9e4\ub97c \uc124\uc815\ud558\ub294 \ubc29\ubc95\uc5d0\ub300\ud574 \uc774\uc57c\uae30\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.\uc624\ub298\ub2e4\ub8f0 \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n \uc774\uac00\uc774\ub4dc\uc5d0\uc11c\ub294,\uad6c\ub3c5\ud55c\uc0ac\uc6a9\uc790\uc5d0\uac8c \uace0\uc591\uc774 \uc0ac\uc9c4\uc744 \ud45c\uc2dc\ud558\uace0 \ub2e4\ub978 \ubaa8\ub4e0 \uc0ac\uc6a9\uc790\uc5d0\uac8c\uad6c\ub3c5 \uc81c\uc548\uc744 \ud45c\uc2dc\ud558\ub294 \uc571\uc744 \ube4c\ub4dc\ud558\ub824\uace0 \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n\n\n \uac04\ub2e8\ud558\uac8c\ub9d0\ud558\uc790\uba74:<\/em>Expo”managed<\/em><\/a>\u201d\ub294\uad6c\ub9e4 \ucc98\ub9ac\ub97c \uc704\ud574 \uc571 \uc2a4\ud1a0\uc5b4\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 \ub124\uc774\ud2f0\ube0c\uba54\uc18c\ub4dc (\uc2a4\ud1a0\uc5b4\ud0a4\ud2b8 (storekits)\ub77c\uace0\ub3c4\ud568)\ub97c\uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\uc21c\uc218\ud55cRN\uc744\uace0\uc218\ud558\uac70\ub098,Expo \ubca0\uc5b4\uc6cc\ud06c\ud50c\ub85c\uc6b0\ub97c \uc0ac\uc6a9\ud574\uc57c \ud569\ub2c8\ub2e4.<\/em><\/p>\n\n\n\n \ub2e8\ub3c4\uc9c1\uc785\uc801\uc73c\ub85c,Expo\ub97c\uc0ac\uc6a9\ud558\ub824\uace0 \uc0dd\uac01\ud55c \uc0ac\ub78c\ub4e4\uc5d0\uac8c\ub294 \uc2e4\ub9dd\uc2a4\ub7fd\uc9c0\ub9cc,\uc774\uac83\uc740\uc791\ub3d9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.Expo\ub294\uc571 \uac1c\ubc1c\uc744 \ud6e8\uc52c \uc27d\uac8c \ud574\uc8fc\ub294 \ub9ac\uc561\ud2b8 \ub124\uc774\ud2f0\ube0c\ud504\ub808\uc784\uc6cc\ud06c\uc785\ub2c8\ub2e4.\uadf8\ub7ec\ub098\ub9e4\ub2c8\uc9c0\ub4dc \uc6cc\ud06c\ud50c\ub85c\uc6b0\ub294 \uad6c\ub9e4\/\uad6c\ub3c5\ucc98\ub9ac\uc640 \ud638\ud658\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.Expo\ub294\uc2a4\ud1a0\uc5b4 \ud0a4\ud2b8\uc5d0 \ud544\uc694\ud55c \uba54\uc18c\ub4dc\uc640 \ucef4\ud3ec\ub10c\ud2b8 (\ub458\ub2e4 JS\uc804\uc6a9)\uc5d0\ub124\uc774\ud2f0\ube0c \ucf54\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.JavaScript\ub97c\uc0ac\uc6a9\ud558\ub294 \ubaa8\ubc14\uc77c \uc2a4\ud1a0\uc5b4\uc5d0\uc11c \uc778\uc571 \uad6c\ub9e4\ub97c \uad6c\ud604\ud560 \uc218\uc788\ub294 \ubc29\ubc95\uc774 \uc5c6\uc73c\ubbc0\ub85c,”\ub098\uc57c\ud569\ub2c8\ub2e4”.<\/p>\n\n\n\n \uba3c\uc800\uc571 \uc2a4\ud1a0\uc5b4 \uacc4\uc815\uc744 \uc124\uc815\ud558\uace0 iOS\ubc0fAndroid\ubaa8\ub450\uc5d0\ub300\ud55c \uad6c\ub9e4 \ubc0f \uad6c\ub3c5\uc744 \uc0dd\uc131 \ubc0f \uad6c\uc131\ud574\uc57c \ud569\ub2c8\ub2e4.20\ubd84\uc774\uc0c1 \uac78\ub9ac\uc9c0 \uc54a\uc744 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n AppStore Connect \ubc0f\/\ub610\ub294GooglePlay Console\uc5d0\uc11c\uac1c\ubc1c\uc790 \uacc4\uc815 \ubc0f \uc81c\ud488\uc744 \uc544\uc9c1 \uad6c\uc131\ud558\uc9c0 \uc54a\uc740 \uacbd\uc6b0,\ub2e4\uc74c\uac00\uc774\ub4dc\ub97c \ucc38\uc870\ud558\uc138\uc694.<\/p>\n\n\n\n react-native-adapty\uc758\uacbd\uc6b0 \uba3c\uc800 Adapty\ub300\uc2dc\ubcf4\ub4dc\ub97c\uad6c\uc131\ud574\uc57c \ud569\ub2c8\ub2e4.\uc2dc\uac04\uc774\ub9ce\uc774 \uac78\ub9ac\uc9c0\ub294 \uc54a\uc9c0\ub9cc,\uc704\uc5d0\ub098\uc5f4\ub41c Adapty\uac00\ud558\ub4dc \ucf54\ub529\uc5d0 \ube44\ud558\uc5ec \uac16\ub294 \ubaa8\ub4e0 \uc774\uc810\uc744 \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n \uc138\ubc88\uc9f8 \ub2e8\uacc4\uc5d0\uc11c\ub294 AppStore \ubc0fGooglePlay \uad6c\uc131\uc744\ubb3b\ub294 \uba54\uc2dc\uc9c0\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n iOS\uc758\uacbd\uc6b0,<\/p>\n\n\n\n \uc774\ud544\ub4dc\ub294 \uad6c\ub9e4\uac00 \uc791\ub3d9\ud558\ub294 \ub370 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n \uac01\ud544\ub4dc\uc5d0\ub294 \ub2e8\uacc4\ubcc4 \ubc29\ubc95 \uac00\uc774\ub4dc\uac00 \ud3ec\ud568\ub41c ‘Readhow’ \ud78c\ud2b8\uac00\uc788\uc2b5\ub2c8\ub2e4.\uc9c8\ubb38\uc774\uc788\ub294 \uacbd\uc6b0 \uc774\ub97c \ud655\uc778\ud558\uc2ed\uc2dc\uc624.<\/p>\n\n\n\n \ubc88\ub4e4ID\ub294\uc571\uc758 \uace0\uc720 ID\uc785\ub2c8\ub2e4.Xcode\uc758Targets> [\uc571\uc774\ub984]> General<\/em>\uc5d0\uc11c\uc9c0\uc815\ud55c \uac83\uacfc \uc77c\uce58\ud574\uc57c \ud569\ub2c8\ub2e4:<\/p>\n\n\n\n Android\uc758\uacbd\uc6b0,\ud544\uc218\ud544\ub4dc\ub294 \ud328\ud0a4\uc9c0 \uc774\ub984 \ubc0f \uc11c\ube44\uc2a4 \uacc4\uc815 \ud0a4 \ud30c\uc77c\uc785\ub2c8\ub2e4.\uc774\ubaa8\ub4e0 \ud544\ub4dc\uc5d0\ub294 \uac01\uac01 Readhow \ud78c\ud2b8\ub3c4\uc788\uc2b5\ub2c8\ub2e4.Android\uc5d0\uc11c\ud328\ud0a4\uc9c0 \uc774\ub984\uc740 iOS\uc5d0\uc11c\ubc88\ub4e4 ID\uc640\uac19\uc740 \uc5ed\ud560\uc744 \ud569\ub2c8\ub2e4.\uc774\ub294android.defaultConfig.applicationId\uc758\/android\/app\/build.gradle\ud30c\uc77c\uc5d0\uc11c\ucc3e\uc744 \uc218 \uc788\ub294 \ucf54\ub4dc\uc5d0 \uc9c0\uc815\ud55c \uac83\uacfc \uc77c\uce58\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n \ub124\ubc88\uc9f8 \ub2e8\uacc4\uc5d0\uc11c\ub294 AdaptySDK\ub97c\uc571\uc5d0 \uc5f0\uacb0\ud558\ub77c\ub294 \uba54\uc2dc\uc9c0\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4.\uc9c0\uae08\uc740\uc774 \ub2e8\uacc4\ub97c \uac74\ub108\ub6f0\uc2ed\uc2dc\uc624.\uc7a0\uc2dc\ud6c4\uc5d0 \ub2e4\uc2dc \uc124\uba85\ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n \uac00\uc785\ud55c\ud6c4 \uc124\uc815 \ud0ed\uc744 \ud655\uc778\ud558\uace0,\uc5ec\uae30\uc5d0\uc11c\uacf5\uac1c SDK\ud0a4\ub97c\ucc3e\uc744 \uc218 \uc788\ub2e4\ub294 \uc810\uc744 \uae30\uc5b5\ud558\uc2ed\uc2dc\uc624.\ub098\uc911\uc5d0\ud0a4\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n Adapty\ub294\ub2e4\uc591\ud55c \uad6c\ub3c5\uc5d0 \uc81c\ud488\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.\uace0\uc591\uc774\uc0ac\uc9c4 \uad6c\ub3c5\uc740 \uc8fc\uac04,6\uac1c\uc6d4\ub610\ub294 \uc5f0\uac04\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\uc774\ub7ec\ud55c\uac01 \uc635\uc158\uc740 \ubcc4\uac1c\uc758 Adapty\uc81c\ud488\uc774\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n \ud558\ub098\uc758\uc81c\ud488\uc774 \uc788\ub2e4\uace0 \ub300\uc2dc\ubcf4\ub4dc\uc5d0 \uc9c0\uc815\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.\uc774\ub807\uac8c\ud558\uae30 \uc704\ud574,Products & A\/B Tests \u2192 Products \ub85c\uc774\ub3d9\ud558\uc5ec Createproduct\ub97c\ud074\ub9ad\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n \uc5ec\uae30\uc5d0\uc11c\uc81c\ud488 \uc774\ub984,\uc989\uc774 \uad6c\ub3c5\uc774 Adapty\ub300\uc2dc\ubcf4\ub4dc\uc5d0\ud45c\uc2dc\ub418\ub294 \ubc29\uc2dd\uc744 \uc9c0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n AppStore \uc81c\ud488ID\uc640PlayStore \uc81c\ud488ID\ub3c4\uc9c0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.\uc6d0\ud558\ub294\uacbd\uc6b0,\ubd84\uc11d\uc744\uc704\ud55c \uae30\uac04\uacfc \uc774\ub984\ub3c4 \uc9c0\uc815\ud569\ub2c8\ub2e4.Save\ub97c\ud074\ub9ad\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n \uc774\uc81c\uc0ac\uc6a9\uc790\uc758 \ud504\ub9ac\ubbf8\uc5c4 \uae30\ub2a5 \uc811\uadfc\uc744 \uc81c\ud55c\ud558\uace0 \uad6c\ub3c5 \uc81c\uc548\uc744\ud45c\uc2dc\ud558\ub294 \ud654\uba74\uc778 \ud398\uc774\uc6d4\uc744 \ub514\uc790\uc778\ud574\uc57c \ud569\ub2c8\ub2e4.\uc0dd\uc131\ud55c\uc81c\ud488\uc744 \ud398\uc774\uc6d4\uc5d0 \ucd94\uac00\ud574\uc57c \ud569\ub2c8\ub2e4.\uadf8\ub807\uac8c\ud558\ub824\uba74 \ub3d9\uc77c\ud55c \uc139\uc158\uc5d0\uc11c Createpaywall\uc744\ud074\ub9ad\ud569\ub2c8\ub2e4.(Products & A\/B Tests \u2192 Paywalls)<\/p>\n\n\n\n Save &publish\ub97c\ud074\ub9ad\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n \uc774\ub807\uac8c\ud558\uba74 \ud658\uacbd \uc124\uc815\uc774 \ub429\ub2c8\ub2e4.\uc774\uc81c\uc885\uc18d\uc131\uc744 \ucd94\uac00\ud558\uace0 \ucf54\ub4dc\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n 1. \uba3c\uc800\uc885\uc18d\uc131\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n\n
\uc774\uae30\uc0ac\uc5d0\uc11c \ub2e4\ub8f0 \ub0b4\uc6a9<\/h2>\n\n\n\n
\n
App Store \ud658\uacbd\uc124\uc815
Play Store \ud658\uacbd\uc124\uc815<\/li>\n\n\n\n\ub9ac\uc561\ud2b8\ub124\uc774\ud2f0\ube0c \uc571\uc758 \uc778\uc571 \uad6c\ub9e4\uc5d0 Expo\uac00\uc791\ub3d9\ud558\uc9c0 \uc54a\ub294 \uc774\uc720<\/h3>\n\n\n\n
\uac1c\ubc1c\uc790\uacc4\uc815 \ub9cc\ub4e4\uae30<\/h2>\n\n\n\n
\n
Adapty \ud658\uacbd\uc124\uc815<\/h2>\n\n\n\n
<\/figure>\n\n\n\n
\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n
\uad6c\ub3c5\ucd94\uac00\ud558\uae30<\/h3>\n\n\n\n
<\/figure>\n\n\n\n
\ud398\uc774\uc6d4\uc0dd\uc131\ud558\uae30<\/h2>\n\n\n\n
\n
<\/figure>\n\n\n\n
react-native-adapty \uc124\uce58\ud558\uae30<\/h2>\n\n\n\n