Anúncios intersticiais

Aviso

A partir de 1º de junho de 2020, a plataforma Microsoft Ad Monetization para aplicativos UWP do Windows será desligada. Saiba mais

Este passo a passo mostra como incluir anúncios intersticiais em aplicativos Plataforma Universal do Windows (UWP) e jogos para Windows 10 e Windows 11. Para obter projetos de exemplo completos que demonstram como adicionar anúncios intersticiais a aplicativos JavaScript/HTML e XAML usando C# e C++, consulte os exemplos de publicidade no GitHub.

O que são anúncios intersticiais?

Diferente dos anúncios padrão que se restringe a uma parte de uma interface do usuário em um aplicativo ou jogo, os anúncios intersticiais são mostrados na tela inteira. Duas formas básicas são frequentemente usadas em jogos.

  • Com anúncios de Acesso pago, o usuário deve assistir a um anúncio em algum intervalo regular. Por exemplo, entre os níveis dos jogos:

    whatisaninterstitial

  • Com anúncios Baseados em recompensas, o usuário está explicitamente buscando algum benefício, como uma dica ou tempo extra para concluir o nível, e inicializa o anúncio por meio da interface do usuário do aplicativo.

Oferecemos dois tipos de anúncios intersticiais para usar em seus aplicativos e jogos: anúncios intersticiais em vídeo e anúncios intersticiais.

Observação

A API para anúncios intersticiais não manipula nenhuma interface do usuário exceto no momento da reprodução de vídeo. Consulte as práticas recomendadas de anúncios intersticiais para obter diretrizes sobre o que fazer e evitar ao considerar como integrar anúncios intersticiais no aplicativo.

Pré-requisitos

Integrar um anúncio intersticial ao aplicativo

Para mostrar anúncios intersticiais no aplicativo, siga as instruções para o tipo de projeto:

XAML/.NET

