Integrar Vungle SDK para Windows

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)

  1. No Visual Studio, clique com o botão direito no nome do seu projeto no Explorador de soluções e selecione Gerenciar pacotes NuGet.
  2. Clique em Navegar, digite ‘Vungle’ e selecione Vungle SDK.
  3. Clique em Instalar.

Opção 2. Integração manual

  1. Baixe o Vungle Windows SDK do painel Vungle.
  2. Extraia o arquivo.
  3. No Visual Studio, crie um novo projeto Universal Windows usando o modelo correto para o seu aplicativo e linguagem de programação.
  4. Adicione uma referência para seu projeto ao arquivo Vungle Windows SDK que você baixou.
    O Vungle SDK possui dois arquivos VungleSDK.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 ou Win81.
  5. Certifique-se de que seu projeto tenha o recurso internetClient no arquivo package.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:
      1. No Visual Studio, clique duas vezes em appxmanifest no Explorador de soluções.
      2. Selecione Recursos.
      3. Confirme que a opção Internet (Cliente) está marcada.
    • Para garantir o recurso internetClient por meio da edição manual, abra o arquivo package.appxmanifeset e adicione internetClient à seção Capabilities:
      <Capabilities>
      ...
      <Capability Name="internetClient" />
      ...
      </Capabilities>

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:

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.

Questions?

Need further assistance, feel free to reach out to us, we’re here to help!

Esse artigo foi útil?