{"id":138014,"date":"2022-12-15T00:00:00","date_gmt":"2022-12-15T00:00:00","guid":{"rendered":"https:\/\/adapty.io\/blog\/android-in-app-purchases-part-5-server-side-purchase-validation\/"},"modified":"2022-12-15T00:00:00","modified_gmt":"2022-12-15T00:00:00","slug":"android-in-app-purchases-part-5-server-side-purchase-validation","status":"publish","type":"post","link":"https:\/\/adapty.io\/ko\/blog\/android-in-app-purchases-part-5-server-side-purchase-validation\/","title":{"rendered":"Android \uc778\uc571 \uad6c\ub9e4, 5\ubd80: \uc11c\ubc84 \uce21 \uad6c\ub9e4 \uac80\uc99d"},"content":{"rendered":"\n
\uc11c\ubc84\uce21 (server-side)\uac80\uc99d\uc740\uad6c\ub9e4 \uc9c4\uc704\ub97c \ud655\uc778\uc5d0 \ub3c4\uc6c0\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\uae30\uae30\ub294Google\uc11c\ubc84\uc5d0\uc694\uccad\ud558\uc5ec \uc2e4\uc81c\ub85c \uad6c\ub9e4\uac00 \uc774\ub8e8\uc5b4\uc84c\ub294\uc9c0\uc640 \uad6c\ub9e4\uac00\uc720\ud6a8\ud55c\uc9c0\ub97c \ud655\uc778\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n
\uc774\uac00\uc774\ub4dc\uc5d0\uc11c\ub294 Android\uc571\uc5d0\ub300\ud55c \uc11c\ubc84 \uce21 \uac80\uc99d\uc744 \uad6c\uc131\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n
\uc11c\ubc84\uce21 \uac80\uc99d\uc740 \ud544\uc218\uac00 \uc544\ub2c8\ub77c\ub294 \uc810\uc5d0 \uc720\uc758\ud574\uc57c \ud569\ub2c8\ub2e4.\uc778\uc571\uad6c\ub9e4\ub294 \uac80\uc99d \uc5c6\uc774\ub3c4 \uc774\ub8e8\uc5b4\uc9d1\ub2c8\ub2e4.\ud558\uc9c0\ub9cc\ub2e4\uc74c\uacfc \uac19\uc740 \uba87 \uac00\uc9c0 \uc911\uc694\ud55c \uc774\uc810\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n
\uacbd\ud5d8\uc5d0\ub530\ub974\uba74,\uccab\ubc88\uc9f8 \uc774\uc810\ub9cc\uc73c\ub85c\ub3c4 \uc11c\ubc84 \uce21 \uad6c\ub9e4 \ucc98\ub9ac\ub97c \uc124\uc815\ud558\uae30\uc5d0\ucda9\ubd84\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n\n\n \ub2e4\uc74c\uccb4\uacc4\ub97c \uc0ac\uc6a9\ud558\uc5ec Android\uacb0\uc81c\uac80\uc99d\uc744 \uc694\uc57d\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n GooglePlay \uac1c\ubc1c\uc790API\ub85c\uc791\uc5c5\ud558\ub824\uba74 \uba3c\uc800 \uc694\uccad\uc5d0 \uc11c\uba85\ud560 \ud0a4\ub97c \uc0dd\uc131\ud574\uc57c \ud569\ub2c8\ub2e4.\uba3c\uc800GooglePlay Console \uacc4\uc815(\uc571\uc744\uad00\ub9ac\ud558\ub294 \uacf3)\uc744GoogleCloud \uacc4\uc815(\uc694\uccad\uc11c\uba85\uc744 \uc704\ud55c \ud0a4\ub97c \uc0dd\uc131\ud560 \uacf3)\uc5d0\uc5f0\uacb0\ud574\uc57c \ud569\ub2c8\ub2e4.\uad6c\uc131\uc774\uc644\ub8cc\ub418\uba74,\uc0ac\uc6a9\uc790\uc5d0\uac8c\uad6c\ub9e4 \uad00\ub9ac \uad8c\ud55c\uc744 \ubd80\uc5ec\ud574\uc57c \ud569\ub2c8\ub2e4.\uc774\ud504\ub85c\uc138\uc2a4\ub97c \uc124\uba85\ud558\ub824\uba74 \uae30\uc0ac \ud558\ub098\ub97c \ud560\uc560\ud574\uc57c \ud569\ub2c8\ub2e4.\ub2e4\ud589\ud788\uc6b0\ub9ac\ub294 \uc774\ubbf8 Adapty\ubb38\uc11c<\/a>\uc758\ub2e8\uacc4\ubcc4 \uac00\uc774\ub4dc\uc5d0\uc11c \ubcf8 \ub0b4\uc6a9\uc744 \ub2e4\ub918\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n \uc77c\ubc18\uc801\uc73c\ub85c\ud0a4\ub97c \uc0dd\uc131\ud55c \ud6c4 \uc791\ub3d9\uc744 \uc2dc\uc791\ud558\ub824\uba74 24\uc2dc\uac04\uc774\uc0c1\uc744 \uae30\ub2e4\ub824\uc57c \ud569\ub2c8\ub2e4.\uae30\ub2e4\ub9ac\uc9c0\uc54a\uc73c\ub824\uba74,\uc778\uc571\uc0c1\ud488 \ub610\ub294 \uad6c\ub3c5\uc5d0 \ub300\ud55c \uc124\uba85\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\uae30\ub9cc \ud558\uba74\uc989\uc2dc \ud0a4\uac00 \ud65c\uc131\ud654\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n \uc6b0\ub9ac\ub294GooglePlay \uac1c\ubc1c\uc790API\ub85c\uc791\uc5c5\ud558\uae30 \uc704\ud574 \uacf5\uc2dd google-api-python-client<\/a>\ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c\uc0ac\uc6a9\ud560 \uac83\uc785\ub2c8\ub2e4.\uc774\ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \ub300\ubd80\ubd84\uc758 \uc778\uae30 \uc788\ub294 \uc5b8\uc5b4\uc5d0\uc11c \uc0ac\uc6a9\ud560\uc218 \uc788\uace0 \ud544\uc694\ud55c \ubaa8\ub4e0 \uba54\uc18c\ub4dc\ub97c \uc9c0\uc6d0\ud558\uae30 \ub54c\ubb38\uc5d0,\uc0ac\uc6a9\uc744\uad8c\uc7a5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n Android\uc5d0\uc11c\ub294iOS\uc11c\ubc84\uce21 \uac80\uc99d<\/a>\uacfc\ub2ec\ub9ac,\uad6c\ub3c5\ubc0f \uae30\ud0c0 \uc81c\ud488 \uac80\uc99d \ub450 \uacbd\uc6b0 \ubaa8\ub450 \ub2e4\uc591\ud55c \uba54\uc18c\ub4dc\ub97c\uc0ac\uc6a9\ud558\uc5ec \uad6c\ud604\ub429\ub2c8\ub2e4.\ub530\ub77c\uc11c\uac70\ub798\ub97c \uac80\uc99d\ud560 \ub54c \uc81c\ud488\uc744 \ucc98\ub9ac\ud558\ub294 \uac83\uc778\uc9c0 \uc544\ub2c8\uba74\uad6c\ub3c5\uc744 \ucc98\ub9ac\ud558\ub294 \uac83\uc778\uc9c0 \uc54c\uc544\uc57c \ud569\ub2c8\ub2e4.\uc2e4\uc81c\ub85c\uc774\uac83\uc740 \ubaa8\ubc14\uc77c \uc571\uc5d0\uc11c \uc774 \ub370\uc774\ud130\ub97c \uc804\uc1a1\ud574\uc57c \ud558\uace0,\ud1a0\ud070\uc7ac\uac80\uc99d\uc774 \ud544\uc694\ud55c \uacbd\uc6b0\ub97c \ub300\ube44\ud558\uc5ec \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\ud50c\ub798\uadf8\ub97c \uc720\uc9c0\ud574\uc57c \ud568\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n \ub450\ubc88\uc9f8 \uc911\uc694\ud55c \ucc28\uc774\uc810\uc740 Android\uc5d0\uc11c\uac01 \uac70\ub798\uc5d0\ub294 \uace0\uc720\ud55c \ud1a0\ud070\uc774 \uc788\ub294 \ubc18\uba74,\ubaa8\ub4e0iOS \uac70\ub798\ub294\uc571\ubcc4 \uacf5\uc720 \uc554\ud638 (sharedsecret)\ub97c\uc0ac\uc6a9\ud558\uc5ec \uc804\uccb4 \uac70\ub798 \ub0b4\uc5ed\uc744 \uc800\uc7a5\ud55c\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4.\uc989,\uc5b4\ub290\ub54c\uc5d0\ub4e0\uc9c0 \uc0ac\uc6a9\uc790\uc758 \uad6c\ub9e4\ub97c \ubcf5\uc6d0\ud558\ub824\uba74 \uc784\uc758\uc758 \ub2e8\uc77c\ud1a0\ud070\uc744 \uc120\ud0dd\ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c,\ubaa8\ub4e0\uad6c\ub9e4 \ud1a0\ud070\uc744 \uc800\uc7a5\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n \uad6c\ub3c5\uc744\uac80\uc99d\ud558\ub824\uba74 purchases.subscriptions.get<\/em><\/a>\uba54\uc18c\ub4dc\ub97c\ud638\ucd9c\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\uac83\uc740\uae30\ubcf8\uc801\uc73c\ub85c GET\uc694\uccad\ud638\ucd9c\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n
<\/a><\/figure>\n\n\n\n\uacb0\uc81c\uac80\uc99d<\/h2>\n\n\n\n
<\/figure>\n\n\n\nGooglePlay \uac1c\ubc1c\uc790API(API) \uc694\uccad\uc5d0\ub300\ud55c \uc778\uc99d<\/h3>\n\n\n\n
\uad6c\ub3c5\uac70\ub798\uc5d0 \ub300\ud55c \uac80\uc99d<\/h3>\n\n\n\n