Introdução ao SDK do Vungle v. 5 - Corona

Conteúdo

Antes de começar

  • Recomendamos que você use o último build Corona para sua integração. O SDK do Vungle para Android e iOS v. 5.3.0 está disponível a partir do build diário 2017.3154 do Corona.
  • 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.
  • O plug-in do Vungle para Corona do Android é compatível com Amazon OS 5.4 e superior, adicionado a partir do build diário 2017.3124.
  • Baixe nosso aplicativo de exemplo: https://github.com/Vungle/Corona-Plugin/tree/sdk5.

Passo 1. Atualize build.settings

Adicione a seguinte entrada na tabela de plug-ins em build.settings. Quando adicionado, o SDK irá se conectar ao servidor para integrar o plug-in do SDK do 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"
},

Depois de adicionar o Google Play Services, adicione as seguintes permissões em AndroidManifest. A Vungle usa essas informações para personalizar o melhor anúncio disponível para o usuário.

androidPermissions = {
"android.permission.ACCESS_COARSE_LOCATION",
"android.permission.ACCESS_FINE_LOCATION" /
},

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).

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 a ser exibida aos usuários quando tentarem fechar o vídeo de incentivo antes da conclusão. Anúncios premiados são às vezes chamados de anúncios incentivados; ambos os termos referem-se ao mesmo tipo de anúncio. No código do SDK e em nossa API de relatórios, usamos o termo "incentivado".

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],
        isAutoRotation = isAutoRotate,
        immersive = isImmersive,
        isSoundEnabled = not isMuted
    }
else
    options = {
        placementId = placements[i],
        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

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

Comentários