Corona의 AdMob이 전화에서 실행되지 않습니다.

토탈리스

Corona로 예제 앱을 만들고 AdMob 기능을 구현하려고했습니다.

admob 예제를 실행했는데 제대로 작동했습니다. 그러나 아래의 샘플 코드와 결합했을 때 작동이 중지되었습니다.

에뮬레이터에서는 정상적으로 실행됩니다. 하지만 APK를 휴대폰에 업로드하면 검은 색 화면이 나타납니다.

오류가 아니라 이상한 검은 화면입니다.

내가 뭘 잘못하고 있는지 알아?

-----------------------------------------------------------------------------------------
--
-- menu.lua
--
-----------------------------------------------------------------------------------------

local storyboard = require( "storyboard" )
local scene = storyboard.newScene()

-- include Corona s "widget" library 
local widget = require "widget"

--------------------------------------------

-- forward declarations and other locals
local playBtn
local optsBtn
local helpBtn

-- ************* ADMOB *********************
-- Hide the status bar
display.setStatusBar( display.HiddenStatusBar )

-- The name of the ad provider.
local provider = "admob"

-- Your application ID
local appID = "a1522213c297e5a"

-- Load Corona 'ads' library
local ads = require "ads"

--------------------------------------------------------------------------------
-- Setup ad provider
--------------------------------------------------------------------------------

-- Create a text object to display ad status
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 )
    -- event table includes:
    --      event.provider
    --      event.isError (e.g. true/false )

    local msg = event.response

    -- just a quick debug message to check what response we got from the library
    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

        showAd( "banner" )
    else
        statusText:setTextColor( 0, 255, 0 )
        statusText.text = "Successfully Loaded Ad"
        statusText.x = display.contentWidth * 0.5
    end
end

-- Initialize the 'ads' library with the provider you wish to use.
if appID then
    ads.init( provider, appID, adListener )
end

--------------------------------------------------------------------------------
-- UI
--------------------------------------------------------------------------------

-- initial variables
local sysModel = system.getInfo("model")
local sysEnv = system.getInfo("environment")

-- create a background for the app
--local backgroundImg = display.newImageRect( "background.jpg", display.contentWidth, display.contentHeight )
--backgroundImg:setReferencePoint( display.TopLeftReferencePoint )
--backgroundImg.x, backgroundImg.y = 0, 0
statusText:toFront()

-- Shows a specific type of ad
showAd = function( adType )
    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
    local font, size = native.systemFontBold, 22
    local warningText = display.newRetinaText( "Please build for device or Xcode simulator to test this sample.", 0, 0, 290, 300, font, size )
    warningText:setTextColor( 255 )
    warningText:setReferencePoint( display.CenterReferencePoint )
    warningText.x, warningText.y = display.contentWidth * 0.5, display.contentHeight * 0.5
else
    -- start with banner ad
    showAd( "interstitial" )
end

-- ************* FIM ADMOB *****************


-- 'onRelease' event listener for playBtn
local function onPlayBtnRelease()

    -- go to level1.lua scene
    storyboard.gotoScene( "level1", "fade", 500 )

    return true -- indicates successful touch
end

-- Options
local function onOptionsBtnRelease()

    -- go to level1.lua scene
    storyboard.gotoScene( "options", "fade", 500 )

    return true -- indicates successful touch
end

-- Options
local function onHelpBtnRelease()

    -- go to level1.lua scene
    storyboard.gotoScene( "help", "fade", 500 )

    return true -- indicates successful touch
end


-----------------------------------------------------------------------------------------
-- BEGINNING OF YOUR IMPLEMENTATION
-- 
-- NOTE: Code outside of listener functions (below) will only be executed once,
--       unless storyboard.removeScene() is called.
-- 
-----------------------------------------------------------------------------------------

