如何在admob横幅和插页式广告之间切换? 如果我在我的第一个场景上加载横幅并在我进入下一个场景时隐藏它并想要加载插页式广告它会向我显示横幅。如果我没有加载横幅而只加载“插页式广告”,则会加载插页式广告
横幅场景:
local provider = "admob"
local appID = "ca-app-pub-****"
local ads = require "ads"
local screenGroup = self.view
local statusText = display.newText( "", 0, 0, native.systemFontBold, 22 )
statusText:setTextColor( 255 )
statusText:setReferencePoint( display.CenterReferencePoint )
statusText.x, statusText.y = display.contentWidth * 0.5, 160
local showAd
local function adListener( event )
local 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"
statusText.x = display.contentWidth * 0.5
local screenGroup = self.view
showAd( "banner" )
else
end
end
if appID then
ads.init( provider, appID, adListener )
end
local sysModel = system.getInfo("model")
local sysEnv = system.getInfo("environment")
local screenGroup = self.view
showAd = function( adType )
local screenGroup = self.view
local adX, adY = display.screenOriginX, 400
statusText.text = ""
ads.show( adType, { x=adX, y=adY } )
end
if sysEnv == "simulator" then
else
local screenGroup = self.view
ads.show( "banner", { x=display.screenOriginX, y=400 } )
end
插页式场景:
local provider = "admob"
local appID = "ca-app-pub-***"
local ads = require "ads"
local screenGroup = self.view
local statusText = display.newText( "", 0, 0, native.systemFontBold, 22 )
statusText:setTextColor( 255 )
statusText:setReferencePoint( display.CenterReferencePoint )
statusText.x, statusText.y = display.contentWidth * 0.5, 160
local showAd
-- Set up ad listener.
local function adListener( event )
local 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"
statusText.x = display.contentWidth * 0.5
local screenGroup = self.view
showAd( "banner" )
else
end
end
if appID then
ads.init( provider, appID, adListener )
end
showAd = function( adType )
local screenGroup = self.view
local adX, adY = display.screenOriginX, display.screenOriginY
statusText.text = ""
ads.show( adType, { x=adX, y=adY } )
end
-- if on simulator, let user know they must build for device
if sysEnv == "simulator" then
else
local screenGroup = self.view
ads.show( "interstitial", { x=0, y=0 } )
end
答案 0 :(得分:2)
您可能会发现此当前主题很有趣:http://forums.coronalabs.com/topic/37839-admob-integrate-both-banner-and-interstitual-issue/
我猜AdMob最近改为必须为插页式广告和横幅广告指定不同的广告(而在您使用单个广告ID之前)。出于某种原因,Corona SDK仅将第一个应用ID初始化为特定提供商。因此,如果您想同时使用横幅广告和插页式广告,则必须使用两个不同的提供商。
我与其他开发人员合作尝试了许多事情来清除广告模块,但没有任何效果。所以对于我的应用程序,我只是决定只进行插页式广告,因为我还不想注册其他广告提供商。
希望有所帮助。
答案 1 :(得分:0)
我想你会为插页式广告声明一个单独的广告对象(这就是你如何为Android集成做这件事,我想这对于iOS来说是类似的),并在服务器上配置它只服务于插页式广告。
答案 2 :(得分:0)
这里有一个完整的示例,其中包含要下载的源代码。
http://www.ahotbrew.com/android-studio-admob-banner-and-interstitial-tutorial/