IAP SDK Reference - ONE-store/inapp-sdk GitHub Wiki

< ์ฐธ๊ณ  >

๋ณธ ๋ฌธ์„œ๋Š” ์›์Šคํ† ์–ด ์ธ์•ฑ SDK v16(API v4)์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. ์ตœ์‹  ์›์Šคํ† ์–ด ์ธ์•ฑ SDK v17(API v5)์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ ๋ฌธ์„œ๋Š” ์›์Šคํ† ์–ด ๊ฐœ๋ฐœ์ž์„ผํ„ฐ์—์„œ ์ œ๊ณต๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ์ธ์•ฑ SDK v17 ๊ฐ€์ด๋“œ ๋ฌธ์„œ ๋งํฌ : https://dev.onestore.co.kr/devpoc/reference/view/IAP_v17


์šฉ์–ด์ •๋ฆฌ

ํ•„์ˆ˜ ์šฉ์–ด ์„ค๋ช…
AID Application ID์˜ ์ค„์ž„๋ง๋กœ, ์›์Šคํ† ์–ด ๊ฐœ๋ฐœ์ž์„ผํ„ฐ์— Application์„ ๋“ฑ๋กํ•˜๋ฉด ๊ทธ Application์— ๋ฐœ๊ธ‰๋˜๋Š” ๊ณ ์œ ํ•œ ID ๊ฐ’์ด๋‹ค.
PID Product ID์˜ ์ค„์ž„๋ง๋กœ, ๋“ฑ๋กํ•œ Application์—์„œ ํŒ๋งคํ•  In-App์ƒํ’ˆ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฐœ๊ธ‰๋˜๋Š” ๊ณ ์œ ํ•œ In-App์ƒํ’ˆ ID ๊ฐ’์ด๋‹ค.
MDN Mobile Device Number์˜ ์ค„์ž„๋ง๋กœ, ํœด๋Œ€์ „ํ™” ๋ฒˆํ˜ธ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
TID TID ๋Š” IAP API ๋ฅผ ์ด์šฉํ•ด ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  App ๋‚ด์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ƒ์„ฑ ํ•ด์•ผ ํ•˜๋ฉฐ TID ์กฐํšŒ API ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, Uniqueness ๋ฅผ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค.
TxID IAP์—์„œ ์ƒ์„ฑํ•˜์—ฌ ์ „์ž์˜์ˆ˜์ฆ๊ณผ ํ•จ๊ป˜ ์ „๋‹ฌ๋˜๋Š” ์‹๋ณ„์ž

In-App Product (์ธ์•ฑ ์ƒํ’ˆ)์˜ ์ข…๋ฅ˜

์›์Šคํ† ์–ด ๊ฐœ๋ฐœ์ž์„ผํ„ฐ IAP ๋‚ด์—์„œ ํŒ๋งคํ•  ์ˆ˜ ์žˆ๋Š” In-App Product(์ธ์•ฑ ์ƒํ’ˆ)์˜ ์œ ํ˜•์€ ๊ฑด๋‹น ์ƒํ’ˆ, ๊ธฐ๊ฐ„ ์ƒํ’ˆ, ์ •์‹ํŒ ์ „ํ™˜ ์ƒํ’ˆ ๋“ฑ์ด ์žˆ์œผ๋ฉฐ, Application ๊ธฐํš ๋‹จ๊ณ„์—์„œ Application์ด ์ œ๊ณตํ•˜๊ณ ์ž ํ•˜๋Š” ์„œ๋น„์Šค์˜ ํŠน์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์ ํ•ฉํ•œ In-App Product์˜ ์œ ํ˜•์„ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค.

๊ฑด๋‹น ์ƒํ’ˆ

๊ตฌ๋งค ํ›„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ’ˆ์„ ๊ฑด๋‹น ์ƒํ’ˆ์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ๊ตฌ๋งคํ•œ ์ƒํ’ˆ์˜ ์˜๊ตฌ ์œ ์ง€ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์˜๊ตฌ์„ฑ ์ƒํ’ˆ๊ณผ ์†Œ๋ฉธ์„ฑ ์ƒํ’ˆ์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

๊ตฌ๋ถ„ ์„ค๋ช…
์˜๊ตฌ์„ฑ ์ƒํ’ˆ(non-consumable) ์‚ฌ์šฉ์ž๊ฐ€ ํ•œ ๋ฒˆ ๊ตฌ๋งคํ•˜๋ฉด ์˜๊ตฌ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ’ˆ
๋‹จ๋ง ๋ฒˆํ˜ธ(MDN)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ค‘๋ณต ๊ตฌ๋งค๊ฐ€ ๋ถˆ๊ฐ€๋Šฅ
์†Œ๋ฉธ์„ฑ ์ƒํ’ˆ(consumable) ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํšŒ์ˆ˜(ํ˜น์€ ๊ฐœ์ˆ˜)์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ƒํ’ˆ

์˜ˆ์‹œ์ ์œผ๋กœ, ๋ณ„100๊ฐœ, ๋ฌผ์•ฝ 1000๊ฐœ ๋“ฑ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ ํ•ด๋‹น Item์˜ ์ˆ˜๋Ÿ‰์„ ์ฐจ๊ฐํ•˜๋ฉด์„œ ์‚ฌ์šฉํ•˜๋Š” ์ƒํ’ˆ ์œ ํ˜•
์ค‘๋ณต ๊ตฌ๋งค๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ฐจ๊ฐ์˜ ๋ฐฉ๋ฒ•๊ณผ ๊ด€๋ฆฌ๋Š” Application ํ˜น์€ Application Server์—์„œ์ž์ฒด์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋ฉฐ ์›์Šคํ† ์–ด ๊ฐœ๋ฐœ์ž์„ผํ„ฐ IAP์—์„œ๋Š” ๊ด€๋ จ ๊ธฐ๋Šฅ์„ ๋ฏธ ์ œ๊ณต

๊ธฐ๊ฐ„์„ฑ ์ƒํ’ˆ

  • ๊ตฌ๋งค ํ›„ ์ง€์ •๋œ ๊ธฐ๊ฐ„ ๋™์•ˆ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํ’ˆ์„ ๊ธฐ๊ฐ„์„ฑ ์ƒํ’ˆ์ด๋ผ ํ•˜๋ฉฐ, ์ƒํ’ˆ์˜ ์ด์šฉ ๊ธฐ๊ฐ„์— ๋”ฐ๋ผ ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์ด ๋‚˜๋‰œ๋‹ค.
  • ํ•ด๋‹น ๋ชจ๋“  ์ƒํ’ˆ์€ ๋‹จ๋ง ๋ฒˆํ˜ธ(MDN)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ค‘๋ณต ๊ตฌ๋งค๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๋‹จ, ๊ตฌ๋งคํ•œ ์ƒํ’ˆ์˜ ๊ธฐ๊ฐ„์ด ๋งŒ๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ์ƒํ’ˆ์„ ๋‹ค์‹œ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋‹ค.
๊ตฌ๋ถ„ ์„ค๋ช…
์ผ๊ฐ„ ์ƒํ’ˆ (one-day-pass) ์ด์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ๊ฐ„์ด ๊ตฌ๋งคํ•œ ์‹œ์ ๋ถ€ํ„ฐ 24์‹œ๊ฐ„์ธ ์ƒํ’ˆ
์ฃผ๊ฐ„ ์ƒํ’ˆ (one-week-pass) ์ด์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ๊ฐ„์ด ๊ตฌ๋งคํ•œ ์‹œ์ ๋ถ€ํ„ฐ 7์ผ(168์‹œ๊ฐ„)์ธ ์ƒํ’ˆ
์›”๊ฐ„ ์ƒํ’ˆ (one-month-pass) ์ด์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ๊ฐ„์ด ๊ตฌ๋งคํ•œ ์‹œ์ ๋ถ€ํ„ฐ 30์ผ์ธ ์ƒํ’ˆ
์›”์ •์•ก ์ƒํ’ˆ (auto-renewal-month) ๋งค์›” ์ •๊ธฐ์ ์œผ๋กœ ๊ฒฐ์ œ๋˜๋Š” ์ƒํ’ˆ

