1

如何在 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
4

3 回答 3

2

您可能会发现这个当前线程很有趣: http ://forums.coronalabs.com/topic/37839-admob-integrate-both-banner-and-interstitial-issue/

我猜 AdMob 最近切换到必须为插页式广告和横幅广告指定不同的广告(而之前您可以使用单个广告 ID)。出于某种原因,Corona SDK 只会将第一个应用程序 ID 初始化为特定的提供程序。因此,如果您目前想同时使用横幅广告和插页式广告,则必须使用两个不同的提供商。

我与另一位开发人员一起尝试了很多方法来清除广告模块,但没有任何效果。所以对于我的应用,我决定只做插页式广告,因为我还不想注册另一个广告提供商。

希望有帮助。

于 2013-10-03T16:57:37.657 回答
0

我想你会为插页式广告声明一个单独的 Ad 对象(这是你为 Android 集成所做的,我想这对于 iOS 来说是类似的),并在服务器上将其配置为仅服务器插页式广告。

于 2013-09-18T23:02:30.487 回答
0

这是一个完整的示例,其中包含要下载的源代码,同时显示了两者。

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

于 2015-04-21T20:00:39.700 回答