2015-05-08 2 views
0

Я сдаюсь. Я буквально весь день пытался получить рекламное объявление межстраничного объявления в течение разумного промежутка времени, перейдя на конкретную сцену, которую я создал в композиторе, чтобы показывать рекламу. Я должен делать что-то по своей сути неправильно ... потому что я не могу найти много документации относительно использования композитора с межстраничными объявлениями, в которых, по моему мнению, почти никто не имеет проблем с ним.Продвижение рекламных объявлений, занимающих более 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 

ответ

1

Междоузлия некоторые из них занимают много времени.

Стандартный поток - это загрузка межстраничного объекта, когда начинается ваша активность, а затем в естественной точке прерывания вашего приложения, проверьте, загружена ли она, если да, покажите это.

Попытка показать интерстициальный, как только он будет загружен (с помощью прослушивателя), является действительно плохим идеей. Это обеспечивает очень плохой опыт работы с пользователями, и Admob ясно дал понять, что это противоречит их политике и будет запрещена ваша учетная запись.

+0

При использовании композитора я могу начать загрузку с самой первой сцены? Ive попробовал это, и он, похоже, ничем не помог. Как моя игра настроена ... Открытие сцены, выбор уровня, геймплей, победа или потерять экран, экран объявления, возврат к выбору уровня. Если я запускаю ads.load в начальной сцене, а затем ads.show на экране объявления, он ничего не делает. Это потому, что композитор сбрасывает ads.load? Если так ... Есть ли работа? –

+0

Я не могу ответить на это. Я никогда не использовал Corona, и они являются специфическими вопросами Corona. – William

+0

Спасибо за ваше время в любом случае. Я понял это для любой любопытной и/или googling этой же проблемы. Я поместил функцию ads.init и функцию прослушивания в мой main.lua. Когда вы хотите показывать объявление, используйте if (ads.isLoaded(), а затем ads.show. –

Смежные вопросы