์‚ฌ์šฉ์ž์— ์˜ํ•ด ํ•ด์ง€ ์š”์ฒญ์ด ์—†๋Š” ํ•œ, ์›” ๋‹จ์œ„๋กœ ์ž๋™์œผ๋กœ ๊ฒฐ์ œ๋จ

์ •์‹ํŒ ์ „ํ™˜ ์ƒํ’ˆ

๋ฌด๋ฃŒ๋กœ ๋ฐฐํฌ๋˜๋Š” ์ฒดํ—˜ํŒ Application ๋‚ด์—์„œ In-App ๊ฒฐ์ œ๋ฅผ ํ•˜๋ฉด, ์œ ๋ฃŒ์˜ ์ •์‹ํŒ Application์œผ๋กœ Lock ํ•ด์ œ๋ฅผ ํ†ตํ•ด ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ’ˆ

Legacy ์ƒํ’ˆ ํƒ€์ž… ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์„ ๊ถŒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


IAP SDK ๋ ˆํผ๋Ÿฐ์Šค

IAP SDK๋Š” 7๊ฐœ์˜ Java ํด๋ž˜์Šค(๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค)๋“ค์„ ์ œ๊ณตํ•œ๋‹ค.

์ปดํฌ๋„ŒํŠธ ์„ค๋ช… ๋น„๊ณ 
IapPlugin IAP ์„œ๋ฒ„์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•œ ๊ธฐ๋ณธ IAP Plugin ํด๋ž˜์Šค
IapPlugin.RequestCallback ์š”์ฒญ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ ์ฝœ๋ฐฑ ์ธํ„ฐํŽ˜์ด์Šค
IapPlugin.AbsRequestCallback ์š”์ฒญ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ ์ฝœ๋ฐฑ ์ถ”์ƒํด๋ž˜์Šค ์‹ ๊ทœ
Response ์‘๋‹ต ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค ์‹ ๊ทœ
ProcessType ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹ ์ •์˜ ์‹ ๊ทœ
ReceiptVerificationTask.RequestCallback ์˜์ˆ˜์ฆ ๊ฒ€์ฆ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ ์ฝœ๋ฐฑ ์ธํ„ฐํŽ˜์ด์Šค ์‹ ๊ทœ
ReceiptVerificationTask.AbsRequestCallback ์˜์ˆ˜์ฆ ๊ฒ€์ฆ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ ์ฝœ๋ฐฑ ์ถ”์ƒํด๋ž˜์Šค ์‹ ๊ทœ
IapResponse ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ธํ„ฐํŽ˜์ด์Šค

[ํ‘œ] com.skplanet.dodo ํŒจํ‚ค์ง€

์ฃผ์š” ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ญ๋ชฉ์œผ๋กœ ์„ค๋ช…ํ•œ๋‹ค.

column name Description
Description ํ•จ์ˆ˜์˜ ์„ค๋ช…
Syntax ํ•จ์ˆ˜์˜ ์ฝ”๋“œ Signature
Parameters ํ•จ์ˆ˜์— ์‚ฌ์šฉ๋˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค๋ช…
Return ํ˜ธ์ถœ์‹œ ๋ฆฌํ„ด ๊ฐ’

IapPlugin ํด๋ž˜์Šค

๊ธฐ๋ณธ

Methods Return Note
getPlugin(Context context, String pluginmMode) IapPlugin
exit() void

(1) getPlugin(Context context, String pluginmMode)


Description

๊ฒฐ์ œ ๋˜๋Š” ์กฐํšŒ ์š”์ฒญ์„ ์œ„ํ•œ, ์ƒˆ๋กœ์šด IapPlugin ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

ํ˜ธ์ถœ์‹œ ํ•„์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ pluginmode ๋ฌธ์ž์—ด์„ ๋„˜๊ฒจ์ค˜์•ผ ํ•œ๋‹ค. ์ •์ƒ์ ์ธ ๊ฐ’์„, ๋„˜๊ฒจ์ฃผ์ง€ ์•Š์„ ๊ฒฝ์šฐ ์ƒ์šฉ ์„œ๋ฒ„(release) ๋ชจ๋“œ๋กœ ์…‹ํŒ…๋œ๋‹ค.

ํ˜ธ์ถœ ์‹œ๋งˆ๋‹ค, ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ๊ฐ์ฒด๋ฅผ ๋Œ๋ ค์ค€๋‹ค. ๊ฐ ๊ฐ์ฒด๋ณ„๋กœ ์„œ๋ฒ„ ์…‹ํŒ…์ด ๋‹ฌ๋ผ ์งˆ ์ˆ˜ ์žˆ๋‹ค.

Syntax

static final IapPlugin getPlugin(Context context, String pluginmMode)

Parameters

context

  • Android Context, ํ•ด๋‹น context์˜ ๊ฒฝ์šฐ ์•ˆ๋“œ๋กœ์ด๋“œ Activity context๋ฅผ ๋„ฃ๋Š” ๊ฒƒ์„ ์ถ”์ฒœ

pluginmode

  • String, ์ƒ์šฉ/๊ฐœ๋ฐœ ์„œ๋ฒ„ ์„ค์ •์šฉ ๋ฌธ์ž์—ด

  • development : ๊ฐœ๋ฐœ ์„œ๋ฒ„ (IapPlugin.DEVELOPMENT_MODE)

  • release : ์ƒ์šฉ ์„œ๋ฒ„ (IapPlugin.RELEASE_MODE)

Return ์ •์ƒ์ ์œผ๋กœ ์„ฑ๊ณต์‹œ์— IapPlugin ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฆฌํ„ด


(2) exit()


Description

IapPlugin ์ธ์Šคํ„ด์Šค์— ๋” ์ด์ƒ ์ ‘๊ทผํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ(ex. ๊ฐœ๋ฐœ์‚ฌ ์•ฑ ์ข…๋ฃŒ ์‹œ) ํ˜ธ์ถœ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๋ฏธํ˜ธ์ถœ ์‹œ์—๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ๋ฐœ์ƒ ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ ํ˜ธ์ถœ์„ ๊ถŒ์žฅํ•œ๋‹ค.

Syntax

void exit()

Explicit ์š”์ฒญ ๋ฐฉ์‹

ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ์—, ๊ฐ’๋“ค์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„˜๊ฒจ์„œ ์š”์ฒญ์„ ํ•œ๋‹ค. ์ง์ ‘ ์š”์ฒญ์ „๋ฌธ์„ String์œผ๋กœ ๋งŒ๋“ค์ง€ ์•Š๋„๋ก ํ•ด์ค€๋‹ค.

Methods Return Note
sendPaymentRequest String ์‹ ๊ทœ
sendCommandPurchaseHistory String ์‹ ๊ทœ
sendCommandProductInfo String ์‹ ๊ทœ
sendCommandCheckPurchasability String ์‹ ๊ทœ
sendCommandChangeProductProperties String ์‹ ๊ทœ
sendReceiptVerificationRequest void ์‹ ๊ทœ

(1) sendPaymentRequest


Description

๊ฒฐ์ œ๋ฅผ ์š”์ฒญํ•œ๋‹ค. ํ˜ธ์ถœ ์‹œ์— ํ•„์š”ํ•œ PaymentParams๊ฐ’์€ PaymentParams.Builder๋ฅผ ์ด์šฉํ•˜์—ฌ ๋งŒ๋“ ๋‹ค.

Syntax

