I am not able to make interstitial and rewarded video ads work
ekingunoncu opened this issue · 3 comments
Hello!
I build my game for android. My Godot version is 3.1.
Firstly, thanks a lot for your efforts.
I have an Issue. I don't know if I am doing something stupid but when I build the game I can see banner ads but not interstitial and rewarded ones.
I am using these Test Ids below:
var adInterstitialId = "ca-app-pub-3940256099942544/1033173712"
var adRewardedId = "ca-app-pub-3940256099942544/5224354917"
I made an object(node as gd script) named Admob
`extends Node
var admob = null
var isReal = false
var isTop = true
var adBannerId = "ca-app-pub-3940256099942544/6300978111"
var adInterstitialId = "ca-app-pub-3940256099942544/1033173712"
var adRewardedId = "ca-app-pub-3940256099942544/5224354917"
var mainScene = load("res://scenes/MainScene.tscn")
func _init():
if(Engine.has_singleton("AdMob")):
admob = Engine.get_singleton("AdMob")
admob.init(isReal, get_instance_id())
func connectToResize(tree):
tree.connect("screen_resized", self, "onResize")
func loadBanner():
if admob != null:
admob.loadBanner(adBannerId, isTop)
func loadInterstitial():
if admob != null:
admob.loadInterstitial(adInterstitialId)
func loadRewardedVideo():
if admob != null:
admob.loadRewardedVideo(adRewardedId)
Events
func _on_BtnBanner_toggled(pressed):
if admob != null:
if pressed: admob.showBanner()
else: admob.hideBanner()
func _on_BtnInterstitial_pressed():
if admob != null:
admob.showInterstitial()
func _on_BtnRewardedVideo_pressed():
if admob != null:
admob.showRewardedVideo()
func _on_admob_network_error():
print("Network Error")
func _on_admob_ad_loaded():
print("Ad loaded success")
get_node("CanvasLayer/BtnBanner").set_disabled(false)
func _on_interstitial_not_loaded():
print("Error: Interstitial not loaded")
func _on_interstitial_loaded():
print("Interstitial loaded")
get_node("CanvasLayer/BtnInterstitial").set_disabled(false)
func _on_interstitial_close():
print("Interstitial closed")
get_node("CanvasLayer/BtnInterstitial").set_disabled(true)
func _on_rewarded_video_ad_loaded():
print("Rewarded loaded success")
get_node("CanvasLayer/BtnRewardedVideo").set_disabled(false)
func _on_rewarded_video_ad_closed():
print("Rewarded closed")
get_node("CanvasLayer/BtnRewardedVideo").set_disabled(true)
loadRewardedVideo()
func _on_rewarded(currency, amount):
print("Reward: " + currency + ", " + str(amount))
get_node("CanvasLayer/LblRewarded").set_text("Reward: " + currency + ", " + str(amount))
Resize
func onResize():
if admob != null:
admob.resize()
`
When I initialize Admob object and call the methods in my opening scene for Banner everything works fine but with the same logic other ads doesn't working.
works:
admob.connectToResize(get_tree())
admob.loadBanner()
not working:
admob.connectToResize(get_tree())
admob.loadInterstitial()
admob.connectToResize(get_tree())
admob.loadRewardedVideo()
I had the same problem. For some reason, it was being caused by the portrait/landscape.
@ekingunoncu I think you forget to call loadBanner(), loadInterstitial(), loadRewardedVideo after admob.init(isReal...) in func _init. Like this https://github.com/kloder-games/godot-admob/blob/master/examples/godot-3/main.gd#L14
This issue still persists? @ekingunoncu