-- Called when the scene s view does not exist:
function scene:createScene( event )
    local group = self.view

    -- display a background image
    local background = display.newImageRect( "background.jpg", display.contentWidth, display.contentHeight )
    background:setReferencePoint( display.TopLeftReferencePoint )
    background.x, background.y = 0, 0

    -- create/position logo/title image on upper-half of the screen
    local titleLogo = display.newImageRect( "title.png", 264, 42 )
    titleLogo:setReferencePoint( display.CenterReferencePoint )
    titleLogo.x = display.contentWidth * 0.5
    titleLogo.y = display.contentHeight / 5

    -- create a widget button (which will loads level1.lua on release)
    playBtn = widget.newButton{
        label="Play Now",
        labelColor = { default={255}, over={128} },
        defaultFile="button.png",
        overFile="button-over.png",
        width=154, height=40,
        onRelease = onPlayBtnRelease    -- event listener function
    }
    playBtn:setReferencePoint( display.CenterReferencePoint )
    playBtn.x = display.contentWidth*0.5
    playBtn.y = display.contentHeight * 2 / 5

    -- button for options (options.lua)
    optsBtn = widget.newButton{
        label="Options",
        labelColor = { default={255}, over={128} },
        defaultFile="button.png",
        overFile="button-over.png",
        width=154, height=40,
        onRelease = onOptionsBtnRelease -- event listener function
    }
    optsBtn:setReferencePoint( display.CenterReferencePoint )
    optsBtn.x = display.contentWidth*0.5
    optsBtn.y = display.contentHeight * 3 / 5

    -- button for options (help.lua)
    helpBtn = widget.newButton{
        label="Help",
        labelColor = { default={255}, over={128} },
        defaultFile="button.png",
        overFile="button-over.png",
        width=154, height=40,
        onRelease = onHelpBtnRelease    -- event listener function
    }
    helpBtn:setReferencePoint( display.CenterReferencePoint )
    helpBtn.x = display.contentWidth*0.5
    helpBtn.y = display.contentHeight * 4 / 5

    -- all display objects must be inserted into group
    group:insert( background )
    group:insert( titleLogo )
    group:insert( playBtn )
    group:insert( optsBtn )
    group:insert( helpBtn )
end

-- Called immediately after scene has moved onscreen:
function scene:enterScene( event )
    local group = self.view

    -- INSERT code here (e.g. start timers, load audio, start listeners, etc.)

end

-- Called when scene is about to move offscreen:
function scene:exitScene( event )
    local group = self.view

    -- INSERT code here (e.g. stop timers, remove listenets, unload sounds, etc.)

end

-- If scene s view is removed, scene:destroyScene() will be called just prior to:
function scene:destroyScene( event )
    local group = self.view

    if playBtn then
        playBtn:removeSelf()    -- widgets must be manually removed
        playBtn = nil
    end
end

-----------------------------------------------------------------------------------------
-- END OF YOUR IMPLEMENTATION
-----------------------------------------------------------------------------------------

-- "createScene" event is dispatched if scene s view does not exist
scene:addEventListener( "createScene", scene )

-- "enterScene" event is dispatched whenever scene transition has finished
scene:addEventListener( "enterScene", scene )

-- "exitScene" event is dispatched whenever before next scene s transition begins
scene:addEventListener( "exitScene", scene )

-- "destroyScene" event is dispatched before view is unloaded, which can be
-- automatically unloaded in low memory situations, or explicitly via a call to
-- storyboard.purgeScene() or storyboard.removeScene().
scene:addEventListener( "destroyScene", scene )

-----------------------------------------------------------------------------------------

return scene
토탈리스

글쎄, 이것을 추가하면 효과가 있습니다.

-- ************* ADMOB *********************
-- Hide the status bar
display.setStatusBar( display.HiddenStatusBar )

-- The name of the ad provider.
local adNetwork = "admob"

-- Your application ID
local appID = "a1522213c297e5a"

-- Load Corona 'ads' library
local ads = require "ads"

-- Initialize the 'ads' library with the provider you wish to use.
if appID then
 ads.init( adNetwork, appID )
