Introdução ao Vungle (SDK v. 5.1 e superior) - Corona

Conteúdo

Antes de começar

  • Os anúncios não funcionarão no simulador Corona. Você deve criar um build para um dispositivo para testar os nossos anúncios.
  • Recomendamos que você use o último build Corona para sua integração. Este guia foi elaborado e testado com atualização diária 3103. Contate tech-support@vungle.com se o plugin hospedado não funciona com a versão do SDK Corona que você está usando.
  • O plugin Vungle Corona para iOS suporta iOS 8 e superior, limitado pelo SDK Corona.
  • O plugin Vungle Corona para Android suporta Android 4.0.3 (Ice Cream Sandwich - API version 15) e superior, limitado pelo SDK Corona.
  • Baixe nosso aplicativo de exemplo: https://github.com/Vungle/Corona-Plugin/tree/sdk5.

Passo 1. Atualize build.settings

O plugin Corona para SDK Vungle v5.1 ainda não está disponível no servidor oficial Corona, mas você pode usar plugins com hospedagem própria para Vungle. Adicione as seguintes entradas na tabela de plugins em build.settings. Quando adicionado, o SDK irá se conectar ao servidor para integrar o plugin SDK Vungle 5+ durante a fase de build:

plugins =
{ ["plugin.vungle"] = { publisherId = "com.vungle",
},
..
}

Para Android apenas

Para Android, as seguintes permissões são adicionadas automaticamente ao usar esse plugin:

androidPermissions = {
    "android.permission.INTERNET",
    "android.permission.WRITE_EXTERNAL_STORAGE",
    "android.permission.ACCESS_NETWORK_STATE"
},

Passo 2. Adicione o código

Inicialize o SDK

Nota: Um posicionamento padrão é automaticamente criado para cada aplicativo. Você deve fornecer seu ID de referência de posicionamento neste passo de inicialização independente de se você planeja ou não aproveitar a funcionalidade de posicionamentos. Se você criar múltiplos posicionamentos, forneça todos os IDs de referência.

Recomendamos que você inicialize o SDK assim que o seu aplicativo iniciar de modo a dar ao SDK tempo suficiente para baixar os ativos de anúncio do posicionamento armazenado automaticamente em cache. A inicialização do SDK requer:

  • importação de anúncios Vungle
  • ID do aplicativo
  • os IDs de referência para todos os posicionamentos que você irá usar no seu aplicativo

Você pode encontrar estes IDs no painel do Vungle (consulte Configuração e relatórios sobre posicionamentos).

Exemplo de código:

local ads = require "plugin.vungle"
platform = system.getInfo( "platformName" )
placements = {}