String sendPaymentRequest(RequestCallback requestCallback, PaymentParams params)

Parameters

requestCallback

  • ๊ฒฐ์ œ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์„ ์ฝœ๋ฐฑ

params

  • PaymentParams.Builder๋กœ ์ƒ์„ฑ๋œ ๊ฒฐ์ œ ์š”์ฒญ ๋‚ด์šฉ
  • PaymentParams.Builder Parameter ์„ค๋ช…
Parameter Type Mandatory Limit sample Description
appid String M 10 appid=OA12345678 Application ์•„์ด๋”” (AID), ์˜๋ฌธ์ž OA์™€ ์ˆซ์ž๋ฅผ ํฌํ•จํ•œ 10๊ธ€์ž
pId String M 10 product_id=0000000011 ์ธ์•ฑ ์ƒํ’ˆID, 10์ž๋ฆฌ ์ˆซ์ž
productName String O 50 product_name=์ปค์Šคํ…€ ์ธ์•ฑ ์ƒํ’ˆ๋ช… ์ธ์•ฑ ์ƒํ’ˆ๋ช…
tid String O 100 tid=20150301_purchase_1110112 ๊ฐœ๋ฐœ์‚ฌ ์ƒ์„ฑํ•˜๋Š” ID๊ฐ’
bpInfo String O 1024 `utm_source=onestore_utm_medium=iap ์บ ํŽ˜์ธ ํ†ต๊ณ„ ๋“ฑ์„ ์œ„ํ•ด์„œ ๊ฐœ๋ฐœ์‚ฌ๊ฐ€ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ
gameUserId String O 1000 gameUserId=223123124sadas ์›์Šคํ† ์–ด ํ”„๋กœ๋ชจ์…˜ ์ค‘๋ณต ์ฐธ์—ฌ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ๊ฐ’์œผ๋กœ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์šฉ์ž์˜ ๊ณ ์œ  ์‹๋ณ„ ์ •๋ณด๋ฅผ ์ „๋‹ฌ(์ •๋ณด ๋…ธ์ถœ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด Hashํ™” ํ•˜์—ฌ ์ „๋‹ฌ ๊ถŒ์žฅ)
16.04์— ์ถ”๊ฐ€๋จ
promotionApplicable Boolean O promotionApplicable=true gameUserId ์‚ฌ์šฉ์ž๊ฐ€ ์›์Šคํ† ์–ด ํ”„๋กœ๋ชจ์…˜์— ์ฐธ๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ์„ค์ •
16.04์— ์ถ”๊ฐ€๋จ

Return ์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์‹œ์—, ์š”์ฒญ์‹๋ณ„์ž(RequestId)๋ฅผ ๋ฐ˜ํ™˜


(2) sendCommandPurchaseHistory


Description

๊ตฌ๋งค๋‚ด์—ญ ์กฐํšŒ๋ฅผ ์š”์ฒญํ•œ๋‹ค. ๋‹จ์ผ, ๋‹ค์ค‘, ์ „์ฒด ์ƒํ’ˆ์— ๋Œ€ํ•ด์„œ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

Syntax

String sendCommandPurchaseHistory(RequestCallback requestCallback, ProcessType type, String appId, String... productIds)

Parameters

requestCallback

  • ์กฐํšŒ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์„ ์ฝœ๋ฐฑ

type

  • ์š”์ฒญ์— ๋Œ€ํ•ด์„œ, Background(UI๋…ธ์ถœ ์—†์ž„)๋กœ๋งŒ ์ฒ˜๋ฆฌ ํ• ์ง€, ํ•„์š”ํ•œ ๊ฒฝ์šฐ Foreground(UI๋…ธ์ถœ ํ—ˆ์šฉ)๋ฅผ ํ—ˆ์šฉ ํ• ์ง€๋ฅผ ๊ฒฐ์ •
  • ProcessType.BACKGROUND_ONLY
  • ProcessType.FOREGROUND_IF_NEEDED

appId

  • ์กฐํšŒ๋ฅผ ํ•˜๋ ค๋Š” ์ƒํ’ˆ(์•ฑ)์˜ ID

productIds

  • ์กฐํšŒ๋ฅผ ํ•˜๋ ค๋Š” ์ƒํ’ˆ(์ธ์•ฑ์ƒํ’ˆ)์˜ ID
  • ์กฐํšŒ๋ฅผ ์›ํ•˜๋Š” ์ƒํ’ˆ์„ ๋ณต์ˆ˜๊ฐœ ์ž…๋ ฅ ๊ฐ€๋Šฅ
  • null ์ž…๋ ฅ ํ•  ๊ฒฝ์šฐ, ์ „์ฒด ์ƒํ’ˆ(์ธ์•ฑ์ƒํ’ˆ)์— ๋Œ€ํ•ด์„œ ์กฐํšŒ๋ฅผ ์ˆ˜ํ–‰

Return ์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์‹œ์—, ์š”์ฒญ์‹๋ณ„์ž(RequestId)๋ฅผ ๋ฐ˜ํ™˜


(3) sendCommandProductInfo


Description

์•ฑ์˜ ์ƒํ’ˆ(์ธ์•ฑ์ƒํ’ˆ)์ •๋ณด ์กฐํšŒ๋ฅผ ์š”์ฒญํ•œ๋‹ค.

Syntax

String sendCommandProductInfo(RequestCallback requestCallback, ProcessType type, String appId)

Parameters

requestCallback

  • ์กฐํšŒ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์„ ์ฝœ๋ฐฑ

type

  • ์š”์ฒญ์— ๋Œ€ํ•ด์„œ, Background(UI๋…ธ์ถœ ์—†์ž„)๋กœ๋งŒ ์ฒ˜๋ฆฌ ํ• ์ง€, ํ•„์š”ํ•œ ๊ฒฝ์šฐ Foreground(UI๋…ธ์ถœ ํ—ˆ์šฉ)๋ฅผ ํ—ˆ์šฉ ํ• ์ง€๋ฅผ ๊ฒฐ์ •
  • ProcessType.BACKGROUND_ONLY
  • ProcessType.FOREGROUND_IF_NEEDED

appId

  • ์กฐํšŒ๋ฅผ ํ•˜๋ ค๋Š” ์ƒํ’ˆ(์•ฑ)์˜ ID

Return ์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์‹œ์—, ์š”์ฒญ์‹๋ณ„์ž(RequestId)๋ฅผ ๋ฐ˜ํ™˜


(4) sendCommandCheckPurchasability


Description

๊ตฌ๋งค ๊ฐ€๋Šฅ์—ฌ๋ถ€ ์กฐํšŒ๋ฅผ ์š”์ฒญํ•œ๋‹ค. ๋‹จ์ผ, ๋‹ค์ค‘ ์ƒํ’ˆ์— ๋Œ€ํ•ด์„œ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

Syntax

String sendCommandCheckPurchasability(RequestCallback requestCallback, ProcessType type, String appId, String... productIds)

Parameters

requestCallback

  • ์กฐํšŒ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์„ ์ฝœ๋ฐฑ

type

  • ์š”์ฒญ์— ๋Œ€ํ•ด์„œ, Background(UI๋…ธ์ถœ ์—†์ž„)๋กœ๋งŒ ์ฒ˜๋ฆฌ ํ• ์ง€, ํ•„์š”ํ•œ ๊ฒฝ์šฐ Foreground(UI๋…ธ์ถœ ํ—ˆ์šฉ)๋ฅผ ํ—ˆ์šฉ ํ• ์ง€๋ฅผ ๊ฒฐ์ •
  • ProcessType.BACKGROUND_ONLY
  • ProcessType.FOREGROUND_IF_NEEDED

appId

  • ์กฐํšŒ๋ฅผ ํ•˜๋ ค๋Š” ์ƒํ’ˆ(์•ฑ)์˜ ID

productIds

  • ์กฐํšŒ๋ฅผ ํ•˜๋ ค๋Š” ์ƒํ’ˆ(์ธ์•ฑ์ƒํ’ˆ)์˜ ID
  • ์กฐํšŒ๋ฅผ ์›ํ•˜๋Š” ์ƒํ’ˆ์„ ๋ณต์ˆ˜๊ฐœ ์ž…๋ ฅ ๊ฐ€๋Šฅ (null ์ž…๋ ฅ ๋ถˆ๊ฐ€)

Return ์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์‹œ์—, ์š”์ฒญ์‹๋ณ„์ž(RequestId)๋ฅผ ๋ฐ˜ํ™˜


(5) sendCommandChangeProductProperties


Description

๊ตฌ๋งคํ•œ ์ƒํ’ˆ ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์š”์ฒญํ•œ๋‹ค. ์ •์•ก์ œ ์ƒํ’ˆ์˜ ๊ฒฝ์šฐ ๊ฐ€์ž… ํ•ด์ง€, ์†Œ๋ฉธ์„ฑ ์ƒํ’ˆ์˜ ๊ฒฝ์šฐ ํฌ์ธํŠธ ์ฐจ๊ฐ ๋“ฑ์„ ์š”์ฒญ

Syntax

String sendCommandChnageProductProperties(RequestCallback requestCallback, ProcessType type, String appId, String action, String... productIds)

Parameters

requestCallback

  • ์กฐํšŒ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์„ ์ฝœ๋ฐฑ

type

  • ์š”์ฒญ์— ๋Œ€ํ•ด์„œ, Background(UI๋…ธ์ถœ ์—†์ž„)๋กœ๋งŒ ์ฒ˜๋ฆฌ ํ• ์ง€, ํ•„์š”ํ•œ ๊ฒฝ์šฐ Foreground(UI๋…ธ์ถœ ํ—ˆ์šฉ)๋ฅผ ํ—ˆ์šฉ ํ• ์ง€๋ฅผ ๊ฒฐ์ •
  • ProcessType.BACKGROUND_ONLY
  • ProcessType.FOREGROUND_IF_NEEDED

appId

  • ์ƒํƒœ ๋ณ€๊ฒฝ์„ ํ•˜๋ ค๋Š” ์ƒํ’ˆ(์•ฑ)์˜ ID

action

  • cancel_subscription : ์ •์•ก ๊ฐ€์ž… ํ•ด์ง€ ์š”์ฒญ ์•ก์…˜ (Action.cancel_subscription.action())
  • subtract_points : ๊ฐ€์šฉ ํฌ์ธํŠธ ์ฐจ๊ฐ ์š”์ฒญ ์•ก์…˜ (Action.subtract_points.action())
  • null ์ž…๋ ฅ ๋ถˆ๊ฐ€

productIds

  • ์ƒํƒœ ๋ณ€๊ฒฝ์„ ํ•˜๋ ค๋Š” ์ƒํ’ˆ(์ธ์•ฑ์ƒํ’ˆ)์˜ ID
  • ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์›ํ•˜๋Š” ์ƒํ’ˆ์„ ๋ณต์ˆ˜๊ฐœ ์ž…๋ ฅ ๊ฐ€๋Šฅ (null ์ž…๋ ฅ ๋ถˆ๊ฐ€)

Return ์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์‹œ์—, ์š”์ฒญ์‹๋ณ„์ž(RequestId)๋ฅผ ๋ฐ˜ํ™˜


(6) sendReceiptVerificationRequest


Description

์ „์ž ์˜์ˆ˜์ฆ ๊ฒ€์ฆ์„ ์š”์ฒญํ•œ๋‹ค.

Syntax

void sendVerifyReceiptRequest(String appId, String txId, String signData, ReceiptVerificationTask.RequestCallback callback)

Parameters

txId

  • ๊ตฌ๋งค ๊ฒฐ๊ณผ๋กœ์„œ ๋ฐ›์€ TxID

appId

  • ๊ฒ€์ฆ์„ ํ•˜๋ ค๋Š” ์ƒํ’ˆ(์•ฑ)์˜ ID

signData

  • ๊ตฌ๋งค ๊ฒฐ๊ณผ๋กœ์„œ ๋ฐ›์€ ์˜์ˆ˜์ฆ (receipt)

callback

  • ๊ฒ€์ฆ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์„ ์ฝœ๋ฐฑ

Implicit ์š”์ฒญ ๋ฐฉ์‹

์ง์ ‘ ์š”์ฒญ์ „๋ฌธ์„ String์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ์š”์ฒญ์„ ํ•œ๋‹ค.

Methods Return Note
sendPaymentRequest Bundle
sendCommandRequest Bundle (์ข…๋ฅ˜)
request_product_info
request_purchase_history
check_purchasability
change_product_properties
sendCommandRequest Bundle ์‹ ๊ทœ

(1) sendPaymentRequest


Description

๊ฒฐ์ œ๋ฅผ ์š”์ฒญํ•œ๋‹ค. ๊ธฐ์กด ๋ฒ„์ „์—์„œ ์ œ๊ณต ํ•˜๋˜ ๊ฒƒ์œผ๋กœ, ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด์„œ ์ œ๊ณตํ•œ๋‹ค.

Syntax

// 16.03
Bundle sendPaymentRequest(String appId, String pId, String productName, String tId, String bpInfo, RequestCallback requestCallback)

// 16.04 (gameUserId, promotionApplicable parameters ์ถ”๊ฐ€
Bundle sendPaymentRequest(String appId, String pId, String productName, String tId, String bpInfo, String gameUserId, boolean promotionApplicable, RequestCallback requestCallback)

Parameters

appId, pId, productName, tId, bpInfo, gameUserId, promotionApplicable

Parameter Type Mandatory Limit sample Description
appid String M 10 appid=OA12345678 Application ์•„์ด๋”” (AID), ์˜๋ฌธ์ž OA์™€ ์ˆซ์ž๋ฅผ ํฌํ•จํ•œ 10๊ธ€์ž
pId String M 10 product_id=0000000011 ์ธ์•ฑ ์ƒํ’ˆID, 10์ž๋ฆฌ ์ˆซ์ž
productName String O 50 product_name=์ปค์Šคํ…€ ์ธ์•ฑ ์ƒํ’ˆ๋ช… ์ธ์•ฑ ์ƒํ’ˆ๋ช…
tid String O 100 tid=20150301_purchase_1110112 ๊ฐœ๋ฐœ์‚ฌ ์ƒ์„ฑํ•˜๋Š” ID๊ฐ’
bpInfo String O 1024 `utm_source=onestore_utm_medium=iap ์บ ํŽ˜์ธ ํ†ต๊ณ„ ๋“ฑ์„ ์œ„ํ•ด์„œ ๊ฐœ๋ฐœ์‚ฌ๊ฐ€ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ
gameUserId String O 1000 gameUserId=223123124sadas ์›์Šคํ† ์–ด ํ”„๋กœ๋ชจ์…˜ ์ค‘๋ณต ์ฐธ์—ฌ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ๊ฐ’์œผ๋กœ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์šฉ์ž์˜ ๊ณ ์œ  ์‹๋ณ„ ์ •๋ณด๋ฅผ ์ „๋‹ฌ(์ •๋ณด ๋…ธ์ถœ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด Hashํ™” ํ•˜์—ฌ ์ „๋‹ฌ ๊ถŒ์žฅ)
16.04์— ์ถ”๊ฐ€๋จ
promotionApplicable Boolean O promotionApplicable=true gameUserId ์‚ฌ์šฉ์ž๊ฐ€ ์›์Šคํ† ์–ด ํ”„๋กœ๋ชจ์…˜์— ์ฐธ๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ์„ค์ •
16.04์— ์ถ”๊ฐ€๋จ
  • product_name ์€ ํ•œ๊ธ€์€ 50์ž, ์˜๋ฌธ์€ 100์ž๊นŒ์ง€ ๊ฐ€๋Šฅํ•˜๋‚˜, 50์ž ์ดํ•˜๋ฅผ ๊ถŒ์žฅํ•จ
  • tid, product_name์—์„œ ์Œ๋”ฐ์˜ดํ‘œ( ", double quotation ) ๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€
  • tid ์—์„œ ๋„์–ด์“ฐ๊ธฐ ๋ถˆ๊ฐ€

requestCallback

  • ๊ฒฐ์ œ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์„ ์ฝœ๋ฐฑ

Return ์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์‹œ์—, ์š”์ฒญ์‹๋ณ„์ž(RequestId)๋ฅผ ํฌํ•จํ•œ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ (์‹คํŒจ์‹œ์—๋Š” null์„ ๋ฆฌํ„ด)

bundle์˜ Extra Key

  • req.id : ์š”์ฒญ์‹๋ณ„์ž
  • req.rescode : ์š”์ฒญ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฝ”๋“œ
  • req.resmsg : ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ ๋ฉ”์‹œ์ง€
Callback์œผ๋กœ ์ „๋‹ฌ ๋˜๋Š” ๊ฒฐ๊ณผ ์ „๋ฌธ

IAP ์„œ๋ฒ„๋Š” ๊ตฌ๋งค ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ JSON ํ˜•ํƒœ์˜ ์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ „์†กํ•œ๋‹ค. ๊ตฌ๋งค ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๊ฒฐ๊ณผ ๋ฐ ์—๋Ÿฌ์ฝ”๋“œ๋Š” ๋ ˆํผ๋Ÿฐ์Šค(Result-Code) ์ฐธ์กฐํ•œ๋‹ค

Parameter Type Mandatory Limit sample Description
api_version String M 1 4 IAP API๋ฒ„์ „
identifier String M 10 1234567890 ์š”์ฒญ ์‹๋ณ„์ž
method String M - purchase ์š”์ฒญ ๋ฉ”์†Œ๋“œ
๊ตฌ๋งค ์š”์ฒญ์— ๋Œ€ํ•œ ๋ฉ”์†Œ๋“œ๋Š” ํ•ญ์ƒ purchase ์ž„
result Object M - ์š”์ฒญ ๋ฉ”์†Œ๋“œ์— ๋”ฐ๋ฅธ ๊ฒฐ๊ณผ Object
code String M 4 1000 ๊ฒฐ๊ณผ ์ฝ”๋“œ (๋ ˆํผ๋Ÿฐ์Šค(Result-Code) ์ฐธ์กฐ)
message String M - ํ•„์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ์ฝ”๋“œ์— ๋”ฐ๋ฅธ ๋ฉ”์‹œ์ง€
txid String O 40 TSTOREXXXX_20160515102510XXXXXXXXXXXXXXX ์ „์ž์˜์ˆ˜์ฆ ID
receipt String O ์ตœ๋Œ€ 5kbyte - ์ „์ž ์˜์ˆ˜์ฆ, ๊ตฌ๋งค ์œ ํšจ์„ฑ์— ๋Œ€ํ•œ ์‚ฌ์ด๋‹๊ฐ’
count Number O 1 1 ๊ตฌ๋งค ์„ฑ๊ณต ์ƒํ’ˆ ์ˆ˜
tid String O 1024 20150301_purchase_1110112 ๊ฐœ๋ฐœ์‚ฌ๊ฐ€ ๋ฐœ๊ธ‰ํ•œ TID
product Array O ์ƒํ’ˆ ์ •๋ณด Array
id String O 10 0000000011 ์ธ์•ฑ์ƒํ’ˆ ID
name String O 200 ์ปค์Šคํ…€ ์ธ์•ฑ ์ƒํ’ˆ๋ช… ์ธ์•ฑ ์ƒํ’ˆ๋ช…
kind String O - consumable

- non-consumable: ์˜๊ตฌ์„ฑ ๊ฑด๋‹น์ƒํ’ˆ
- consumable: ์†Œ๋ฉธ์„ฑ ๊ฑด๋‹น์ƒํ’ˆ
- one-day-pass: ์ผ๊ธฐ๊ฐ„ ์ƒํ’ˆ
- one-week-pass: ์ฃผ๊ธฐ๊ฐ„ ์ƒํ’ˆ
- one-month-pass: ์›”๊ธฐ๊ฐ„ ์ƒํ’ˆ
์ƒํ’ˆ ์ข…๋ฅ˜
price Number O 6 300000 ์ธ์•ฑ์ƒํ’ˆ ๊ฐ€๊ฒฉ ํ•„์ˆ˜ (์ตœ๋Œ€ 30๋งŒ)

์ธ์•ฑ ์ƒํ’ˆ๋ช…์€ request ์‹œ์ ์— ์ „๋‹ฌํ•œ ๊ฐ’์„ ๋ฆฌํ„ดํ•จ (์—†์œผ๋ฉด ๊ฐœ๋ฐœ์ž์„ผํ„ฐ ๋“ฑ๋ก๋ช… ์‚ฌ์šฉ) bp_info ๋Š” json ์‘๋‹ต์œผ๋กœ๋Š” ๋ฆฌํ„ดํ•˜์ง€ ์•Š์Œ??

[ํ†ต์‹ ์‚ฌ๋ณ„ TXID ๋ถ€์—ฌ Sample]

๊ตฌ๋ถ„ ์–‘์‹ ๋น„๊ณ 
SKT TSTOREXXXX_20150515102510XXXXXXXXXXXXXXX TSTORE+4์ž๋ฆฌ์˜ ์‹๋ณ„์ž
KT KTXXXXXXXX_20150515102510XXXXXXXXXXXXXXX KT+8์ž๋ฆฌ์˜ ์‹๋ณ„์ž
LG LGXXXXXXXX_20150515102510XXXXXXXXXXXXXXX LG+8์ž๋ฆฌ์˜ ์‹๋ณ„์ž
Example(๊ฒฐ๊ณผ ์ „๋ฌธ)
{
	"api_version" : "(api version)", 
	"identifier" : "(request id)", 
	"method" : "purchase", 
	"result" : {
		"code" : "(result code)",
		"message" : "(result message)",
		"txid" : "(id)",
		"receipt" : "(encode receipt using Base64)", 
		"count" : "(count of product)",
		"product" : [ { "(product information)" } ]
		}
}

(2) sendCommandRequest


Description

์—ฌ๋Ÿฌ๊ฐ€์ง€ ์กฐํšŒ(์š”์ฒญ)์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • ๊ตฌ๋งค๋‚ด์—ญ ์กฐํšŒ
  • ์ƒํ’ˆ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
  • ๊ตฌ๋งค ๊ฐ€๋Šฅ์—ฌ๋ถ€ ์ฒดํฌ
  • ๊ตฌ๋งคํ•œ ์ƒํ’ˆ ์ƒํƒœ ๋ณ€๊ฒฝ ์š”์ฒญ

Syntax

Bundle sendCommandRequest(String param, RequestCallback requestCallback)

Parameters

param

  • ์กฐํšŒ๋ฅผ ์œ„ํ•œ json ํฌ๋งท์˜ ์š”์ฒญ ์ „๋ฌธ

requestCallback

  • ๊ฒฐ์ œ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์„ ์ฝœ๋ฐฑ

Return ์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์‹œ์—, ์š”์ฒญ์‹๋ณ„์ž(RequestId)๋ฅผ ํฌํ•จํ•œ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ (์‹คํŒจ์‹œ์—๋Š” null์„ ๋ฆฌํ„ด)

bundle์˜ Extra Key

  • req.id : ์š”์ฒญ์‹๋ณ„์ž
  • req.rescode : ์š”์ฒญ์— ๋Œ€ํ•œ ์—๋Ÿฌ ์ฝ”๋“œ
  • req.resmsg : ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ ๋ฉ”์‹œ์ง€
param์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์„ค๋ช… (json)
Parameter Type Mandatory Limit sample Description
method String M - request_purchase_history ์ •์˜๋œ ๊ธฐ๋Šฅ ๋ฉ”์†Œ๋“œ ์ด๋ฆ„
param Object M - ๋ฉ”์†Œ๋“œ์—์„œ ์š”๊ตฌ๋˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ณด
appid String M 10 "appid" : "OA12345678", Application ID(AID)
product_id Array O - "product_id" : ["0000000020", "0000000021"] } ์ธ์•ฑ์ƒํ’ˆID, Array๋กœ ๋ณต์ˆ˜ ๋“ฑ๋ก ๊ฐ€๋Šฅ
action String O - cancel_subscription ๋˜๋Š” subtract_points change_product_properties๋ฉ”์†Œ๋“œ์˜ ์„œ๋ธŒ ์•ก์…˜
filter Object O - - ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ filter ์„ค์ •(ํƒ€์ž…, ์ข…๋ฅ˜, ๋‚ ์งœ)

