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

Conteúdo

Antes de começar

  • Recomendamos usar a compilação mais recente do Corona para sua integração. Vungle SDK v. 5.3.2 para Android e iOS estão disponíveis a partir da compilação diária do Corona 2017.3179.
  • 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.

Etapa 1. Atualizar o 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 Vungle SDK 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" / }, 

IMPORTANTE: Se você estiver desenvolvendo com o Corona Enterprise, inclua a Biblioteca de Suporte do Android v4 para que a integração seja bem-sucedida.

Etapa 2. Adicionar código

Inicializar o SDK

Nota: Um posicionamento padrão é automaticamente criado para cada aplicativo. Você deve fornecer seu ID de referência de posicionamento nesta etapa de inicialização, independentemente se planeja ou não aproveitar a funcionalidade de posicionamentos. Se 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 esses IDs no Painel do Vungle (consulte Configuração e relatório sobre posicionamentos" ). No caso da plataforma Amazon, use o ID de aplicativo Amazon em seu painel do Vungle.

Exemplo de código:

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

-- Amazon application ID is under the Android platform
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 Vungle SDK é 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 callback é 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 callback é chamado em caso de "Falha de carregamento" (adAvailable retorna 'NÃO' neste caso).

Carregar 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 eventos

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

  • adStart
    tipo: adStart
    placementID: pID de referência do posicionamento
    isError: true se um anúncio não puder ser reproduzido; false se a reprodução do anúncio foi iniciada

  • adLog
    tipo: adLog
    mensagem: mensagem de atividade do anúncio

  • adInitialize
    tipo: adInitialize

  • adAvailable
    tipo: adAvailable
    placementID: ID de referência do posicionamento
    isAdPlayable: true se o anúncio estiver disponível para reprodução, false em caso contrário

  • adEnd
    tipo: adEnd
    placementID: ID de referência do posicionamento
    didDownload: true se o usuário tiver clicado no botão de download; false em caso contrário
    completedView: true se o usuário tiver assistido a 80% ou mais do vídeo; false em caso contrário

  • vungleSDKlog
    tipo: 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 com recompensa 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.

userTag

String

Defina o ID de usuário para recompensar o usuário por assistir a anúncios com recompensa.

ordinal

String

Defina dados ordinais que monitoram quantos anúncios foram exibidos em uma sessão. Relatórios personalizados estão disponíveis mediante solicitação.


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