Esta seção fornece exemplos em C#, mas também há suporte para Visual Basic e C++ para projetos XAML/.NET. Para obter um exemplo de código em C#, consulte Código de exemplo de anúncio intersticial em C#.

  1. Abra o projeto no Visual Studio.

    Observação

    Se você estiver usando um projeto existente, abra o arquivo Package. appxmanifest em seu projeto e certifique-se de que o recurso da Internet (cliente) está selecionado. Seu aplicativo precisa dessa funcionalidade para receber anúncios de teste e anúncios ativos.

  2. Se o seu projeto tem direcionamento Any CPU, atualize-o para usar uma saída de compilação de arquitetura específica (por exemplo, x86). Se o seu projeto tem direcionamento Any CPU, você não conseguirá adicionar uma referência à biblioteca do Microsoft Advertising nas etapas a seguir. Para obter mais informações, consulte Erros de referência causados pelo direcionamento Any CPU em seu projeto.

  3. Adicione uma referência ao SDK do Microsoft Advertising em seu projeto:

    1. Na janela Gerenciador de Soluções, clique com o botão direito do mouse em Referências e selecione Adicionar Referência...
    2. No Gerenciador de Referências, expanda Universal do Windows, clique em Extensões e marque a caixa de seleção ao lado de SDK do Microsoft Advertising para XAML (versão 10.0).
    3. No Gerenciador de Referências, clique em OK.
  4. No arquivo de código apropriado no aplicativo (por exemplo, em MainPage.xaml.cs ou um arquivo de código para alguma outra página), adicione a seguinte referência de namespace.

    using Microsoft.Advertising.WinRT.UI;
    
  5. Em um local indicado no aplicativo (por exemplo, em MainPage ou em alguma outra página), declare um objeto InterstitialAd e diversos campos da cadeia de caracteres que representam a ID do aplicativo e a ID da unidade de anúncio para o anúncio intersticial. O exemplo de código a seguir atribui os campos myAppId e myAdUnitId aos valores de teste para anúncios intersticiais.

    Observação

    Cada InterstitialAd tem uma unidade publicitária correspondente que é usado por nossos serviços para veicular anúncios para o controle, e cada unidade de anúncio consiste em uma ID da unidade publicitária e ID do aplicativo. Nestas etapas, você atribui os valores da ID da unidade publicitária de teste e da ID do aplicativo para seu controle. Esses valores de teste só podem ser usados em uma versão de teste do seu app. Antes de publicar seu aplicativo na Store, você deve substituir esses valores de teste por valores dinâmicos do Partner Center.

    InterstitialAd myInterstitialAd = null;
    string myAppId = "d25517cb-12d4-4699-8bdc-52040c712cab";
    string myAdUnitId = "test";
    
  6. No código executado na inicialização (por exemplo, no construtor da página), instancie o objeto InterstitialAd e conecte os manipuladores de eventos do objeto.

    myInterstitialAd = new InterstitialAd();
    myInterstitialAd.AdReady += MyInterstitialAd_AdReady;
    myInterstitialAd.ErrorOccurred += MyInterstitialAd_ErrorOccurred;
    myInterstitialAd.Completed += MyInterstitialAd_Completed;
    myInterstitialAd.Cancelled += MyInterstitialAd_Cancelled;
    
  7. Se você deseja mostrar um anúncio de vídeo intersticial: Aproximadamente de 30 a 60 segundos antes de precisar do anúncio, use o método RequestAd para pré-buscar o anúncio. Isso dá tempo suficiente para solicitar e preparar o anúncio antes de precisar ser mostrado. Certifique-se de especificar AdType.Video para o tipo de anúncio.

    myInterstitialAd.RequestAd(AdType.Video, myAppId, myAdUnitId);
    

    Se você deseja mostrar um anúncio de faixa intersticial: aproximadamente de 5 a 8 segundos antes de precisar do anúncio, use o método RequestAd para pré-buscar o anúncio. Isso dá tempo suficiente para solicitar e preparar o anúncio antes de precisar ser mostrado. Especifique AdType.Display para o tipo de anúncio.

    myInterstitialAd.RequestAd(AdType.Display, myAppId, myAdUnitId);
    
  8. No momento em que você deseja mostrar o vídeo intersticial ou anúncio em faixa intersticial, confirme que o InterstitialAd está pronto para ser mostrado e mostre-o usando o método Show.

    if (InterstitialAdState.Ready == myInterstitialAd.State)
    {
        myInterstitialAd.Show();
    }
    
  9. Defina os manipuladores de eventos para o objeto InterstitialAd.

    void MyInterstitialAd_AdReady(object sender, object e)
    {
        // Your code goes here.
    }
    
    void MyInterstitialAd_ErrorOccurred(object sender, AdErrorEventArgs e)
    {
        // Your code goes here.
    }
    
    void MyInterstitialAd_Completed(object sender, object e)
    {
        // Your code goes here.
    }
    
    void MyInterstitialAd_Cancelled(object sender, object e)
    {
        // Your code goes here.
    }
    
  10. Compile e teste o aplicativo para confirmar se ele está mostrando anúncios de teste.

HTML/JavaScript

