์ฝ”๋“œ๋กœ IAP ๋งŒ๋“ค๋‹ค๊ฐ€ ์ดˆ๊ธฐํ™” ํ•ด์คฌ๋Š”๋ฐ ๊ณ„์† ์ดˆ๊ธฐํ™” ํ•˜๋ผ๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋– ์„œ ๊ฒฐ๊ตญ ํฌ๊ธฐํ•˜๊ณ  IAPbutton ์ด์šฉํ•˜๋ ค๊ณ  ์‚ฌ์šฉํ•ด๋ดค๋Š”๋ฐ์š”

autoclickย ์ด๋ผ๋Š” ๊ตฌ๊ธ€์ธ์•ฑID๋ฅผย  ๋ฒ„ํŠผ์— ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  ์‹ค์ œ๋กœ OnPurchaseComplete(Product) ์— ๋„ฃ์–ด์ค€ IAPs.reward ์—๋Š” ๊ทธ๋ƒฅ Debug.Log("์„ฑ๊ณต") ์ฝ”๋“œ ํ•œ ์ค„๋งŒ ๋„ฃ์–ด ์คฌ๊ตฌ์š” IAPCatalog์—๋Š”ย Nonconsumeย ๋กœ ๋“ฑ๋กํ•ด ์ฃผ์–ด์„œ 2๋ฒˆ ์ด์ƒ ๊ตฌ๋งค๊ฐ€ ์•ˆ๋˜๋Š” ๊ฒƒ ๊นŒ์ง€ ํœด๋Œ€ํฐ์—์„œ ํ™•์ธ์ด ๋˜์—ˆ๋Š”๋ฐ.


24bcc068f5dc3f8650bbd58b3685736e5352


IAP Listener๋ฅผ ์ด์šฉํ•ด์„œ ๊ตฌ๋งค๋‚ด์—ญ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ์ž˜ ๋ชฐ๋ผ์„œ


ย  ย  private IStoreController storeController;ย  ย //๊ตฌ๋งค ๊ณผ์ • ์ œ์–ดํ•˜๋Š” ํ•จ์ˆ˜

ย  ย  private IExtensionProvider storeExtensionProvider;ย  ย //ํ™•์žฅ์ฒ˜๋ฆฌ ์ œ๊ณต


ย  ย  public bool HadPurchased(string productId)

ย  ย  {

ย  ย  ย  ย  if (!IsInitialized) return false;


ย  ย  ย  ย  var product = storeController.products.WithID(productId);


ย  ย  ย  ย  if (product != null)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  return product.hasReceipt;

ย  ย  ย  ย  }

ย  ย  ย  ย  return false;

ย  ย  }


ย  ย  ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด ๋†“๊ณ ย HadPurchased("autoclick") ์ ์œผ๋‹ˆ ๊ณ„์† false๊ฐ’์ด ๋‚˜์˜ค๋„ค์š”ย IAPbutton์— id๊ฐ’๋งŒ ๋„ฃ๊ณ  ํด๋ฆญํ•˜๋ฉด ์•Œ์•„์„œ ์ฒ˜๋ฆฌ๋˜๋Š”์ค„ ์•Œ์•˜๋Š”๋ฐย 

ย  ย  IAPListener์— ๋„ฃ๋Š”ย OnPurchaseComplete(Product) ์ด๋ž‘ IAPButton์— ์žˆ๋Š”ย OnPurchaseComplete(Product)์ด ๋ญ๊ฐ€ ๋‹ค๋ฅธ์ง€๋„ ๋ชจ๋ฅด๊ฒ ๋„ค์š”.

ย  ย  IAPListener๋กœ ๊ตฌ๋งค๋‚ด์—ญ์„ ๋ถˆ๋Ÿฌ์˜ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”?


21b4c328e0c076b660b8f68b12d21a1d6c0027f709