end

 -- initial variables
local sysModel = system.getInfo("model")
local sysEnv = system.getInfo("environment")
local bgW, bgH = 320, 480

if appID then
    local adX, adY = display.contentCenterX, 0
    local halfW = display.contentWidth * 0.5
    local font, size = "Helvetica-Bold", 16
    if sysEnv == "simulator" then
        local warningText2 = display.newText( "Please build for device ", adX, adY, font, size )
        local warningText3 = display.newText( "to test this sample code.", adX, adY, font, size )
        warningText2:setTextColor( 255, 255, 255)
        warningText3:setTextColor( 255, 255, 255)
        warningText2:setReferencePoint( display.CenterReferencePoint )
        warningText3:setReferencePoint( display.CenterReferencePoint )
        warningText2.x, warningText2.y = halfW, 0
        warningText3.x, warningText3.y = halfW, 16
    else
        ads.show( "banner", { x=adX, y=adY} )
    end
else
    -- If no appId is set, show a message on the screen
    local warningText1 = display.newText( "No appID has been set.", 0, 105, font, size )
    warningText1:setTextColor( 255, 255, 255)
    warningText1:setReferencePoint( display.CenterReferencePoint )
    warningText1.x = halfW
end

그리고 build.settings 파일에서 :

이거 추가 해봐:

plugins =
    {
        -- key is the name passed to Lua's 'require()'
        ["CoronaProvider.ads.admob"] =
        {
            -- required
            publisherId = "com.coronalabs",
        },
    },  

이제 화면에서 광고를 올바르게 정렬하기 위해 몇 가지 변수를 조정하면됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Eclipse의 실행 파일이 우분투에서 실행되지 않습니다.

분류에서Dev

Eclipse의 실행 파일이 우분투에서 실행되지 않습니다.

분류에서Dev

CKEDITOR의 초기화 기능이 실행되지 않습니다.

분류에서Dev

서버의 Laravel cronjob이 실행되지 않습니다.

분류에서Dev

Windows 7의 cmd 프롬프트에서 Telnet이 실행되지 않습니다.

분류에서Dev

<p : ajax> 이벤트가 <p : selectonemenu>의 ValueChangeEvent에서 실행되지 않습니다.

분류에서Dev

bash의 Awk 문이 for 루프에서 실행되지 않습니다.

분류에서Dev

bash 스크립트의 EOF 문이 IF 문에서 실행되지 않습니다.

분류에서Dev

MouseMotionListener 이벤트가 화면의 특정 영역에서 실행되지 않습니다.

분류에서Dev

C의 루프 확인-scan ()이 두 번째 실행에서 실행되지 않습니다.

분류에서Dev

주 대기열의 dispatch_async 블록이 모달 실행 루프에서 실행되지 않습니다.

분류에서Dev

이벤트의 Laravel broadcastOn () 메서드가 실행되지 않습니다.

분류에서Dev

this.props.action이 실행되기 전에 .map이 정의되지 않았습니다.

분류에서Dev

C #의 업데이트 쿼리는 실행되지만 SQL에서는 업데이트되지 않습니다.

분류에서Dev

Corona / Lua : 화면 전환이 작동하지 않습니다.

분류에서Dev

clEnqueueNDRangeKernel이 전체 전역 범위에서 실행되지 않습니다.

분류에서Dev

Ajax를 사용하는 서블릿 응답의 HTML이 JSP 페이지에서 실행되지 않습니다.

분류에서Dev

둘 이상의 옵션이 채워지면 selectInput이 실행되지 않습니다 (Shiny에서).

분류에서Dev

ajax 요청이 linkbutton asp의 포스트 백 전에 먼저 실행되지 않습니다.

분류에서Dev

iOS 7.1에서 실행할 때 앱이 전체 화면으로 실행되지 않습니까?

분류에서Dev

