AdMob在横幅广告和插屏广告之间交替展示。

如何在 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
点赞
用户493682
用户493682

我想你需要为插页式广告声明一个单独的 Ad 对象(这是你在 Android 集成中需要做的,我想在 iOS 中也是类似的),然后在服务器上进行配置,仅提供插页式广告。

2013-09-18 23:02:30
用户756383
用户756383

你可能会发现这个当前帖子有趣:http://forums.coronalabs.com/topic/37839-admob-integrate-both-banner-and-interstitual-issue/

我猜AdMob最近改成了必须针对插页式广告和横幅广告分别指定不同的广告(之前可以使用相同的广告ID)。但是由于某种原因,Corona SDK只会将第一个应用程序ID初始化为特定的提供程序。因此,如果您想使用横幅广告和插页式广告,目前您必须使用两个不同的提供程序。

我与另一位开发人员合作尝试了很多方法来清除广告模块,但没有任何方法可行。因此,对于我的应用程序,我决定只使用插页式广告,因为我现在不想再注册另一个广告提供程序。

希望这能够对你有所帮助。

2013-10-03 16:57:37
用户1924886
用户1924886

以下是具有源代码下载的完整示例,展示了横幅广告和插页式广告。

http://www.ahotbrew.com/android-studio-admob-banner-and-interstitial-tutorial/

2015-04-21 20:00:39