Method ์ข…๋ฅ˜

Method Description Req Parameters
request_product_info AID์— ๋“ฑ๋ก๋œ ๋ชจ๋“  ์ธ์•ฑ์ƒํ’ˆ ์ •๋ณด ์กฐํšŒ appid
request_purchase_history ๊ตฌ๋งค ์ด๋ ฅ ์กฐํšŒ(๋‹จ์ผ, ๋‹ค์ค‘, ๋ชจ๋“  ์ƒํ’ˆ) appid, product_id
check_purchasability ๊ตฌ๋งค ๊ฐ€๋Šฅํ•œ ์ƒํ’ˆ ์กฐํšŒ appid, product_id
change_product_properties ๊ตฌ๋งคํ•œ ์ƒํ’ˆ ์ƒํƒœ ๋ณ€๊ฒฝ ์š”์ฒญ appid, product_id, action
  • action: cancel_subscription ์ •์•ก ๊ฐ€์ž… ํ•ด์ง€ ์š”์ฒญ ์•ก์…˜
  • action: subtract_points ๊ฐ€์šฉ ํฌ์ธํŠธ ์ฐจ๊ฐ ์š”์ฒญ ์•ก์…˜

ํ•˜์œ„ ํ˜ธํ™˜์šฉ method

์•„๋ž˜ method๋Š” ๊ตฌ๋ฒ„์ „ IAP์—์„œ ์‚ฌ์šฉํ•œ ๊ทœ๊ฒฉ์œผ๋กœ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Œ

