์ฑ๊ณต์ ์ธ ๊ตฌ๋ ํ ์์์ฆ ๋ฐ๊ธฐ
๊ตฌ๋
์ค๋ฅ
"sku๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ๋จผ์ getItems๋ฅผ ํธ์ถํ์ฌ ์ ํ์ ๊ฐ์ ธ ์ค์ญ์์ค."
const itemSkus = Platform.select ({
ios : [
''
],
android : [
'sub_1'
]
});
1 ๋จ๊ณ:
async componentDidMount () {
const msg = await RNIap.initConnection ();
const ํญ๋ชฉ = ๋๊ธฐ RNIap.getProducts (itemSkus);
RNIap.getProducts (items) .then ((์ ํ) => {
}). catch ((์ค๋ฅ) => {
console.log ( "inApp getProducts ์ค๋ฅ", error.message);
})
}
2 ๋จ๊ณ : ๊ตฌ๋
์ ํ
_subscribe () {
RNIap.buySubscription('sub_1').then(purchase => {
console.log("inApp Subscription transactionReceipt ",purchase.transactionReceipt);
}).catch((error) => {
console.log("inApp Subscription error",error.message);
})
}
"SKU๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ๋จผ์ getItems๋ฅผ ํธ์ถํ์ฌ ์ ํ์ ๊ฐ์ ธ ์ค์ญ์์ค."๋ผ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง
๊ตฌ๋
์ ๊ตฌ๋งคํ๊ณ ์์ง๋ง getProducts
์์ต๋๋ค. ๋์ getSubscription
๋ฅผ ์ฌ์ฉํด๋ณด์ธ์.
getSubscriptions๋ฅผ ์ฌ์ฉํ ๋๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๊ฒ์๋ ๋ฌธ์ ๊ฐ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ด๋ค ์๊ฐ? ํจ์ฐฌ
๊ทธ๋ฆฌ๊ณ ์ด ํจํค์ง (ํนํ ์ ํ ์ธ์ฑ)์ ๋ํด ์ฌ์ฉํ ์์๋ ์์ ํ ๊ตฌํ์ด ์๋ค๋ฉด ๊ทธ์ ๋ํ ๋งํฌ๋ฅผ ์ ๊ณต ํ ์ ์์ต๋๋ค.
๊ธฐ๋ค๋ฆฌ๊ณ RNIap.initConnection ();
const ์ ํ = ๋๊ธฐ RNIap.getSubscriptions (itemSkus);
const subs = ๊ธฐ๋ค๋ฆฌ๊ณ RNIap.getAvailablePurchases ();
์์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์๋ํฉ๋๋ค.
ํ์ง๋ง ๊ตฌ๋
ํญ๋ชฉ์ ๊ฐ๋ฉด ํญ๋ชฉ์ ์ฌ์ฉํ ์ ์๋ค๋ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค. ๊ตฌ๋
ํญ๋ชฉ์ ๋ํ ์๋ ์ฝ๋๋ฅผ ํ์ธํ์ญ์์ค.
RNIap.requestSubscription (itemSkus [0]). then ((๊ฒฐ๊ณผ) => {
console.log ( '๊ฒฐ๊ณผ ์์ฒญ', ๊ฒฐ๊ณผ);
}). catch ((e) => {
console.log ( '์ค๋ฅ ์์ฒญ', e);
});
๋๋ ๋ํ ๋ด๊ฐ ์ฌ์ฉํ๋ itemSkus๋ฅผ ๊ต์ฐจ ๊ฒ์ฆํ์ต๋๋ค.
getSubscriptions
์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง๋ง Android์์๋ง ๋ฐ์ํฉ๋๋ค. ํจ์๊ฐ ๊ฐ๋ ํธ์ถ๋์ง ์๋ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ตฌ๋ ์ ๊ตฌ๋งคํ๊ณ ์์ง๋ง
getProducts
์์ต๋๋ค. ๋์getSubscription
๋ฅผ ์ฌ์ฉํด๋ณด์ธ์.