我尝试在实际展示之前加载插页式广告,以便我可以避免延迟。但是我尝试的一切都失败了。使用此代码时,不会出现任何广告:
local ads = require( "ads" )
ads.init( "admob", "ca-app-pub-2823622942892345/4361536298", adListener )
ads.load( "interstitial", { appId="ca-app-pub-2823622942892345/4361536298",
testMode=false } )
local function adListener( event )
if ( event.isError ) then
--Failed to receive an ad
else
ads.show( "interstitial", { x=0, y=0, appId="ca-app-pub-2823622942892345/4361536298" } )
end
end
使用此代码广告加载但有滞后...
local ads = require( "ads" )
ads.init( "admob", "ca-app-pub-2823622942892345/4361536298", adListener )
ads.load( "interstitial", { appId="ca-app-pub-2823622942892345/4361536298", testMode=false } )
ads.show( "interstitial", { x=0, y=0, appId="ca-app-pub-2823622942892345/4361536298" } )
现在有人为什么不起作用?如果是这样我该如何解决呢?
答案 0 :(得分:0)
在您的第一个示例中,您的adListener功能将无效。由于它是一个本地函数,并在您第一次使用它后声明,因此在第一次使用时它将为零。在第一次使用之前,该函数需要在代码中更高。
在你的第二个例子中,ads.load()是一个异步调用,这意味着我们知道它可能需要一段时间才能工作,所以控制立即返回你的应用程序,然后你在之前调用ads.show()已加载,因此没有任何显示。
有一个教程可以帮助你解决这个问题:
http://coronalabs.com/blog/2014/07/15/tutorial-implementing-admob-v2/