|Method|Description|Req Parameters| |-----|-----|-----| |auth_item |๊ตฌ๋งคํ•œ ๋‹จ์ผ/๋‹ค์ค‘ ์ƒํ’ˆ ์กฐํšŒ ์š”์ฒญ|appid, product_id| |whole_auth_item |๊ตฌ๋งคํ•œ ๋ชจ๋“  ์ƒํ’ˆ ์กฐํšŒ ์š”์ฒญ |appid| |monthly_withdraw |์›” ์ •์•ก ํ•ด์ง€ ์š”์ฒญ |appid, product_id| |item_use |์†Œ๋ฉธ์„ฑ ์ƒํ’ˆ ํฌ์ธํŠธ ์ฐจ๊ฐ ์š”์ฒญ |appid, product_id|

Example(param)
{
	"method" : "(method name)", 
	"param" : {
		"appid" : "(application id)", 
		"product_id" : ["(product id)"], 
		"action" : "(sub action of method)" 
		}
}
response (json)

๊ฒฐ๊ณผ ๋ฐ ์—๋Ÿฌ์ฝ”๋“œ๋Š” ๋ ˆํผ๋Ÿฐ์Šค(Result-Code) ์ฐธ์กฐํ•œ๋‹ค

Parameter Type Mandatory Limit sample Description
api_version String M 1 4 IAP API ๋ฒ„์ „
identifier String M 10 1234567890 ์š”์ฒญ ์‹๋ณ„์ž
method String M - request_product_info ์š”์ฒญ ๋ฉ”์†Œ๋“œ
result Object M - ์š”์ฒญ ๋ฉ”์†Œ๋“œ์— ๋”ฐ๋ฅธ ๊ฒฐ๊ณผ Object
code String M 4 0000 ๊ฒฐ๊ณผ ์ฝ”๋“œ
message String M - ์•„์ดํ…œ ์กฐํšŒ์— ์„ฑ๊ณตํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ์ฝ”๋“œ์— ๋”ฐ๋ฅธ ๋ฉ”์‹œ์ง€
count Number O 1 3 ์กฐํšŒ์— ์„ฑ๊ณตํ•œ ์ƒํ’ˆ๊ฐฏ์ˆ˜
product Array O ์ƒํ’ˆ ์ •๋ณด Array
appid String O 10 OA00012345 AID
id String M 10 0000000020 ์ธ์•ฑ์ƒํ’ˆ ID
name String O 200 ์ปค์Šคํ…€ ์ƒํ’ˆ๋ช… ์ธ์•ฑ ์ƒํ’ˆ๋ช…
type String O - one-time: ๊ฑด๋‹น์ƒํ’ˆ
subscription: ๊ธฐ๊ฐ„์ƒํ’ˆ
entitlement: ์ •์‹ํŒ ์ „ํ™˜ ์ƒํ’ˆ
auto-renewal-month: ์›”์ •์•ก ์ƒํ’ˆ
์ƒํ’ˆ ํƒ€์ž…
kind String O - non-consumable: ์˜๊ตฌ์„ฑ ์ƒํ’ˆ
consumable: ์†Œ๋ฉธ์„ฑ ์ƒํ’ˆ
one-day-pass: ์ผ๊ธฐ๊ฐ„ ์ƒํ’ˆ
one-week-pass: ์ฃผ๊ธฐ๊ฐ„ ์ƒํ’ˆ
one-month-pass: ์›”๊ธฐ๊ฐ„ ์ƒํ’ˆ
์ƒํ’ˆ ์ข…๋ฅ˜
validity Number O - ์˜๊ตฌ์„ฑ ์ƒํ’ˆ: 1 (์œ ํšจ)
๊ธฐ๊ฐ„์ œ ์ƒํ’ˆ: 7 (7์ผ ๋‚จ์Œ)
์›”์ •์•ก ์ƒํ’ˆ: 365 (1๋…„ ๋‚จ์Œ)
์˜๊ตฌ์„ฑ ์ƒํ’ˆ์˜ ์œ ํšจ์„ฑ ๋˜๋Š”

