Я сдаюсь. Я буквально весь день пытался получить рекламное объявление межстраничного объявления в течение разумного промежутка времени, перейдя на конкретную сцену, которую я создал в композиторе, чтобы показывать рекламу. Я должен делать что-то по своей сути неправильно ... потому что я не могу найти много документации относительно использования композитора с межстраничными объявлениями, в которых, по моему мнению, почти никто не имеет проблем с ним.Продвижение рекламных объявлений, занимающих более 5 минут для загрузки
В любом случае ... вот мой исходный код. Если вы видите что-то в этом неправедно, сообщите мне, пожалуйста. В любом случае, спасибо за чтение.
local composer = require("composer")
local scene = composer.newScene()
-- -----------------------------------------------------------------------------------------------------------------
-- All code outside of the listener functions will only be executed ONCE unless "composer.removeScene()" is called.
-- -----------------------------------------------------------------------------------------------------------------
-- local forward references should go here
centerX = display.contentCenterX
centerY = display.contentCenterY
screenLeft = display.screenOriginX
screenWidth = display.contentWidth - screenLeft * 2
screenRight = screenLeft + screenWidth
screenTop = display.screenOriginY
screenHeight = display.contentHeight - screenTop * 2
screenBottom = screenTop + screenHeight
display.contentWidth = screenWidth
display.contentHeight = screenHeight
display.setStatusBar(display.HiddenStatusBar)
local ads = require("ads")
local interstitialAppID = "ca-app-pub-6798972966452738/6428249200"
local adProvider = "admob"
ads.init(adProvider, interstitialAppID, adListener)
local options =
{
effect = "zoomInOutFade",
time = 600,
}
-- -------------------------------------------------------------------------------
local function adListener(event)
if (event.isError) then
ads.load("interstitial", {appID = interstitialAppID})
-- attempt to fetch another ad
elseif (event.phase == "loaded") then
ads.show("interstitial", {appID = interstitialAppID})
-- an ad was preloaded
elseif (event.phase ~= "loaded") then
composer.gotoScene("levelSelect", options)
elseif (event.phase == "shown") then
composer.gotoScene("levelSelect", options)
end
end
-- "scene:create()"
function scene:create(event)
local sceneGroup = self.view
-- Initialize the scene here.
-- Example: add display objects to "sceneGroup", add touch listeners, etc.
end
-- "scene:show()"
function scene:show(event)
local sceneGroup = self.view
local phase = event.phase
if (phase == "will") then
-- Called when the scene is still off screen (but is about to come on screen).
elseif (phase == "did") then
-- Called when the scene is now on screen.
-- Insert code here to make the scene come alive.
-- Example: start timers, begin animation, play audio, etc.
end
end
-- "scene:hide()"
function scene:hide(event)
local sceneGroup = self.view
local phase = event.phase
if (phase == "will") then
-- Called when the scene is on screen (but is about to go off screen).
-- Insert code here to "pause" the scene.
-- Example: stop timers, stop animation, stop audio, etc.
elseif (phase == "did") then
ads.load("interstitial", {appID = interstitialAppID})
-- Called immediately after scene goes off screen.
end
end
-- "scene:destroy()"
function scene:destroy(event)
local sceneGroup = self.view
-- Called prior to the removal of scene's view ("sceneGroup").
-- Insert code here to clean up the scene.
-- Example: remove display objects, save state, etc.
end
-- -------------------------------------------------------------------------------
-- Listener setup
scene:addEventListener("create", scene)
scene:addEventListener("show", scene)
scene:addEventListener("hide", scene)
scene:addEventListener("destroy", scene)
-- -------------------------------------------------------------------------------
return scene
При использовании композитора я могу начать загрузку с самой первой сцены? Ive попробовал это, и он, похоже, ничем не помог. Как моя игра настроена ... Открытие сцены, выбор уровня, геймплей, победа или потерять экран, экран объявления, возврат к выбору уровня. Если я запускаю ads.load в начальной сцене, а затем ads.show на экране объявления, он ничего не делает. Это потому, что композитор сбрасывает ads.load? Если так ... Есть ли работа? –
Я не могу ответить на это. Я никогда не использовал Corona, и они являются специфическими вопросами Corona. – William
Спасибо за ваше время в любом случае. Я понял это для любой любопытной и/или googling этой же проблемы. Я поместил функцию ads.init и функцию прослушивания в мой main.lua. Когда вы хотите показывать объявление, используйте if (ads.isLoaded(), а затем ads.show. –