As instruções a seguir pressupõem que você tenha criado um projeto Universal do Windows para JavaScript no Visual Studio e esteja segmentando uma CPU específica. Para obter um exemplo de código completo, consulte Código de exemplo de anúncio intersticial em JavaScript.

  1. Abra o projeto no Visual Studio.

  2. Se o seu projeto tem direcionamento Any CPU, atualize-o para usar uma saída de compilação de arquitetura específica (por exemplo, x86). Se o seu projeto tem direcionamento Any CPU, você não conseguirá adicionar uma referência à biblioteca do Microsoft Advertising nas etapas a seguir. Para obter mais informações, consulte Erros de referência causados pelo direcionamento Any CPU em seu projeto.

  3. Adicione uma referência ao SDK do Microsoft Advertising em seu projeto:

    1. Na janela Gerenciador de Soluções, clique com o botão direito do mouse em Referências e selecione Adicionar Referência...
    2. No Gerenciador de Referências, expanda Universal do Windows, clique em Extensões e marque a caixa de seleção ao lado de SDK do Microsoft Advertising para JavaScript (versão 10.0).
    3. No Gerenciador de Referências, clique em OK.
  4. <Na seção principal> do arquivo HTML no projeto, após as referências javaScript do projeto de default.css e default.js, adicione a referência a ad.js.

    <script src="//Microsoft.Advertising.JavaScript/ad.js"></script>
    
  5. Em um arquivo .js no projeto, declare um objeto InterstitialAd e vários campos que contenham a ID do aplicativo e a ID da unidade do anúncio intersticial. O exemplo de código a seguir atribui os campos applicationId e adUnitId aos valores de teste para anúncios intersticiais.

    Observação

    Cada InterstitialAd tem uma unidade publicitária correspondente que é usado por nossos serviços para veicular anúncios para o controle, e cada unidade de anúncio consiste em uma ID da unidade publicitária e ID do aplicativo. Nestas etapas, você atribui os valores da ID da unidade publicitária de teste e da ID do aplicativo para seu controle. Esses valores de teste só podem ser usados em uma versão de teste do seu app. Antes de publicar seu aplicativo na Store, você deve substituir esses valores de teste por valores dinâmicos do Partner Center.

    var interstitialAd = null;
    var applicationId = "d25517cb-12d4-4699-8bdc-52040c712cab";
    var adUnitId = "test";
    
  6. No código executado na inicialização (por exemplo, no construtor da página), instancie o objeto InterstitialAd e conecte os manipuladores de eventos do objeto.

    interstitialAd = new MicrosoftNSJS.Advertising.InterstitialAd();
    interstitialAd.onErrorOccurred = errorOccurredHandler;
    interstitialAd.onAdReady = adReadyHandler;
    interstitialAd.onCancelled = cancelledHandler;
    interstitialAd.onCompleted = completedHandler;
    
  7. Se você deseja mostrar um anúncio de vídeo intersticial: Aproximadamente de 30 a 60 segundos antes de precisar do anúncio, use o método RequestAd para pré-buscar o anúncio. Isso dá tempo suficiente para solicitar e preparar o anúncio antes de precisar ser mostrado. Certifique-se de especificar InterstitialAdType.video para o tipo de anúncio.

    if (interstitialAd) {
        interstitialAd.requestAd(MicrosoftNSJS.Advertising.InterstitialAdType.video, applicationId, adUnitId);
    }
    

    Se você deseja mostrar um anúncio de faixa intersticial: aproximadamente de 5 a 8 segundos antes de precisar do anúncio, use o método RequestAd para pré-buscar o anúncio. Isso dá tempo suficiente para solicitar e preparar o anúncio antes de precisar ser mostrado. Certifique-se de especificar InterstitialAdType.display para o tipo de anúncio.

    if (interstitialAd) {
        interstitialAd.requestAd(MicrosoftNSJS.Advertising.InterstitialAdType.display, applicationId, adUnitId);
    }
    
  8. No ponto no código em que você deseja mostrar o anúncio, confirme se o InterstitialAd está pronto para ser mostrado e mostre-o usando o método Mostrar.

    if (interstitialAd && interstitialAd.state === MicrosoftNSJS.Advertising.InterstitialAdState.ready) {
        interstitialAd.show();
    }
    
  9. Defina os manipuladores de eventos para o objeto InterstitialAd.

    function adReadyHandler(sender) {
      // Your code goes here.
    }
    
    function errorOccurredHandler(sender, args) {
      // Your code goes here.
    }
    
    function completedHandler(sender) {
      // Your code goes here.
    }
    
    function cancelledHandler(sender) {
      // Your code goes here.
    }
    
  10. Compile e teste o aplicativo para confirmar se ele está mostrando anúncios de teste.

C++ (interoperabilidade DirectX)