๊ธฐ๊ฐ„์ œ ์ƒํ’ˆ์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ผ์ˆ˜
price Number O 6 300000 ์ƒํ’ˆ ๊ฐ€๊ฒฉ (์ตœ๋Œ€ 30๋งŒ์›)
startDate String O 14 20160714104950
(Format: YYYYMMDDhhmmss)
์ƒํ’ˆ ๊ตฌ๋งค์ผ
endDate String O 14 20170714104950 ์ƒํ’ˆ ์ข…๋ฃŒ์ผ
(๊ธฐ๊ฐ„์ œ ํ˜น์€ ์ •์•ก์ œ ์ƒํ’ˆ์˜ ๋งŒ๋ฃŒ ๋‚ ์งœ๋ฅผ ์˜๋ฏธ)
purchasability Boolean O - true / false ์ƒํ’ˆ ๊ตฌ๋งค ๊ฐ€๋Šฅ ์—ฌ๋ถ€
status Object O - ํŠน์ • ๋ฉ”์†Œ๋“œ ์‘๋‹ต์ผ ๊ฒฝ์šฐ status ํ•„๋“œ ํ•„์ˆ˜ ํฌํ•จ request_purchase_history
change_product_properties

- - -
auth_item
item_use
monthly_withdraw
code String M 4 PH00 (Hex)๊ฒฐ๊ณผ ์ฝ”๋“œ
message String M - ์•„์ดํ…œ ์ธ์ฆ์— ์„ฑ๊ณตํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ๋ฉ”์‹œ์ง€

