为什么 Corona AdMob 集成没有 AdListener 事件?

我在冠状病毒论坛上发布了这篇文章,但没有得到回应。我可能错过了一些很明显的东西,希望有人能帮忙!

我正在开始集成admobs,但似乎无法获得adlistener事件。

我有这段代码:

main.lua:

appID = "ca-app-pub-8278249997676996/7462506469"
ads = require("ads")
— 创建文本对象以显示广告状态
statusText = display.newText( "ad status text", 0, 0, native.systemFontBold, 22 )
statusText:setTextColor( 255 )
statusText:setReferencePoint( display.CenterReferencePoint )
statusText.x, statusText.y = display.contentWidth * 0.5, 160

— 设置广告侦听器。
function adListener( event )
    statusText.text = "got an ad listener event!"
— 事件表包括:
—事件提供程序
—event.isError(例如true / falselocal msg = event.response

—只是一个快速的调试消息,检查我们从库中获得了什么响应
print("Message received from the ads library: ", msg)

if event.isError then
    statusText:setTextColor( 255, 0, 0 )
    statusText.text = "Error Loading Ad " .. msg
    statusText.x = display.contentWidth * 0.5

    —showAd(“ banner”)
否则
    statusText:setTextColor( 0, 255, 0 )
    statusText.text = "Successfully Loaded Ad : " .. msg
    statusText.x = display.contentWidth * 0.5
end
end

— 使用您希望使用的提供程序初始化“ ads”库。
if appID then
    print("initialising admob")
    ads.init( "admob", appID, adListener )
end

anotherfile.lua

statusText.text = "Let's show an ad please"
ads.show( "banner", {x=0, y=0} )

statusText.text更改为“让我们显示广告”,ads.show(是代码的下一行。但是,statusText.text没有进一步更改,这意味着adListener未被调用。也没有展示广告。

在我的构建设置中,我有:

androidPermissions =
{
"android.permission.READ_PHONE_STATE",
"android.permission.ACCESS_NETWORK_STATE",
"android.permission.VIBRATE",
"android.permission.INTERNET"
},

plugins =
{
—键是传递给Lua的'require()'的名称
["CoronaProvider.ads.admob"] =
{
      — 必需
    publisherId = "com.sportspunter",
},
},

请提出任何建议! 感谢

点赞
用户825481
用户825481

看起来你编码都正确,但我不能百分之百地确定正确的答案。我唯一能想到的就是你需要在 anotherfile.lua 中重新声明 main.lua 中的代码。可能是变量没有正确声明,所以它们没有被传递。

另外,我非常确定广告不会在模拟器上显示,所以请确保你为设备构建。

你的 build.settings 看起来很好。

希望这可以帮助你。

2013-12-06 00:53:27
用户1870706
用户1870706

你在 build.settings 文件的插件设置中更改了出版商 ID。尝试这样做:

publisherId = "com.coronalabs",
2013-12-09 01:48:53