Este exemplo pressupõe que você tenha criado um projeto DirectX and XAML App (Universal Windows) em C++ no Visual Studio e esteja segmentando uma arquitetura de CPU específica.  

  1. Abra o projeto no Visual Studio.

  2. Adicione uma referência ao SDK do Microsoft Advertising em seu projeto:

    1. Na janela Gerenciador de Soluções, clique com o botão direito do mouse em Referências e selecione Adicionar Referência...
    2. No Gerenciador de Referências, expanda Universal do Windows, clique em Extensões e marque a caixa de seleção ao lado de SDK do Microsoft Advertising para XAML (versão 10.0).
    3. No Gerenciador de Referências, clique em OK.
  3. Em um arquivo de cabeçalho indicado para o aplicativo (por exemplo, DirectXPage.xaml. h), declare um objeto InterstitialAd e os métodos do manipulador de eventos relacionados.

    Microsoft::Advertising::WinRT::UI::InterstitialAd^ m_interstitialAd;
    void OnAdReady(Object^ sender, Object^ args);
    void OnAdCompleted(Object^ sender, Object^ args);
    void OnAdCancelled(Object^ sender, Object^ args);
    void OnAdError(Object^ sender, Microsoft::Advertising::WinRT::UI::AdErrorEventArgs^ args);
    
  4. No mesmo arquivo de cabeçalho, declare diversos campos da sequência que representam a ID do aplicativo e a ID da unidade publicitária para o anúncio intersticial. O exemplo de código a seguir atribui os campos myAppId e myAdUnitId aos valores de teste para anúncios intersticiais.

    Observação

    Cada InterstitialAd tem uma unidade publicitária correspondente que é usado por nossos serviços para veicular anúncios para o controle, e cada unidade de anúncio consiste em uma ID da unidade publicitária e ID do aplicativo. Nestas etapas, você atribui os valores da ID da unidade publicitária de teste e da ID do aplicativo para seu controle. Esses valores de teste só podem ser usados em uma versão de teste do seu app. Antes de publicar seu aplicativo na Store, você deve substituir esses valores de teste por valores dinâmicos do Partner Center.

    Platform::String^ myAppId = L"d25517cb-12d4-4699-8bdc-52040c712cab";
    Platform::String^ myAdUnitId = L"test";
    
  5. No arquivo .cpp em que você deseja adicionar código para mostrar um anúncio intersticial, adicione a referência de namespace a seguir. Os exemplos a seguir pressupõem que você esteja adicionando o código ao arquivo DirectXPage.xaml.cpp no aplicativo.

    using namespace Microsoft::Advertising::WinRT::UI;
    
  6. No código executado na inicialização (por exemplo, no construtor da página), instancie o objeto InterstitialAd e conecte os manipuladores de eventos do objeto. No exemplo a seguir, InterstitialAdSamplesCpp é o namespace do projeto; altere esse nome conforme necessário para o código.

    m_interstitialAd = ref new InterstitialAd();         
    m_interstitialAd->AdReady += ref new Windows::Foundation::EventHandler<Platform::Object ^>
        (this, &InterstitialAdSamplesCpp::DirectXPage::OnAdReady);
    m_interstitialAd->Completed += ref new Windows::Foundation::EventHandler<Platform::Object ^>
        (this, &InterstitialAdSamplesCpp::DirectXPage::OnAdCompleted);
    m_interstitialAd->Cancelled += ref new Windows::Foundation::EventHandler<Platform::Object ^>
        (this, &InterstitialAdSamplesCpp::DirectXPage::OnAdCancelled);
    m_interstitialAd->ErrorOccurred += ref new
        Windows::Foundation::EventHandler<Microsoft::Advertising::WinRT::UI::AdErrorEventArgs ^>
        (this, &InterstitialAdSamplesCpp::DirectXPage::OnAdError);
    
  7. Se você deseja mostrar um anúncio de vídeo intersticial: Aproximadamente de 30 a 60 segundos antes de precisar do anúncio intersticial, use o método RequestAd para pré-buscar o anúncio. Isso dá tempo suficiente para solicitar e preparar o anúncio antes de precisar ser mostrado. Especifique AdType::Video para o tipo de anúncio.

    m_interstitialAd->RequestAd(AdType::Video, myAppId, myAdUnitId);
    

    Se você deseja mostrar um anúncio de faixa intersticial: aproximadamente de 5 a 8 segundos antes de precisar do anúncio, use o método RequestAd para pré-buscar o anúncio. Isso dá tempo suficiente para solicitar e preparar o anúncio antes de precisar ser mostrado. Certifique-se de especificar AdType::Display para o tipo de anúncio.

    m_interstitialAd->RequestAd(AdType::Display, myAppId, myAdUnitId);
    
  8. No ponto no código em que você deseja mostrar o anúncio, confirme se o InterstitialAd está pronto para ser mostrado e mostre-o usando o método Mostrar.

    if ((InterstitialAdState::Ready == m_interstitialAd->State))
    {
        m_interstitialAd->Show();
    }
    
  9. Defina os manipuladores de eventos para o objeto InterstitialAd.

    void DirectXPage::OnAdReady(Object^ sender, Object^ args)
    {
        // Your code goes here.
    }
    
    
    void DirectXPage::OnAdCompleted(Object^ sender, Object^ args)
    {
        // Your code goes here.
    }
    
    void DirectXPage::OnAdCancelled(Object^ sender, Object^ args)
    {
        // Your code goes here.
    }
    
    void DirectXPage::OnAdError(Object^ sender, Microsoft::Advertising::WinRT::UI::AdErrorEventArgs^ args)
    {
        // Your code goes here.
    }
    
  10. Compile e teste o aplicativo para confirmar se ele está mostrando anúncios de teste.