์ฃผ์˜์‚ฌํ•ญ

  • ์›”์ •์•ก ์ƒํ’ˆ[auto-renewal-month] ์ธ ๊ฒฝ์šฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ผ์ˆ˜๋กœ ์‚ฌ์šฉํ•˜์ง€ ๋ง์•„์•ผ ํ•˜๋ฉฐ endDate ๊ธฐ์ค€์œผ๋กœ Application ์—์„œ ํ™•์ธํ›„ ์‚ฌ์šฉํ•œ๋‹ค.
  • status ๋Š” ์•„๋ž˜ ๋ฉ”์†Œ๋“œ ์‘๋‹ต์ผ ๊ฒฝ์šฐ์—๋งŒ ํ•„์ˆ˜๋กœ ๊ฒฐ๊ณผ์ฝ”๋“œ์™€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.
    • request_purchase_history
    • change_product_properties

    • auth_item
    • item_use
    • monthly_withdraw
Example(๊ฒฐ๊ณผ ์ „๋ฌธ)

์‘๋‹ต ๋ฐ์ดํ„ฐ ๊ธฐ๋ณธ ํ˜•์‹

{
	"api_version" : "(api version)", 
	"identifier" : "(request id)", 
	"method" : "purchase", 
	"result" : { 
		"code" : "(result code)", 
		"message" : "(result message)" 
   }
}

์กฐํšŒ์„ฑ qurey์˜ ์‘๋‹ต ๋ฐ์ดํ„ฐ ํ˜•์‹ ์กฐํšŒ์„ฑ ์ปค๋งจ๋“œ ์š”์ฒญ์ผ ๊ฒฝ์šฐ ์‘๋‹ต ๋ฐ์ดํ„ฐ result ํ•„๋“œ ์•ˆ์— product ํ•„๋“œ๊ฐ€ ํฌํ•จ๋˜๋ฉฐ product ํ•„๋“œ ์•ˆ์— ํฌํ•จ๋˜๋Š” ํ•„๋“œ ์ •๋ณด๋Š” ๊ฐ ๊ธฐ๋Šฅ ๋ฉ”์†Œ๋“œ ๋ณ„๋กœ ์ƒ์ดํ•˜๋‹ค

{
	"api_version" : "(api version)", 
	"identifier" : "(request id)", 
	"method" : "purchase", 
	"result" : {
		"code" : "(result code)",
		"message" : "(result message)",
		"count" : "(count of product)",
		"product" : [ { "(product information)" } ] 
	}
} 
 

(3) sendCommandRequest


์œ„์™€ ๋™์ผํ•œ ๊ธฐ๋Šฅ์ด๋ฉฐ, Foregroundํ—ˆ์šฉ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ • ํ•  ์ˆ˜ ์žˆ์‹ญ๋‹ˆ๋‹ค.

Description

์—ฌ๋Ÿฌ๊ฐ€์ง€ ์กฐํšŒ(์š”์ฒญ)์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • ๊ตฌ๋งค๋‚ด์—ญ ์กฐํšŒ
  • ์ƒํ’ˆ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
  • ๊ตฌ๋งค ๊ฐ€๋Šฅ์—ฌ๋ถ€ ์ฒดํฌ
  • ๊ตฌ๋งคํ•œ ์ƒํ’ˆ ์ƒํƒœ ๋ณ€๊ฒฝ ์š”์ฒญ

Syntax

Bundle sendCommandRequest(String param, RequestCallback requestCallback, ProcessType type)

Parameters

param

  • ์กฐํšŒ๋ฅผ ์œ„ํ•œ json ํฌ๋งท์˜ ์š”์ฒญ ์ „๋ฌธ

requestCallback

  • ๊ฒฐ์ œ ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์„ ์ฝœ๋ฐฑ

type

  • ์š”์ฒญ์— ๋Œ€ํ•ด์„œ, Background(UI๋…ธ์ถœ ์—†์ž„)๋กœ๋งŒ ์ฒ˜๋ฆฌ ํ• ์ง€, ํ•„์š”ํ•œ ๊ฒฝ์šฐ Foreground(UI๋…ธ์ถœ ํ—ˆ์šฉ)๋ฅผ ํ—ˆ์šฉ ํ• ์ง€๋ฅผ ๊ฒฐ์ •
  • ProcessType.BACKGROUND_ONLY
  • ProcessType.FOREGROUND_IF_NEEDED

Return ์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์‹œ์—, ์š”์ฒญ์‹๋ณ„์ž(RequestId)๋ฅผ ํฌํ•จํ•œ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ (์‹คํŒจ์‹œ์—๋Š” null์„ ๋ฆฌํ„ด)



IapPlugin.AbsRequestCallback ํด๋ž˜์Šค

์š”์ฒญ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ ์ถ”์ƒ ํด๋ž˜์Šค์ด๋‹ค. ํ•ด๋‹น ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ , ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์š”์ฒญ ์‹œ์— ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์•ผ ํ•œ๋‹ค.


private IapPlugin.AbsRequestCallback mAbsRequestCallback = new IapPlugin.AbsRequestCallback() {
        @Override
        protected void onResponse(Response response) {
            // ์ •์ƒ์ ์ธ ์‘๋‹ต์„ ๋ฐ›์Œ
        }

        @Override
        public void onError(String reqid, String errcode, String errmsg) {
            // ์—๋Ÿฌ๋ฐœ์ƒ
        }
    };

AbsRequestCallback ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

Methods Description
onError ์š”์ฒญ ์ฒ˜๋ฆฌ ์ค‘ ์‹คํŒจํ•˜๋ฉด ํ˜ธ์ถœ๋˜๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜
onResponse ์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ๋ฅผ ์‘๋‹ต ๋ฐ›์€ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜

onError


Description

์š”์ฒญ ์ฒ˜๋ฆฌ ์ค‘ ์‹คํŒจํ•˜๋ฉด ํ˜ธ์ถœ๋˜๋Š” ์ฝœ๋ฐฑ

onError ์—๋Ÿฌ ์ฝ”๋“œ, ๋ฉ”์‹œ์ง€ ์ •์˜๋Š” ๋ ˆํผ๋Ÿฐ์Šค(Result-Code) ์ฐธ์กฐํ•œ๋‹ค.

Syntax

void onError(String reqid, String errcode, String errmsg)

Parameters

  • reqid ์š”์ฒญ ์•„์ด๋””
  • errcode ์‹คํŒจ ์ฝ”๋“œ
  • errmsg ์‹คํŒจ ๋ฉ”์‹œ์ง€

onResponse


Description

์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ๋ฅผ ์‘๋‹ต ๋ฐ›์€ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ์ฝœ๋ฐฑ

Syntax

void onResponse(Response response)


Response ํด๋ž˜์Šค

์‘๋‹ต ํด๋ž˜์Šค (๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ์Œ)์ด๋‹ค. IapResultCallback์˜ onResponse ํ˜ธ์ถœ(์ฝœ๋ฐฑ) ์‹œ์— ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ ๋œ๋‹ค.

