显示广告的 Corona 功能在加载时无法工作。

我正在尝试在实际显示之前加载插页式广告,以避免延迟。但是,我尝试过的所有方法都失败了。使用这段代码时,没有广告出现:

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" } )

有人知道为什么不起作用吗?如果知道,请问我该如何解决?

点赞
用户1870706
用户1870706

在您的第一个示例中,您的adListener函数将无法工作。由于它是一个本地函数,并且在第一次使用之后声明,因此在第一次使用时它将为nil。该函数需要在第一次使用之前在代码中高一些。

在您的第二个示例中,ads.load()是一个异步调用,这意味着我们知道它可能需要一段时间才能工作,因此控制立即返回到您的应用程序,然后您调用ads.show()在广告加载之前,因此没有显示任何内容。

这里有一个可能对您有帮助的教程:

http://coronalabs.com/blog/2014/07/15/tutorial-implementing-admob-v2/

2014-09-01 02:26:38