Liberar seu app com anúncios ativos

  1. Verifique se o uso de anúncios intersticiais no aplicativo segue as diretrizes para anúncios intersticiais.

  2. No Partner Center, acesse a página Anúncios no aplicativo e crie uma unidade de anúncios. Para o tipo de unidade publicitária, escolha Vídeo intersticial ou Faixa intersticial, dependendo do tipo de anúncio intersticial mostrado. Anote a ID da unidade publicitária e a ID do aplicativo.

    Observação

    Os valores da ID de aplicativo para unidades publicitárias de teste e unidades publicitárias dinâmicas UWP têm formatos diferentes. Valores de ID de aplicativo de teste são GUIDs. Quando você cria uma unidade de anúncios UWP ativa no Partner Center, o valor da ID do aplicativo para a unidade de anúncios sempre corresponde à ID da Loja para seu aplicativo (um valor de ID da Loja de exemplo se parece com 9NBLGGH4R315).

  3. Opcionalmente, você pode habilitar o controle de anúncios para o InterstitialAd ao definir as configurações na seção Configurações de controle na página Anúncios no app. O controle de anúncios permite que você maximize seus recursos de promoção de aplicativos e receita de anúncios exibindo anúncios de várias redes de anúncios, incluindo os anúncios de outras redes de anúncios pagas, como Taboola e Smaato e anúncios para campanhas promocionais de aplicativos da Microsoft.

  4. No código, substitua os valores de unidade de anúncio de teste pelos valores dinâmicos gerados no Partner Center.

  5. Envie seu aplicativo para a Loja usando o Partner Center.

  6. Examine seus relatórios de desempenho de publicidade no Partner Center.

Gerenciar unidades publicitárias para vários controles de anúncios intersticial em seu app

Você pode usar vários controles InterstitialAd em um único app. Nesse cenário, nós recomendamos que você atribua uma unidade publicitária diferente para cada controle. O uso de unidades publicitárias diferentes para cada controle permite que você defina as configurações de mediação separadamente e obtenha dados de relatório discretos para cada controle. Isso também permite que nossos serviços melhorem a otimização dos anúncios veiculados em seu app.

Importante

Você pode usar cada unidade publicitária em apenas um app. Se você usar uma unidade publicitária em mais de um app, os anúncios não serão veiculados para essa unidade publicitária.