전체 화면 게임이 와인 아래에서 전체 화면으로 실행되지 않습니까?

분류에서Dev

전체 화면 게임이 와인 아래에서 전체 화면으로 실행되지 않습니까?

분류에서Dev

discord.py-비동기식 정의 코 루틴이 톱니 바퀴에서 실행되지 않습니다.

분류에서Dev

ReplicatedFirst : RemoveDefaultLoadingScreen ()이 Studio에서 실행되지 않습니다.

분류에서Dev

itemtap이 목록에서 실행되지 않습니다.

분류에서Dev

Python이 터미널에서 실행되지 않습니다.

분류에서Dev

Kali Linux에서 Google 크롬이 실행되지 않습니다.

분류에서Dev

Kali Linux에서 Google 크롬이 실행되지 않습니다.

분류에서Dev

Android 앱이 기기에서 실행되지 않습니다.

Related 관련 기사

  1. 1

    Eclipse의 실행 파일이 우분투에서 실행되지 않습니다.

  2. 2

    Eclipse의 실행 파일이 우분투에서 실행되지 않습니다.

  3. 3

    CKEDITOR의 초기화 기능이 실행되지 않습니다.

  4. 4

    서버의 Laravel cronjob이 실행되지 않습니다.

  5. 5

    Windows 7의 cmd 프롬프트에서 Telnet이 실행되지 않습니다.

  6. 6

    <p : ajax> 이벤트가 <p : selectonemenu>의 ValueChangeEvent에서 실행되지 않습니다.

  7. 7

    bash의 Awk 문이 for 루프에서 실행되지 않습니다.

  8. 8

    bash 스크립트의 EOF 문이 IF 문에서 실행되지 않습니다.

  9. 9

    MouseMotionListener 이벤트가 화면의 특정 영역에서 실행되지 않습니다.

  10. 10

    C의 루프 확인-scan ()이 두 번째 실행에서 실행되지 않습니다.

  11. 11

    주 대기열의 dispatch_async 블록이 모달 실행 루프에서 실행되지 않습니다.

  12. 12

    이벤트의 Laravel broadcastOn () 메서드가 실행되지 않습니다.

  13. 13

    this.props.action이 실행되기 전에 .map이 정의되지 않았습니다.

  14. 14

    C #의 업데이트 쿼리는 실행되지만 SQL에서는 업데이트되지 않습니다.

  15. 15

    Corona / Lua : 화면 전환이 작동하지 않습니다.

  16. 16

    clEnqueueNDRangeKernel이 전체 전역 범위에서 실행되지 않습니다.

  17. 17

    Ajax를 사용하는 서블릿 응답의 HTML이 JSP 페이지에서 실행되지 않습니다.

  18. 18

    둘 이상의 옵션이 채워지면 selectInput이 실행되지 않습니다 (Shiny에서).

  19. 19

    ajax 요청이 linkbutton asp의 포스트 백 전에 먼저 실행되지 않습니다.

  20. 20

    iOS 7.1에서 실행할 때 앱이 전체 화면으로 실행되지 않습니까?

  21. 21

    전체 화면 게임이 와인 아래에서 전체 화면으로 실행되지 않습니까?

  22. 22

    전체 화면 게임이 와인 아래에서 전체 화면으로 실행되지 않습니까?

  23. 23

    discord.py-비동기식 정의 코 루틴이 톱니 바퀴에서 실행되지 않습니다.

  24. 24

    ReplicatedFirst : RemoveDefaultLoadingScreen ()이 Studio에서 실행되지 않습니다.

  25. 25

    itemtap이 목록에서 실행되지 않습니다.

  26. 26

    Python이 터미널에서 실행되지 않습니다.

  27. 27

    Kali Linux에서 Google 크롬이 실행되지 않습니다.

  28. 28

    Kali Linux에서 Google 크롬이 실행되지 않습니다.

  29. 29

    Android 앱이 기기에서 실행되지 않습니다.

뜨겁다태그

보관