AdMobSingleton.gd 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. extends Node
  2. signal initialization_complete(status, adapter_name)
  3. signal consent_form_dismissed()
  4. signal consent_status_changed(consent_status_message)
  5. signal consent_form_load_failure(error_code, error_message)
  6. signal consent_info_update_success(consent_status_message)
  7. signal consent_info_update_failure(error_code, error_message)
  8. signal banner_loaded()
  9. signal banner_failed_to_load(error_code)
  10. signal banner_opened()
  11. signal banner_clicked()
  12. signal banner_closed()
  13. signal banner_recorded_impression()
  14. signal banner_destroyed()
  15. signal interstitial_failed_to_load(error_code)
  16. signal interstitial_loaded()
  17. signal interstitial_failed_to_show(error_code)
  18. signal interstitial_opened()
  19. signal interstitial_clicked()
  20. signal interstitial_closed()
  21. signal interstitial_recorded_impression()
  22. signal rewarded_ad_failed_to_load(error_code)
  23. signal rewarded_ad_loaded()
  24. signal rewarded_ad_failed_to_show(error_code)
  25. signal rewarded_ad_opened()
  26. signal rewarded_ad_clicked()
  27. signal rewarded_ad_closed()
  28. signal rewarded_ad_recorded_impression()
  29. signal rewarded_interstitial_ad_failed_to_load(error_code)
  30. signal rewarded_interstitial_ad_loaded()
  31. signal rewarded_interstitial_ad_failed_to_show(error_code)
  32. signal rewarded_interstitial_ad_opened()
  33. signal rewarded_interstitial_ad_clicked()
  34. signal rewarded_interstitial_ad_closed()
  35. signal rewarded_interstitial_ad_recorded_impression()
  36. signal user_earned_rewarded(currency, amount)
  37. var AdMobSettings = preload("res://addons/admob/src/utils/AdMobSettings.gd").new()
  38. onready var config = AdMobSettings.config
  39. var _plugin : Object
  40. func _ready() -> void:
  41. if config.general.is_enabled:
  42. if (Engine.has_singleton("AdMob")):
  43. _plugin = Engine.get_singleton("AdMob")
  44. initialize()
  45. _connect_signals()
  46. func get_is_initialized() -> bool:
  47. if _plugin:
  48. return _plugin.get_is_initialized()
  49. return false
  50. func initialize() -> void:
  51. if _plugin:
  52. var is_release : bool = OS.has_feature("release")
  53. var is_debug_on_release : bool = config.debug.is_debug_on_release
  54. var is_real : bool = false
  55. var is_test_europe_user_consent : bool = config.debug.is_test_europe_user_consent
  56. if is_release:
  57. is_real = true
  58. is_test_europe_user_consent = false
  59. if is_debug_on_release:
  60. is_real = config.debug.is_real
  61. is_test_europe_user_consent = config.debug.is_test_europe_user_consent
  62. _plugin.initialize(config.general.is_for_child_directed_treatment, config.general.max_ad_content_rating, is_real, is_test_europe_user_consent)
  63. func _connect_signals() -> void:
  64. _plugin.connect("initialization_complete", self, "_on_AdMob_initialization_complete")
  65. _plugin.connect("consent_form_dismissed", self, "_on_AdMob_consent_form_dismissed")
  66. _plugin.connect("consent_status_changed", self, "_on_AdMob_consent_status_changed")
  67. _plugin.connect("consent_form_load_failure", self, "_on_AdMob_consent_form_load_failure")
  68. _plugin.connect("consent_info_update_success", self, "_on_AdMob_consent_info_update_success")
  69. _plugin.connect("consent_info_update_failure", self, "_on_AdMob_consent_info_update_failure")
  70. _plugin.connect("banner_loaded", self, "_on_AdMob_banner_loaded")
  71. _plugin.connect("banner_failed_to_load", self, "_on_AdMob_banner_failed_to_load")
  72. _plugin.connect("banner_opened", self, "_on_AdMob_banner_opened")
  73. _plugin.connect("banner_clicked", self, "_on_AdMob_banner_clicked")
  74. _plugin.connect("banner_closed", self, "_on_AdMob_banner_closed")
  75. _plugin.connect("banner_recorded_impression", self, "_on_AdMob_banner_recorded_impression")
  76. _plugin.connect("banner_destroyed", self, "_on_AdMob_banner_destroyed")
  77. _plugin.connect("interstitial_failed_to_load", self, "_on_AdMob_interstitial_failed_to_load")
  78. _plugin.connect("interstitial_loaded", self, "_on_AdMob_interstitial_loaded")
  79. _plugin.connect("interstitial_failed_to_show", self, "_on_AdMob_interstitial_failed_to_show")
  80. _plugin.connect("interstitial_opened", self, "_on_AdMob_interstitial_opened")
  81. _plugin.connect("interstitial_clicked", self, "_on_AdMob_interstitial_clicked")
  82. _plugin.connect("interstitial_closed", self, "_on_AdMob_interstitial_closed")
  83. _plugin.connect("interstitial_recorded_impression", self, "_on_AdMob_interstitial_recorded_impression")
  84. _plugin.connect("rewarded_ad_failed_to_load", self, "_on_AdMob_rewarded_ad_failed_to_load")
  85. _plugin.connect("rewarded_ad_loaded", self, "_on_AdMob_rewarded_ad_loaded")
  86. _plugin.connect("rewarded_ad_failed_to_show", self, "_on_AdMob_rewarded_ad_failed_to_show")
  87. _plugin.connect("rewarded_ad_opened", self, "_on_AdMob_rewarded_ad_opened")
  88. _plugin.connect("rewarded_ad_clicked", self, "_on_AdMob_rewarded_ad_clicked")
  89. _plugin.connect("rewarded_ad_closed", self, "_on_AdMob_rewarded_ad_closed")
  90. _plugin.connect("rewarded_ad_recorded_impression", self, "_on_AdMob_rewarded_ad_recorded_impression")
  91. _plugin.connect("rewarded_interstitial_ad_failed_to_load", self, "_on_AdMob_rewarded_interstitial_ad_failed_to_load")
  92. _plugin.connect("rewarded_interstitial_ad_loaded", self, "_on_AdMob_rewarded_interstitial_ad_loaded")
  93. _plugin.connect("rewarded_interstitial_ad_failed_to_show", self, "_on_AdMob_rewarded_interstitial_ad_failed_to_show")
  94. _plugin.connect("rewarded_interstitial_ad_opened", self, "_on_AdMob_rewarded_interstitial_ad_opened")
  95. _plugin.connect("rewarded_interstitial_ad_clicked", self, "_on_AdMob_rewarded_interstitial_ad_clicked")
  96. _plugin.connect("rewarded_interstitial_ad_closed", self, "_on_AdMob_rewarded_interstitial_ad_closed")
  97. _plugin.connect("rewarded_interstitial_ad_recorded_impression", self, "_on_AdMob_rewarded_interstitial_ad_recorded_impression")
  98. _plugin.connect("user_earned_rewarded", self, "_on_AdMob_user_earned_rewarded")
  99. func _on_AdMob_initialization_complete(status : int, adapter_name : String) -> void:
  100. emit_signal("initialization_complete", status, adapter_name)
  101. func _on_AdMob_consent_form_dismissed() -> void:
  102. emit_signal("consent_form_dismissed")
  103. func _on_AdMob_consent_status_changed(consent_status_message : String) -> void:
  104. emit_signal("consent_status_changed", consent_status_message)
  105. func _on_AdMob_consent_form_load_failure(error_code : int, error_message: String) -> void:
  106. emit_signal("consent_form_load_failure", error_code, error_message)
  107. func _on_AdMob_consent_info_update_success(consent_status_message : String) -> void:
  108. emit_signal("consent_info_update_success", consent_status_message)
  109. func _on_AdMob_consent_info_update_failure(error_code : int, error_message : String) -> void:
  110. emit_signal("consent_info_update_failure", error_code, error_message)
  111. func _on_AdMob_banner_loaded() -> void:
  112. emit_signal("banner_loaded")
  113. func _on_AdMob_banner_failed_to_load(error_code : int) -> void:
  114. emit_signal("banner_failed_to_load", error_code)
  115. func _on_AdMob_banner_opened() -> void:
  116. emit_signal("banner_loaded")
  117. func _on_AdMob_banner_clicked() -> void:
  118. emit_signal("banner_clicked")
  119. func _on_AdMob_banner_closed() -> void:
  120. emit_signal("banner_closed")
  121. func _on_AdMob_banner_recorded_impression() -> void:
  122. emit_signal("banner_recorded_impression")
  123. func _on_AdMob_banner_destroyed() -> void:
  124. emit_signal("banner_destroyed")
  125. func _on_AdMob_interstitial_failed_to_load(error_code : int) -> void:
  126. emit_signal("interstitial_failed_to_load", error_code)
  127. func _on_AdMob_interstitial_loaded() -> void:
  128. emit_signal("interstitial_loaded")
  129. func _on_AdMob_interstitial_failed_to_show(error_code : int) -> void:
  130. emit_signal("interstitial_failed_to_show", error_code)
  131. func _on_AdMob_interstitial_opened() -> void:
  132. emit_signal("interstitial_opened")
  133. func _on_AdMob_interstitial_clicked() -> void:
  134. emit_signal("interstitial_clicked")
  135. func _on_AdMob_interstitial_closed() -> void:
  136. emit_signal("interstitial_closed")
  137. func _on_AdMob_interstitial_recorded_impression() -> void:
  138. emit_signal("interstitial_recorded_impression")
  139. func _on_AdMob_rewarded_ad_failed_to_load(error_code : int) -> void:
  140. emit_signal("rewarded_ad_failed_to_load", error_code)
  141. func _on_AdMob_rewarded_ad_loaded() -> void:
  142. emit_signal("rewarded_ad_loaded")
  143. func _on_AdMob_rewarded_ad_failed_to_show(error_code : int) -> void:
  144. emit_signal("rewarded_ad_failed_to_show", error_code)
  145. func _on_AdMob_rewarded_ad_opened() -> void:
  146. emit_signal("rewarded_ad_opened")
  147. func _on_AdMob_rewarded_ad_clicked() -> void:
  148. emit_signal("rewarded_ad_clicked")
  149. func _on_AdMob_rewarded_ad_closed() -> void:
  150. emit_signal("rewarded_ad_closed")
  151. func _on_AdMob_rewarded_ad_recorded_impression() -> void:
  152. emit_signal("rewarded_ad_recorded_impression")
  153. func _on_AdMob_rewarded_interstitial_ad_failed_to_load(error_code : int) -> void:
  154. emit_signal("rewarded_interstitial_ad_failed_to_load", error_code)
  155. func _on_AdMob_rewarded_interstitial_ad_loaded() -> void:
  156. emit_signal("rewarded_interstitial_ad_loaded")
  157. func _on_AdMob_rewarded_interstitial_ad_failed_to_show(error_code : int) -> void:
  158. emit_signal("rewarded_interstitial_ad_failed_to_show", error_code)
  159. func _on_AdMob_rewarded_interstitial_ad_opened() -> void:
  160. emit_signal("rewarded_interstitial_ad_opened")
  161. func _on_AdMob_rewarded_interstitial_ad_clicked() -> void:
  162. emit_signal("rewarded_interstitial_ad_clicked")
  163. func _on_AdMob_rewarded_interstitial_ad_closed() -> void:
  164. emit_signal("rewarded_interstitial_ad_closed")
  165. func _on_AdMob_rewarded_interstitial_ad_recorded_impression() -> void:
  166. emit_signal("rewarded_interstitial_ad_recorded_impression")
  167. func _on_AdMob_user_earned_rewarded(currency : String, amount : int) -> void:
  168. emit_signal("user_earned_rewarded", currency, amount)