iap_demo.gd 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. extends Control
  2. onready var alert = get_node("alert")
  3. func _ready():
  4. iap.set_auto_consume(false)
  5. iap.connect("purchase_success", self, "on_purchase_success")
  6. iap.connect("purchase_fail", self, "on_purchase_fail")
  7. iap.connect("purchase_cancel", self, "on_purchase_cancel")
  8. iap.connect("purchase_owned", self, "on_purchase_owned")
  9. iap.connect("has_purchased", self, "on_has_purchased")
  10. iap.connect("consume_success", self, "on_consume_success")
  11. iap.connect("consume_fail", self, "on_consume_fail")
  12. iap.connect("sku_details_complete", self, "on_sku_details_complete")
  13. get_node("purchase").connect("pressed", self, "button_purchase")
  14. get_node("consume").connect("pressed", self, "button_consume")
  15. get_node("request").connect("pressed", self, "button_request")
  16. get_node("query").connect("pressed", self, "button_query")
  17. func on_purchase_success(item_name):
  18. alert.set_text("Purchase success : " + item_name)
  19. alert.popup()
  20. func on_purchase_fail():
  21. alert.set_text("Purchase fail")
  22. alert.popup()
  23. func on_purchase_cancel():
  24. alert.set_text("Purchase cancel")
  25. alert.popup()
  26. func on_purchase_owned(item_name):
  27. alert.set_text("Purchase owned : " + item_name)
  28. alert.popup()
  29. func on_has_purchased(item_name):
  30. if item_name == null:
  31. alert.set_text("Don't have purchased item")
  32. else:
  33. alert.set_text("Has purchased : " + item_name)
  34. alert.popup()
  35. func on_consume_success(item_name):
  36. alert.set_text("Consume success : " + item_name)
  37. alert.popup()
  38. func on_consume_fail():
  39. alert.set_text("Try to request purchased first")
  40. alert.popup()
  41. func on_sku_details_complete():
  42. alert.set_text("Got detail info : " + to_json(iap.sku_details["item_test_a"]))
  43. alert.popup()
  44. func button_purchase():
  45. iap.purchase("item_tess")
  46. func button_consume():
  47. iap.consume("item_tess")
  48. func button_request():
  49. iap.request_purchased()
  50. func button_query():
  51. iap.sku_details_query(["item_test_a", "item_test_b"])