์ด ํด๋ž˜์Šค๋Š” ์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ Stringํ˜•ํƒœ์˜ ๊ฒฐ๊ณผ๋ฅผ ํด๋ž˜์Šค์˜ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•œ ๊ฒƒ์ด๋‹ค. ๊ธฐ์กด์—๋Š” ์ƒ˜ํ”Œํ”„๋กœ์ ํŠธ์˜ helper ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•ด์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๋ณ€ํ™˜ํ•˜์˜€์œผ๋‚˜, ์ด๋ฒˆ ๋ฒ„์ „ ๋ถ€ํ„ฐ๋Š” ๋ณ€ํ™˜ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜์ • ๋˜์—ˆ๋‹ค.

๋ชจ๋“  ํ•„๋“œ๋Š” public์œผ๋กœ์„œ ์ง์ ‘ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ชจ๋“  ํ•„๋“œ๋Š” null ์ผ ์ˆ˜ ์žˆ๋‹ค. ์„œ๋ฒ„๋กœ ๋ถ€ํ„ฐ ์ •๋ณด๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ null์ด ์…‹ํŒ… ๋œ๋‹ค.


public class Response {
    public final String api_version;
    public final String identifier;
    public final String method;
    public final Result result;
    ...
}

public static class Result {
    public final String message;
    public final String code;
    public final String txid;
    public final String receipt;
    public final Integer count;
    public final List<Product> product;
    ...
}

public static class Product {
    public String appid;
    public String id;
    public String name;
    public String type;
    public String kind;
    public Integer validity;
    public Double price;
    public String startDate;
    public String endDate;
    public Boolean purchasability;
    public Status status;
    ...
}

public static class Status {
    public String code;
    public String message;
    ...
}

ProcessType Enum ์„ค๋ช…

์š”์ฒญ ์ฒ˜๋ฆฌ ํƒ€์ž…์„ ์ •์˜ํ•œ enum์ด๋‹ค.


public enum ProcessType {
    BACKGROUND_ONLY,
    FOREGROUND_IF_NEEDED,
}

๊ธฐ๋ณธ์ ์œผ๋กœ FOREGROUND_IF_NEEDED์„ ์„ค์ •์„ ์ถ”์ฒœํ•œ๋‹ค.

์š”์ฒญ ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ Ui ๋…ธ์ถœ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด,

  • ํผ๋ฏธ์…˜ ์š”๊ตฌ ํ™”๋ฉด
  • ONE store service ์„ค์น˜ ์š”๊ตฌ ํ™”๋ฉด

์œ„์™€ ๊ฐ™์€ ์ƒํ™ฉ๋“ค์ด ์กด์žฌํ•œ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์— ๋Œ€ํ•ด์„œ ์š”์ฒญ์„ ์ค‘์ง€ ์‹œํ‚ค๊ณ  ์—๋Ÿฌ๋ฅผ ๋ฐ›๊ณ  ์‹ถ๋‹ค๋ฉด, BACKGROUND_ONLY๋กœ ์š”์ฒญ์„ ํ•˜๋ฉด ๋œ๋‹ค.


RequestCallback ์ธํ„ฐํŽ˜์ด์Šค

IapPlugin์˜ ํ˜ธ์ถœ์„ ํ†ตํ•œ, ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•œ Callback ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.

์š”์ฒญ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์‹œ, ๊ตฌํ˜„๋œ RequestCallback ์ธ์Šคํ„ด์Šค๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•จ์œผ๋กœ ์ฝœ๋ฐฑ์ด ์„ค์ •๋˜๋ฉฐ ์š”์ฒญ ์ฒ˜๋ฆฌ ์‹คํŒจ, ์„ฑ๊ณต์— ๋”ฐ๋ผ ํ•ด๋‹นํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ ๋œ๋‹ค.

RequestCallback ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

Methods Description
onError ์š”์ฒญ ์ฒ˜๋ฆฌ ์ค‘ ์‹คํŒจํ•˜๋ฉด ํ˜ธ์ถœ๋˜๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜
onResponse ์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ๋ฅผ ์‘๋‹ต ๋ฐ›์€ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜

onError


Description

์š”์ฒญ ์ฒ˜๋ฆฌ ์ค‘ ์‹คํŒจํ•˜๋ฉด ํ˜ธ์ถœ๋˜๋Š” ์ฝœ๋ฐฑ

onError ์—๋Ÿฌ ์ฝ”๋“œ, ๋ฉ”์‹œ์ง€ ์ •์˜๋Š” ์•„๋ž˜ ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•œ๋‹ค.

Syntax

void onError(String rid, String errcode, String errmsg)

Parameters

  • rid ์š”์ฒญ ์•„์ด๋””
  • errcode ์‹คํŒจ ์ฝ”๋“œ
  • errmsg ์‹คํŒจ ๋ฉ”์‹œ์ง€

onResponse


Description

์ •์ƒ์ ์œผ๋กœ ์š”์ฒญ ์ฒ˜๋ฆฌ๊ฒฐ๊ณผ๋ฅผ ์‘๋‹ต ๋ฐ›์€ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜๋Š” ์ฝœ๋ฐฑ

onResponse ๊ฒฐ๊ณผ ์ฝ”๋“œ, ๋ฉ”์‹œ์ง€ ์ •์˜๋Š” ๋ ˆํผ๋Ÿฐ์Šค(Result-Code) ์ฐธ์กฐํ•œ๋‹ค.

Syntax

public void onResponse(IapResponse response)

Parameters

response IapResponse ๊ตฌํ˜„ํ•œ ์‘๋‹ต ๋ฐ์ดํ„ฐ ์ธ์Šคํ„ด์Šค๋กœ ๋ชฉ๋ก์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

Methods Descreption
getContentLength ์‘๋‹ต ๋ฐ์ดํ„ฐ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
getContent ์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ InputStream๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
getContentToString ์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ String์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
getContentEncoding ๋ฌธ์ž ๋ฐ์ดํ„ฐ ์ธ์ฝ”๋”ฉ ํƒ€์ž…์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค


IapResponse ์ธํ„ฐํŽ˜์ด์Šค

์„œ๋ฒ„ ์‘๋‹ต ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ฉ”์„œ๋“œ ๋ชฉ๋ก์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

Methods Descreption
getContentLength ์‘๋‹ต ๋ฐ์ดํ„ฐ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
getContent ์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ InputStream๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
getContentToString ์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ String์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
getContentEncoding ๋ฌธ์ž ๋ฐ์ดํ„ฐ ์ธ์ฝ”๋”ฉ ํƒ€์ž…์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค

getContentLength


Description

์‘๋‹ต ๋ฐ์ดํ„ฐ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

Syntax

long getContentLength())

Return

์‘๋‹ต ๋ฐ์ดํ„ฐ ๊ธธ์ด


getContent


Description

์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ InputStream๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

Syntax

InputStream getContent() throws IOException 

Return

์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” InputStream์„ ๋ฆฌํ„ด


getContentToString


Description

์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ String์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋ฌธ์ž์—ด์€ getContentEncoding ๋ฐ˜ํ™˜๋˜๋Š” ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์œผ๋กœ ๋ณ€ํ™˜๋œ๋‹ค. (๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์€ utf-8 ์ด ์‚ฌ์šฉ๋œ๋‹ค)

Syntax

String getContentToString()

Return

์ธ์ฝ”๋”ฉ๋˜์–ด์ง„ ๊ฒฐ๊ณผ๋ฅผ String์œผ๋กœ ๋ฆฌํ„ด


getContentEncoding


Description

๋ฌธ์ž ๋ฐ์ดํ„ฐ ์ธ์ฝ”๋”ฉ ํƒ€์ž…์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. (๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์€ utf-8์ด ์‚ฌ์šฉ๋œ๋‹ค.)

Syntax

String getContentEncoding()

Return ์ธ์ฝ”๋”ฉ ํƒ€์ž…์„ String์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.


โš ๏ธ **GitHub.com Fallback** โš ๏ธ