ํ”Œ๋ ˆ์ดํŒน ์“ฐ๊ณ  ์žˆ์–ด์„œ iap ์„ฑ๊ณตํ•˜๊ณ  ๋‚˜๋ฉด plafab player data๋กœ ํ‚ค ๋ฐ์ดํ„ฐ ์ƒ์„ฑํ•˜๊ฒŒ ํ•ด๋†จ๊ฑฐ๋“ ?ย 


๊ทธ๋ƒฅ ํ™•์ธ์šฉ์œผ๋กœ... (์•„๋ž˜ ์ฝ”๋“œ ์ฐธ๊ณ )


์–ด์ œ ํŠน์ • ์œ ์ € ํ•œ๋ช…์„ ๋ณด๋Š”๋ฐ ๋ชจ๋“  ํŒจํ‚ค์ง€๋ž‘ ํฌ๋ฆฌ์Šคํƒˆ์ด ํ”ŒํŒน ํ‚ค๋กœ ์ƒ์„ฑ์ด ๋œ๊ฑฐ์ž„.


๊ทผ๋ฐ ๊ตฌ๊ธ€ํ”Œ๋ ˆ์ด ์ฝ˜์†” - ์ฃผ๋ฌธ๊ด€๋ฆฌ ๊ฐ€๋ฉด ์ „ํ˜€ ๊ตฌ๋งค๋‚ด์—ญ์ด ์•ˆ๋‚˜์˜ด (๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๊ตฌ๋งคํ•œ๊ฑด ๋‹ค ์ž˜๋งŒ ๋‚˜์˜ด)


์ด๊ฑฐ ์ธ์•ฑ๊ฒฐ์ œ๋ฅผ ์–ด๋–ค์‹์œผ๋กœ ์น˜ํŒ…์„ํ•œ๊ฑด๊ฐ€ ๋ญ์ง€??? ๋‹นํ™ฉ์Šค๋Ÿฝ๋„ค... ํ˜น์‹œ ๋‚ด๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž˜๋ชป์ง ๊ฒŒ ์žˆ๋‚˜?


ย  ย  public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs purchaseEvent)

ย  ย  {

ย  ย  ย  ย  Debug.Log($"Successfully purchased {purchaseEvent.purchasedProduct.definition.id}");

ย  ย  ย  ย  OnPurchaseCompleted?.Invoke();

ย  ย  ย  ย  OnPurchaseCompleted = null;

ย  ย  ย  ย  LoadingOverlay.SetActive(false);


ย  ย  ย  ย  string bought_item = purchaseEvent.purchasedProduct.definition.id;


ย  ย  ย  ย  if (bought_item == "์•„์ดํ…œ์ด๋ฆ„")

ย  ย  ย  ย  {


ย  ย  ย  ย  ย  ย  var data = new Dictionary<string, string>() { { "์•„์ดํ…œ์ด๋ฆ„", "true" } };


ย  ย  ย  ย  ย  ย  PlayFabClientAPI.UpdateUserData(new PlayFab.ClientModels.UpdateUserDataRequest { Data = data, Permission = PlayFab.ClientModels.UserDataPermission.Public },

ย  ย  ย  ย  ย  ย  ย  ย  updateResult =>

ย  ย  ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  Debug.Log("์•„์ดํ…œ์ด๋ฆ„ย player data created");


์—ฌ๊ธฐ๊นŒ์ง€ ๋“ค์–ด์™€์•ผ key๊ฐ€ ์ƒ์„ฑ์ด ๋˜๋Š”๋ฐ.... ์ƒ์„ฑ์€ ๋๋Š”๋ฐ ๊ตฌ๋งค๋‚ด์—ญ์— ์—†๋‹จ ๋ง์ž„..;; ใ„ท ๋ฌด์Šจ์ผ์ผ๊นŒ ใ… 


๋น„์Šทํ•œ ๊ฒฝํ—˜ ์žˆ๋Š”์‚ฌ๋žŒ ์žˆ๋‚˜ ํ˜น์‹œ... ๋„์™€์ฃ