Example.gd 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. extends Control
  2. onready var EnableBanner : Button = $Background/TabContainer/AdFormats/VBoxContainer/Banner/EnableBanner
  3. onready var DisableBanner : Button = $Background/TabContainer/AdFormats/VBoxContainer/Banner/DisableBanner
  4. onready var ShowBanner : Button = $Background/TabContainer/AdFormats/VBoxContainer/Banner2/ShowBanner
  5. onready var HideBanner : Button = $Background/TabContainer/AdFormats/VBoxContainer/Banner2/HideBanner
  6. onready var Interstitial : Button = $Background/TabContainer/AdFormats/VBoxContainer/Interstitial
  7. onready var Rewarded : Button = $Background/TabContainer/AdFormats/VBoxContainer/Rewarded
  8. onready var RewardedInterstitial : Button = $Background/TabContainer/AdFormats/VBoxContainer/RewardedInterstitial
  9. onready var RequestUserConsent : Button = $Background/TabContainer/UMP/VBoxContainer/RequestUserConsent
  10. onready var ResetConsentState : Button = $Background/TabContainer/UMP/VBoxContainer/ResetConsentState
  11. onready var Advice : RichTextLabel = $Background/Advice
  12. onready var BannerPosition : CheckBox = $Background/TabContainer/Banner/VBoxContainer/Position
  13. onready var RespectSafeArea : CheckBox = $Background/TabContainer/Banner/VBoxContainer/RespectSafeArea
  14. onready var BannerSizes : ItemList = $Background/TabContainer/Banner/VBoxContainer/BannerSizes
  15. func _add_text_Advice_Node(text_value : String) -> void:
  16. Advice.bbcode_text += text_value + "\n"
  17. func _ready() -> void:
  18. BannerPosition.pressed = MobileAds.AdMobSettings.config.banner.position
  19. RespectSafeArea.pressed = MobileAds.AdMobSettings.config.banner.respect_safe_area
  20. OS.center_window()
  21. for banner_size in MobileAds.AdMobSettings.BANNER_SIZE:
  22. BannerSizes.add_item(banner_size)
  23. if OS.get_name() == "Android" or OS.get_name() == "iOS":
  24. # warning-ignore:return_value_discarded
  25. MobileAds.connect("consent_form_dismissed", self, "_on_MobileAds_consent_form_dismissed")
  26. # warning-ignore:return_value_discarded
  27. MobileAds.connect("consent_form_load_failure", self, "_on_MobileAds_consent_form_load_failure")
  28. # warning-ignore:return_value_discarded
  29. MobileAds.connect("consent_info_update_failure", self, "_on_MobileAds_consent_info_update_failure")
  30. # warning-ignore:return_value_discarded
  31. MobileAds.connect("consent_info_update_success", self, "_on_MobileAds_consent_info_update_success")
  32. # warning-ignore:return_value_discarded
  33. MobileAds.connect("consent_status_changed", self, "_on_MobileAds_consent_status_changed")
  34. # warning-ignore:return_value_discarded
  35. MobileAds.connect("banner_loaded", self, "_on_MobileAds_banner_loaded")
  36. # warning-ignore:return_value_discarded
  37. MobileAds.connect("banner_destroyed", self, "_on_MobileAds_banner_destroyed")
  38. # warning-ignore:return_value_discarded
  39. MobileAds.connect("banner_clicked", self, "_on_MobileAds_banner_clicked")
  40. # warning-ignore:return_value_discarded
  41. MobileAds.connect("banner_closed", self, "_on_MobileAds_banner_closed")
  42. # warning-ignore:return_value_discarded
  43. MobileAds.connect("banner_failed_to_load", self, "_on_MobileAds_banner_failed_to_load")
  44. # warning-ignore:return_value_discarded
  45. MobileAds.connect("banner_recorded_impression", self, "_on_MobileAds_banner_recorded_impression")
  46. # warning-ignore:return_value_discarded
  47. MobileAds.connect("interstitial_loaded", self, "_on_MobileAds_interstitial_loaded")
  48. # warning-ignore:return_value_discarded
  49. MobileAds.connect("interstitial_closed", self, "_on_MobileAds_interstitial_closed")
  50. # warning-ignore:return_value_discarded
  51. MobileAds.connect("interstitial_clicked", self, "_on_MobileAds_interstitial_clicked")
  52. # warning-ignore:return_value_discarded
  53. MobileAds.connect("interstitial_failed_to_load", self, "_on_MobileAds_interstitial_failed_to_load")
  54. # warning-ignore:return_value_discarded
  55. MobileAds.connect("interstitial_failed_to_show", self, "_on_MobileAds_interstitial_failed_to_show")
  56. # warning-ignore:return_value_discarded
  57. MobileAds.connect("interstitial_opened", self, "_on_MobileAds_interstitial_opened")
  58. # warning-ignore:return_value_discarded
  59. MobileAds.connect("interstitial_recorded_impression", self, "_on_MobileAds_interstitial_recorded_impression")
  60. # warning-ignore:return_value_discarded
  61. MobileAds.connect("rewarded_ad_loaded", self, "_on_MobileAds_rewarded_ad_loaded")
  62. # warning-ignore:return_value_discarded
  63. MobileAds.connect("rewarded_ad_closed", self, "_on_MobileAds_rewarded_ad_closed")
  64. # warning-ignore:return_value_discarded
  65. MobileAds.connect("rewarded_ad_clicked", self, "_on_MobileAds_rewarded_ad_clicked")
  66. # warning-ignore:return_value_discarded
  67. MobileAds.connect("rewarded_ad_failed_to_load", self, "_on_MobileAds_rewarded_ad_failed_to_load")
  68. # warning-ignore:return_value_discarded
  69. MobileAds.connect("rewarded_ad_failed_to_show", self, "_on_MobileAds_rewarded_ad_failed_to_show")
  70. # warning-ignore:return_value_discarded
  71. MobileAds.connect("rewarded_ad_opened", self, "_on_MobileAds_rewarded_ad_opened")
  72. # warning-ignore:return_value_discarded
  73. MobileAds.connect("rewarded_ad_recorded_impression", self, "_on_MobileAds_rewarded_ad_recorded_impression")
  74. # warning-ignore:return_value_discarded
  75. MobileAds.connect("rewarded_interstitial_ad_loaded", self, "_on_MobileAds_rewarded_interstitial_ad_loaded")
  76. # warning-ignore:return_value_discarded
  77. MobileAds.connect("rewarded_interstitial_ad_closed", self, "_on_MobileAds_rewarded_interstitial_ad_closed")
  78. # warning-ignore:return_value_discarded
  79. MobileAds.connect("rewarded_interstitial_ad_clicked", self, "_on_MobileAds_rewarded_interstitial_ad_clicked")
  80. # warning-ignore:return_value_discarded
  81. MobileAds.connect("rewarded_interstitial_ad_failed_to_load", self, "_on_MobileAds_rewarded_interstitial_ad_failed_to_load")
  82. # warning-ignore:return_value_discarded
  83. MobileAds.connect("rewarded_interstitial_ad_failed_to_show", self, "_on_MobileAds_rewarded_interstitial_ad_failed_to_show")
  84. # warning-ignore:return_value_discarded
  85. MobileAds.connect("rewarded_interstitial_ad_opened", self, "_on_MobileAds_rewarded_interstitial_ad_opened")
  86. # warning-ignore:return_value_discarded
  87. MobileAds.connect("rewarded_interstitial_ad_recorded_impression", self, "_on_MobileAds_rewarded_interstitial_ad_recorded_impression")
  88. # warning-ignore:return_value_discarded
  89. MobileAds.connect("user_earned_rewarded", self, "_on_MobileAds_user_earned_rewarded")
  90. # warning-ignore:return_value_discarded
  91. MobileAds.connect("initialization_complete", self, "_on_MobileAds_initialization_complete")
  92. else:
  93. _add_text_Advice_Node("AdMob only works on Android or iOS devices!")
  94. func _on_MobileAds_rewarded_interstitial_ad_clicked():
  95. _add_text_Advice_Node("Rewarded Interstitial clicked")
  96. func _on_MobileAds_rewarded_interstitial_ad_failed_to_load(error_code):
  97. _add_text_Advice_Node("Rewarded Interstitial failed to load, error_code = " + str(error_code))
  98. func _on_MobileAds_rewarded_interstitial_ad_failed_to_show(error_code):
  99. _add_text_Advice_Node("Rewarded Interstitial failed to show, error_code = " + str(error_code))
  100. func _on_MobileAds_rewarded_interstitial_ad_opened():
  101. _add_text_Advice_Node("Rewarded Interstitial opened")
  102. func _on_MobileAds_rewarded_interstitial_ad_recorded_impression():
  103. _add_text_Advice_Node("Rewarded Interstitial recorded impression")
  104. func _on_MobileAds_rewarded_ad_clicked():
  105. _add_text_Advice_Node("Rewarded clicked")
  106. func _on_MobileAds_rewarded_ad_failed_to_load(error_code):
  107. _add_text_Advice_Node("Rewarded failed to load, error_code = " + str(error_code))
  108. func _on_MobileAds_rewarded_ad_failed_to_show(error_code):
  109. _add_text_Advice_Node("Rewarded failed to show, error_code = " + str(error_code))
  110. func _on_MobileAds_rewarded_ad_opened():
  111. _add_text_Advice_Node("Rewarded opened")
  112. func _on_MobileAds_rewarded_ad_recorded_impression():
  113. _add_text_Advice_Node("Rewarded recorded impression")
  114. func _on_MobileAds_interstitial_clicked():
  115. _add_text_Advice_Node("Interstitial clicked")
  116. func _on_MobileAds_interstitial_failed_to_load(error_code):
  117. _add_text_Advice_Node("Interstitial failed to load, error_code = " + str(error_code))
  118. func _on_MobileAds_interstitial_failed_to_show(error_code):
  119. _add_text_Advice_Node("Interstitial failed to show, error_code = " + str(error_code))
  120. func _on_MobileAds_interstitial_opened():
  121. _add_text_Advice_Node("Interstitial opened")
  122. func _on_MobileAds_interstitial_recorded_impression():
  123. _add_text_Advice_Node("Interstitial recorded impression")
  124. func _on_MobileAds_banner_clicked():
  125. _add_text_Advice_Node("Banner clicked")
  126. func _on_MobileAds_banner_closed():
  127. _add_text_Advice_Node("Banner closed")
  128. func _on_MobileAds_banner_failed_to_load(error_code):
  129. _add_text_Advice_Node("Banner failed to load, error_code = " + str(error_code))
  130. func _on_MobileAds_banner_recorded_impression():
  131. _add_text_Advice_Node("Banner recorded impression")
  132. func _on_MobileAds_initialization_complete(status : int, adapter_name : String) -> void:
  133. if status == MobileAds.AdMobSettings.INITIALIZATION_STATUS.READY:
  134. MobileAds.load_interstitial()
  135. MobileAds.load_rewarded()
  136. MobileAds.load_rewarded_interstitial()
  137. _add_text_Advice_Node("AdMob initialized on GDScript! With parameters:")
  138. _add_text_Advice_Node(JSON.print(MobileAds.config, "\t"))
  139. _add_text_Advice_Node("instance_id: " + str(get_instance_id()))
  140. EnableBanner.disabled = false
  141. BannerPosition.disabled = false
  142. RequestUserConsent.disabled = false
  143. ResetConsentState.disabled = false
  144. else:
  145. _add_text_Advice_Node("AdMob not initialized, check your configuration")
  146. _add_text_Advice_Node("---------------------------------------------------")
  147. func _on_MobileAds_interstitial_loaded() -> void:
  148. Interstitial.disabled = false
  149. _add_text_Advice_Node("Interstitial loaded")
  150. func _on_MobileAds_interstitial_closed() -> void:
  151. MobileAds.load_interstitial()
  152. _add_text_Advice_Node("Interstitial closed")
  153. func _on_Interstitial_pressed() -> void:
  154. MobileAds.show_interstitial()
  155. Interstitial.disabled = true
  156. func reset_banner_buttons() -> void:
  157. DisableBanner.disabled = true
  158. EnableBanner.disabled = false
  159. ShowBanner.disabled = true
  160. HideBanner.disabled = true
  161. func _on_MobileAds_banner_destroyed() -> void:
  162. reset_banner_buttons()
  163. _add_text_Advice_Node("Banner destroyed")
  164. func _on_MobileAds_banner_loaded() -> void:
  165. DisableBanner.disabled = false
  166. EnableBanner.disabled = true
  167. ShowBanner.disabled = false
  168. HideBanner.disabled = false
  169. _add_text_Advice_Node("Banner loaded")
  170. _add_text_Advice_Node("Banner width: " + str(MobileAds.get_banner_width()))
  171. _add_text_Advice_Node("Banner height: " + str(MobileAds.get_banner_height()))
  172. _add_text_Advice_Node("Banner width in pixels: " + str(MobileAds.get_banner_width_in_pixels()))
  173. _add_text_Advice_Node("Banner height in pixels: " + str(MobileAds.get_banner_height_in_pixels()))
  174. func _on_EnableBanner_pressed() -> void:
  175. EnableBanner.disabled = true
  176. MobileAds.load_banner()
  177. func _on_DisableBanner_pressed() -> void:
  178. DisableBanner.disabled = true
  179. EnableBanner.disabled = false
  180. MobileAds.destroy_banner()
  181. func _on_Rewarded_pressed() -> void:
  182. MobileAds.show_rewarded()
  183. Rewarded.disabled = true
  184. func _on_RewardedInterstitial_pressed() -> void:
  185. MobileAds.show_rewarded_interstitial()
  186. RewardedInterstitial.disabled = true
  187. func _on_MobileAds_rewarded_ad_loaded() -> void:
  188. Rewarded.disabled = false
  189. _add_text_Advice_Node("Rewarded ad loaded")
  190. func _on_MobileAds_rewarded_ad_closed() -> void:
  191. MobileAds.load_rewarded()
  192. _add_text_Advice_Node("Rewarded ad closed")
  193. func _on_MobileAds_rewarded_interstitial_ad_loaded() -> void:
  194. RewardedInterstitial.disabled = false
  195. _add_text_Advice_Node("Rewarded Interstitial ad loaded")
  196. func _on_MobileAds_rewarded_interstitial_ad_closed() -> void:
  197. MobileAds.load_rewarded_interstitial()
  198. _add_text_Advice_Node("Rewarded Interstitial ad closed")
  199. func _on_MobileAds_user_earned_rewarded(currency : String, amount : int) -> void:
  200. Advice.bbcode_text += "EARNED " + currency + " with amount: " + str(amount) + "\n"
  201. func _on_MobileAds_consent_form_dismissed() -> void:
  202. _add_text_Advice_Node("Request Consent from European Users Form dismissed")
  203. func _on_MobileAds_consent_form_load_failure(error_code, error_message) -> void:
  204. _add_text_Advice_Node("Request Consent from European Users load_failure: " + error_message)
  205. _add_text_Advice_Node("---------------------------------------------------")
  206. func _on_MobileAds_consent_info_update_failure(_error_code : int, error_message : String) -> void:
  207. _add_text_Advice_Node("Request Consent from European Users update failure: " + error_message)
  208. _add_text_Advice_Node("---------------------------------------------------")
  209. func _on_MobileAds_consent_info_update_success(status_message : String) -> void:
  210. _add_text_Advice_Node("Consent info update success: " + status_message)
  211. func _on_MobileAds_consent_status_changed(status_message : String) -> void:
  212. _add_text_Advice_Node("Consent status changed: " + status_message)
  213. func _on_BannerSizes_item_selected(index : int) -> void:
  214. if MobileAds.get_is_initialized():
  215. var item_text : String = BannerSizes.get_item_text(index)
  216. MobileAds.config.banner.size = item_text
  217. _add_text_Advice_Node("Banner Size changed:" + item_text)
  218. if MobileAds.get_is_banner_loaded():
  219. MobileAds.load_banner()
  220. func _on_ResetConsentState_pressed() -> void:
  221. MobileAds.reset_consent_state(true)
  222. func _on_RequestUserConsent_pressed() -> void:
  223. MobileAds.request_user_consent()
  224. func _on_Position_pressed() -> void:
  225. MobileAds.config.banner.position = BannerPosition.pressed
  226. if MobileAds.get_is_banner_loaded():
  227. MobileAds.load_banner()
  228. func _on_RespectSafeArea_pressed():
  229. MobileAds.config.banner.respect_safe_area = RespectSafeArea.pressed
  230. if MobileAds.get_is_banner_loaded():
  231. MobileAds.load_banner()
  232. func _on_IsInitialized_pressed() -> void:
  233. _add_text_Advice_Node("Is initialized: " + str(MobileAds.get_is_initialized()))
  234. func _on_IsBannerLoaded_pressed() -> void:
  235. _add_text_Advice_Node("Is Banner loaded: " + str(MobileAds.get_is_banner_loaded()))
  236. func _on_IsInterstitialLoaded_pressed() -> void:
  237. _add_text_Advice_Node("Is Interstitial loaded: " + str(MobileAds.get_is_interstitial_loaded()))
  238. func _on_IsRewardedLoaded_pressed() -> void:
  239. _add_text_Advice_Node("Is Rewarded loaded: " + str(MobileAds.get_is_rewarded_loaded()))
  240. func _on_IsRewardedInterstitialLoaded_pressed() -> void:
  241. _add_text_Advice_Node("Is RewardedInterstitial loaded: " + str(MobileAds.get_is_rewarded_interstitial_loaded()))
  242. func _on_ShowBanner_pressed() -> void:
  243. MobileAds.show_banner()
  244. func _on_HideBanner_pressed() -> void:
  245. MobileAds.hide_banner()