Use este guia para integrar rapidamente o nosso SDK ao seu aplicativo e começar a monetizar. Os exemplos de código neste guia estão em C#, mas fornecemos arquivos de aplicativo de exemplo em C#, C++, Visual Basic e DirectX+XAML em nosso repositório do GitHub.
Antes de começar
Requisitos
- A integração requer uma conta Vungle, portanto, crie uma conta Vungle, se ainda não tiver uma, e crie um novo aplicativo Windows Universal Windows na sua conta. Consulte a seção Adicionar os seus aplicativos e posicionamentos do artigo Usando o painel do distribuidor para saber como configurar posicionamentos no painel do Vungle.
- Se você estiver desenvolvendo para Windows 8.1, deverá usar o Visual Studio 2015, porque a Microsoft não oferece mais suporte ao Windows 8.1 para o Visual Studio 2017.
- O botão Voltar é compatível com dispositivos móveis, mas não com PCs (teclado). Isso pode resultar em comportamento e experiência do usuário diferentes para compilações UWP.
- No Painel, alterne o seu aplicativo para o modo Ativo se nenhum anúncio estiver sendo retornado no modo Teste.
Fazer download do SDK
Se você optar pela opção de integração manual, pode baixar o Vungle SDK para Windows aqui: https://publisher.vungle.com/sdk/sdks/windows.
Referência: modelo de aplicativo
Consulte o modelo de aplicativo que fornecemos durante a integração: https://github.com/Vungle/Windows-SDK/tree/master.
Etapa 1. Integre o Vungle SDK no seu projeto
Existem duas maneiras de adicionar o Vungle ao seu projeto do Visual Studio: usando NuGet (recomendado) ou integração manual.
Opção 1. Integração NuGet (recomendado)
- No Visual Studio, clique com o botão direito no nome do seu projeto no Explorador de soluções e selecione Gerenciar pacotes NuGet.
- Clique em Navegar, digite ‘Vungle’ e selecione Vungle SDK.
- Clique em Instalar.
Opção 2. Integração manual
- Baixe o Vungle Windows SDK do painel Vungle.
- Extraia o arquivo.
- No Visual Studio, crie um novo projeto Universal Windows usando o modelo correto para o seu aplicativo e linguagem de programação.
- Adicione uma referência para seu projeto ao arquivo Vungle Windows SDK que você baixou.
O Vungle SDK possui dois arquivosVungleSDK.windmd
: um para o Windows 10 e outro para o desenvolvimento do Windows 8.1. Use o SDK correto do diretório extraído,Win10
ouWin81
. - Certifique-se de que seu projeto tenha o recurso
internetClient
no arquivopackage.appxmanifest
. O recurso Internet (Cliente) é ativado por padrão quando você cria um novo projeto. Você pode verificar isso no Visual Studio ou por meio da edição manual.- Para verificar o recurso
internetClient
no Visual Studio:- No Visual Studio, clique duas vezes em
appxmanifest
no Explorador de soluções. - Selecione Recursos.
- Confirme que a opção Internet (Cliente) está marcada.
- No Visual Studio, clique duas vezes em
- Para garantir o recurso
internetClient
por meio da edição manual, abra o arquivopackage.appxmanifeset
e adicioneinternetClient
à seçãoCapabilities
:<Capabilities>
...
<Capability Name="internetClient" />
...
</Capabilities>
- Para verificar o recurso
Etapa 2. Importar o VungleSDK
namespace
Importe o namespace VungleSDK
da seguinte maneira:
usando o VungleSDK;
Etapa 3. Obter uma instância VungleAd
A partir do Vungle SDK v6.3.0, a instância VungleAd
usa apenas um parâmetro: o ID do seu aplicativo Vungle.
VungleAd sdkInstance;
string appID = “app_id”;
sdkInstance = AdFactory.GetInstance(appID);
No exemplo acima, substitua appId
pelo ID do seu aplicativo Vungle. Recomendamos que você siga essas etapas de inicialização assim que o seu aplicativo terminar de carregar os componentes críticos, a fim de que a otimização do cache possa começar.
Para o Vungle SDK v6.2.0 e inferior, a instância VungleAd
usa dois parâmetros: uma string para o ID do seu aplicativo Vungle e uma matriz de strings para os IDs de posicionamento. Você só pode usar IDs de veiculação que já incluiu quando obteve a instância.
sdkInstance = AdFactory.GetInstance (appID, placementList);
Etapa 4. Adicionar código
Criar e registrar gerenciadores de eventos
O Windows SDK abre diversos eventos que você pode programar. É possível utilizar esses gerenciadores de eventos para controlar recursos do aplicativo, como pausa/retomar a música de fundo.
Observação sobre threads de IU
Os ouvintes de evento são executados em um thread em segundo plano, portanto, qualquer interação IU ou atualizações decorrentes de um ouvinte de evento devem ser inseridas no segmento principal da IU antes de serem executadas. Esta é uma maneira de fazer isso:
await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
new DispatchedHandler(() =>
{ // This block will be executed in the UI thread
} );
Diagnóstico
Este gerenciador de eventos é chamado quando o SDK deseja imprimir logs de diagnóstico.
Modelo de código:
//Register event handler sdkInstance.Diagnostic += SdkInstance_Diagnostic; ... // Event handler called when SDK wants to print diagnostic logs private void SdkInstance_Diagnostic(object sender, DiagnosticLogEvent e) { System.Diagnostics.Debug.WriteLine("Diagnostic - "
+ e.Level + " "
+ e.Type + " "
+ e.Exception + " "
+ e.Message); }
// DEPRECATED - Use SdkInstance_OnAdEnd() instead
private void SdkInstance_OnVideoView(object sender, AdViewEventArgs e) { }
OnAdPlayableChanged
Crie um gerenciador de eventos para o evento OnAdPlayableChanged
. Este gerenciador de eventos é chamado quando o estado de disponibilidade do anúncio muda. Aguarde até que este gerenciador de eventos execute uma ação quando um anúncio se torna disponível após um anúncio ser carregado para posicionamento. Você pode identificar qual posicionamento acionou o evento verificando e.Placement
.
// Event handler for OnAdPlayableChanged event private async void SdkInstance_OnAdPlayableChanged(object sender, AdPlayableEventArgs e) {
if (e.AdPlayable == true)
{ // e.Placement - placement ID in string // Run asynchronously on the UI thread await CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, new DispatchedHandler(() => methodToRun(e.Placement)));
} }
Registre este gerenciador de eventos para o evento OnAdPlayableChanged
.
sdkInstance.OnAdPlayableChanged += SdkInstance_OnAdPlayableChanged;
OnInitCompleted
Este gerenciador de eventos é chamado imediatamente após a conclusão da inicialização do SDK. Você pode verificar se há um anúncio baixado de uma sessão anterior ou carregar um anúncio para posicionamentos.
Modelo de código:
//Register event handler sdkInstance.OnInitCompleted += SdkInstance_OnInitCompleted; ... // OnInitCompleted // e.Initialized - true if initialization succeeded, false if failed // e.ErrorMessage - reason for failure when e.Initialized is false private async void SdkInstance_OnInitCompleted(object sender, ConfigEventArgs e) { var placementsInfo = "OnInitCompleted: " + e.Initialized; // Initilization was success if (e.Initialized == true) { // Print out list of placements for (var i = 0; i < e.Placements.Length; i++) { placementsInfo += "\n\tPlacement" + (i + 1) + ": " + e.Placements[i].ReferenceId; if (e.Placements[i].IsAutoCached == true) placementsInfo += " (Auto-Cached)"; } } // Initilization failed else { placementsInfo += "\n\t" + e.ErrorMessage; } System.Diagnostics.Debug.WriteLine(placementsInfo); await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, new DispatchedHandler(() => NotifyInitialization(e.Initialized))); }
OnAdStart
Este gerenciador de eventos é chamado antes de reproduzir um anúncio. Você pode executar ações como pausar a música de fundo.
Modelo de código:
//Register event handler sdkInstance.OnAdStart += SdkInstance_OnAdStart; ... // OnAdStart // e.Id - Vungle app ID in string // e.Placement - placement ID in string private void SdkInstance_OnAdStart(object sender, AdEventArgs e) { System.Diagnostics.Debug.WriteLine("OnAdStart(" + e.Id + "): " + e.Placement); }
OnAdEnd
Esse gerenciador de eventos é chamado quando o usuário fecha o cartão final e o controle é retornado ao seu aplicativo. Se IsCompletedView
ou CallToActionClicked
for verdadeiro, o usuário assistiu ao anúncio ou clicou no botão de download no anúncio. Nesse caso, se for um anúncio premiado, o usuário deve ser premiado. Você pode realizar ações como retomar recursos do aplicativo.
Modelo de código:
//Register event handlers sdkInstance.OnAdEnd += SdkInstance_OnAdEnd; ... // OnAdEnd // e.Id - Vungle app ID in string // e.Placement - placement ID in string // e.IsCompletedView- true when 80% or more of the video was watched // e.CallToActionClicked - true when the user has clicked download button on end card // e.WatchedDuration - DEPRECATED private void SdkInstance_OnAdEnd(object sender, AdEndEventArgs e) { System.Diagnostics.Debug.WriteLine("OnVideoEnd(" + e.Id + "): " + "\n\tPlacement: " + e.Placement + "\n\tIsCompletedView: " + e.IsCompletedView + "\n\tCallToActionClicked: " + e.CallToActionClicked + "\n\tWatchedDuration: " + e.WatchedDuration); }
Integrar formatos de anúncio
Conclua a integração do SDK para cada formato de anúncio que você planeja exibir em seu aplicativo. Consulte nossas instruções para cada formato de anúncio:
- Integrar anúncios intersticiais e com recompensa
- Integrar anúncios em banner
- Integrar anúncios no formato MERC
Personalizar ainda mais seus anúncios
Siga as instruções em nosso artigo Configurações avançadas para ajustar a integração do seu aplicativo com opções de configuração adicionais, como a RGPD, implementação da CCPA e muitas outras configurações.