if (platform == "Android") then
    appData = {
        appID="YOUR_ANDROID_APP_ID",
        placements={“PLMT_DEFAULT","PLMT_1","PLMT_2"}
    }
else
    appData = {
        appID="YOUR_IOS_APP_ID",
        placements={“PLMT_DEFAULT","PLMT_1","PLMT_2"}
}

-- vungleAdListner is optional
ads.init("vungle", appData.appID .. "," .. appData.placements[1] .. "," .. appData.placements[2] .. "," .. appData.placements[3] [, vungleAdListener])

Uma vez que o SDK é inicializado com sucesso, ele chama o seguinte evento:

event.type == "adAvailable"

Depois que o SDK Vungle é inicializado, ele automaticamente pede um anúncio no posicionamento que você selecionou como Armazenado automaticamente em cache no painel Vungle. Recomendamos que você selecione o posicionamento mais visualizado como sua seleção de armazenado em cache automaticamente.

Assim que o anúncio é armazenado em cache, o evento adAvailable é chamado com o ID de referência de posicionamento correspondente ao seu posicionamento armazenado automaticamente em cache. Para o posicionamento armazenado em cache automaticamente, este método de retorno de chamada é chamado apenas quando as alterações de disponibilidade de anúncio mudam de verdadeiro para falso ou de falso para verdadeiro. O SDK ficará solicitando um anúncio para o posicionamento armazenado em cache automaticamente. Para todos os outros posicionamentos, este método de retorno de chamada é chamado em caso de "Falha de carregamento" (adAvailable retorna 'NÃO' neste caso).

Você também pode verificar a disponibilidade de anúncio para um posicionamento com a seguinte propriedade:

- (BOOL)isAdCachedForPlacementID:(nonnull NSString *)placementID;

Carregue um anúncio para um posicionamento

Para outros posicionamentos além do posicionamento armazenado automaticamente em cache, chame o método ads.load() para carregar um anúncio. Ele leva uma string de ID de referência de posicionamento como um argumento e tenta carregar um anúncio para aquele posicionamento apenas quando ads.load() é emitido e o anúncio não está disponível para aquele posicionamento:

ads.load( "PLMT_1” )

Nota: Este método é usado apenas para posicionamentos que não sejam armazenados em cache automaticamente porque anúncios armazenados em cache automaticamente são carregados imediatamente após a reprodução de anúncio armazenado em cache automaticamente.

Reproduza um anúncio para um posicionamento

Depois de permitir tempo suficiente para que os ativos de anúncio sejam baixados, você pode reproduzir o anúncio chamando ads.show(). Você deve verificar se existe um anúncio pronto para este posicionamento chamando event.adPlayble após a tentativa de reproduzir um anúncio.

Exemplo de código:

if (event.placementID == appData.placements[1]) then
    if ( event.adPlayable == true ) then
        ads.show( "PLMT_DEFAULT")
    end
end

Tratamento de evento

Você pode opcionalmente passar listeners de evento para ads.init() definindo os listener antes que a inicialização aconteça. Abaixo, encontra-se a lista de listeners de evento disponíveis.

  • adStart
    digite: adStart
    placementID: ID de referência de posicionamento
    isError: verdadeiro se um anúncio não pode ser reproduzido; falso se um anúncio começa a ser reproduzido

  • adLog
    digite: adLog
    mensagem: mensagem de atividade de anúncio

  • adInitialize
    digite: adInitialize 

  • adAvailable
    digite: adAvailable
    placementID: ID de referência de posicionamento
    isAdPlayable: verdadeiro se um anúncio está disponível para reprodução; caso contrário, falso

  • adEnd
    digite: adEnd
    placementID: ID de referência de posicionamento
    didDownload: verdadeiro se o usuário clica no botão baixar; caso contrário, falso
    completedView: verdadeiro se o usuário assistiu 80% ou mais do vídeo; caso contrário, falso

  • vungleSDKlog
    digite: vungleSDKlog
    mensagem: mensagem de evento SDK

Exemplo de código:

local function vungleAdListener( event )
    if ( event.type == "adStart" and not event.isError ) then
        -- adStart event is called and ad will play
    end
    if ( event.type == "adStart" and event.isError ) then
        -- Ad has not finished caching and will not play
    end
    if ( event.type == "adLog") then
        -- adLog event is called to pass ad activity information
    end
    if ( event.type == "adInitialize") then
        -- adInitilizaed is called when placement has successfully initialized
    end
    if ( event.type == "adAvailable" ) then
        -- adAvailable is called when playablility changes to/from true/false
        -- Usage example: setting a flag to true when download completes
        --   Check event.placementID and event.isAdPlayable to set a flag to true
        --   Then check this flag later in your app and play an ad when it is true
    end
    if ( event.type == "adEnd" ) then
        -- adEnd is called when the end card is closed and and control is return to the hosting app

    end
    if ( event.type == "vungleSDKlog" ) then
        -- vungleSDKlog is called when logging event from SDK takes place
    end
end

Opções de personalização

O método ads.show() também pode aceitar um dicionário de opções para personalizar a experiência de reprodução de anúncios.

Chave

Valor

Descrição

alertTitle

alertText

alertContinue

posicionamento

String

Você pode personalizar uma mensagem para ser exibida aos usuários quando tentarem fechar o vídeo de incentivo antes da sua conclusão.

Nota: Esta definição aplica-se apenas ao tipo padrão de anúncios Vungle. Para anúncios de modelo dinâmico, a mesma personalização está disponível no painel.

isAutoRotation

Bool

Para Android, se verdadeiro (padrão), o anúncio de vídeo gira automaticamente com a orientação do dispositivo. Se for false, ele usa a orientação preferida do anúncio.

Para iOS, consulte a chave de orientação abaixo.

isSoundEnabled

Bool

Se for true (padrão), o som é ativado durante a reprodução do anúncio de vídeo, conforme as configurações de som do dispositivo. Se for false, a reprodução do vídeo começa muda. O usuário pode silenciar ou ativar o som durante a reprodução.

imersivo

Bool

Apenas para Android, habilita ou desabilita o modo imersivo em dispositivos KitKat+.

grande

Bool

Para iOS apenas, mostra botões grandes que controlam funções de anúncio tais como silenciar ou fechar.

orientação

Inteiro

Para iOS apenas, defina como 4 para paisagem, 0 para retrato, ou 5 para girar automaticamente.


Exemplo de código:

if (platform == "Android") then
    options = {
        placementId = placements[i],
        incentivized = isIncentivized,
        isAutoRotation = isAutoRotate,
        immersive = isImmersive,
        isSoundEnabled = not isMuted
    }
else
    options = {
        placementId = placements[i],
        incentivized = incentivized.isOn,
        large = large.isOn,
        isSoundEnabled = not muted.isOn
    }
end
if (not isempty(alertTitle.text)) then
            options.alertTitle = alertTitle.text
        end
        if (not isempty(alertText.text)) then
            options.alertText = alertText.text
        end
        if (not isempty(alertClose.text)) then
            options.alertClose = alertClose.text
        end
        if (not isempty(alertContinue.text)) then
            options.alertContinue = alertContinue.text
        end
        if (not isempty(placement.text)) then
            options.placement = placement.text
        end
end

ads.show(options)
Tem mais dúvidas? Envie uma solicitação

Comentários