Anúncios intersticiais
Aviso
A partir de 1.º de junho de 2020, a plataforma de monetização de anúncios da Microsoft para aplicativos UWP do Windows será encerrada. Saiba mais
Este passo a passo mostra como incluir anúncios intersticiais em aplicativos e jogos da Plataforma Universal do Windows (UWP) para Windows 10 e Windows 11. Para obter projetos de exemplo completos que demonstram como adicionar anúncios intersticiais a aplicativos JavaScript/HTML e aplicativos XAML usando C# e C++, consulte os exemplos de publicidade no GitHub.
O que são anúncios intersticiais?
Ao contrário dos anúncios de banner padrão, que são confinados a uma parte de uma interface do usuário em um aplicativo ou jogo, os anúncios intersticiais são exibidos na tela inteira. Duas formas básicas são freqüentemente usadas em jogos.
Com os anúncios Paywall , o usuário deve assistir a um anúncio em algum intervalo regular. Por exemplo, entre os níveis do jogo:
Com os anúncios baseados em recompensas, o usuário está buscando explicitamente 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.
Fornecemos dois tipos de anúncios intersticiais para usar em seus aplicativos e jogos: anúncios em vídeo intersticiais e anúncios de banner intersticiais.
Observação
A API para anúncios intersticiais não lida com nenhuma interface do usuário, exceto no momento da reprodução do vídeo. Consulte as práticas recomendadas intersticiais para obter diretrizes sobre o que fazer e evitar ao considerar como integrar anúncios intersticiais em seu aplicativo.
Pré-requisitos
- Instale o SDK do Microsoft Advertising com o Visual Studio 2015 ou uma versão posterior do Visual Studio. Para obter instruções de instalação, consulte este artigo.
Integrar um anúncio intersticial ao seu aplicativo
Para exibir anúncios intersticiais no seu aplicativo, siga as instruções para o tipo de projeto:
XAML/.NET
Esta seção fornece exemplos de C#, mas Visual Basic e C++ também têm suporte para projetos XAML/.NET. Para obter um exemplo completo de código C#, consulte Código de exemplo de anúncio intersticial em C#.
Abra o projeto no Visual Studio.
Observação
Se você estiver usando um projeto existente, abra o arquivo Package.appxmanifest em seu projeto e verifique se a funcionalidade Internet (Cliente) está selecionada. Seu aplicativo precisa desse recurso para receber anúncios de teste e anúncios ao vivo.
Se o projeto for direcionado a Qualquer CPU, atualize seu projeto para usar uma saída de build específica da arquitetura (por exemplo, x86). Se o seu projeto for direcionado a Qualquer CPU, você não poderá adicionar com êxito uma referência à biblioteca de publicidade da Microsoft nas etapas a seguir. Para obter mais informações, consulte Erros de referência causados pelo direcionamento de qualquer CPU em seu projeto.
Adicione uma referência ao SDK do Microsoft Advertising em seu projeto:
- Na janela Gerenciador de Soluções, clique com o botão direito do mouse em Referências e selecione Adicionar Referência...
- 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).
- No Gerenciador de referências, clique em OK.
No arquivo de código apropriado em seu 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;
Em um local apropriado em seu aplicativo (por exemplo, em
MainPage
ou em alguma outra página), declare um objeto InterstitialAd e vários campos de string que representam o ID do aplicativo e o ID do bloco de anúncios do seu anúncio intersticial. O exemplo de código a seguir atribui osmyAppId
campos emyAdUnitId
aos valores de teste para anúncios intersticiais.Observação
Cada InterstitialAd tem um bloco de anúncios correspondente que é usado por nossos serviços para veicular anúncios no controle, e cada bloco de anúncios consiste em um ID de bloco de anúncios e um ID de aplicativo. Nestas etapas, você atribui valores de ID de unidade de anúncio de teste e ID de aplicativo ao seu controle. Esses valores de teste só podem ser usados em uma versão de teste do seu aplicativo. Antes de publicar seu aplicativo na Loja, 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";
No código executado na inicialização (por exemplo, no construtor da página), instancie o objeto InterstitialAd e conecte manipuladores de eventos para eventos do objeto.
myInterstitialAd = new InterstitialAd(); myInterstitialAd.AdReady += MyInterstitialAd_AdReady; myInterstitialAd.ErrorOccurred += MyInterstitialAd_ErrorOccurred; myInterstitialAd.Completed += MyInterstitialAd_Completed; myInterstitialAd.Cancelled += MyInterstitialAd_Cancelled;
Se você quiser exibir um anúncio em vídeo intersticial: aproximadamente 30 a 60 segundos antes de precisar do anúncio, use o método RequestAd para pré-buscar o anúncio. Isso permite tempo suficiente para solicitar e preparar o anúncio antes que ele seja exibido. Certifique-se de especificar AdType.Video para o tipo de anúncio.
myInterstitialAd.RequestAd(AdType.Video, myAppId, myAdUnitId);
Se você quiser exibir um anúncio de banner intersticial: aproximadamente 5 a 8 segundos antes de precisar do anúncio, use o método RequestAd para pré-buscar o anúncio. Isso permite tempo suficiente para solicitar e preparar o anúncio antes que ele seja exibido. Certifique-se de especificar AdType.Display para o tipo de anúncio.
myInterstitialAd.RequestAd(AdType.Display, myAppId, myAdUnitId);
No ponto do código em que você deseja mostrar o vídeo intersticial ou o anúncio de faixa intersticial, confirme se o InterstitialAd está pronto para ser exibido e mostre-o usando o método Show .
if (InterstitialAdState.Ready == myInterstitialAd.State) { myInterstitialAd.Show(); }
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. }
Crie e teste seu aplicativo para confirmar se ele está exibindo 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 direcionando uma CPU específica. Para ver um exemplo de código completo, consulte Código de exemplo de anúncio intersticial em JavaScript.
Abra o projeto no Visual Studio.
Se o projeto for direcionado a Qualquer CPU, atualize seu projeto para usar uma saída de build específica da arquitetura (por exemplo, x86). Se o seu projeto for direcionado a Qualquer CPU, você não poderá adicionar com êxito uma referência à biblioteca de publicidade da Microsoft nas etapas a seguir. Para obter mais informações, consulte Erros de referência causados pelo direcionamento de qualquer CPU em seu projeto.
Adicione uma referência ao SDK do Microsoft Advertising em seu projeto:
- Na janela Gerenciador de Soluções, clique com o botão direito do mouse em Referências e selecione Adicionar Referência...
- 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).
- No Gerenciador de referências, clique em OK.
<Na seção head> 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>
Em um arquivo .js em seu projeto, declare um objeto InterstitialAd e vários campos que contenham o ID do aplicativo e o ID do bloco de anúncios do seu anúncio intersticial. O exemplo de código a seguir atribui os
applicationId
campos eadUnitId
aos valores de teste para anúncios intersticiais.Observação
Cada InterstitialAd tem um bloco de anúncios correspondente que é usado por nossos serviços para veicular anúncios no controle, e cada bloco de anúncios consiste em um ID de bloco de anúncios e um ID de aplicativo. Nestas etapas, você atribui valores de ID de unidade de anúncio de teste e ID de aplicativo ao seu controle. Esses valores de teste só podem ser usados em uma versão de teste do seu aplicativo. Antes de publicar seu aplicativo na Loja, 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";
No código executado na inicialização (por exemplo, no construtor da página), instancie o objeto InterstitialAd e conecte manipuladores de eventos para o objeto.
interstitialAd = new MicrosoftNSJS.Advertising.InterstitialAd(); interstitialAd.onErrorOccurred = errorOccurredHandler; interstitialAd.onAdReady = adReadyHandler; interstitialAd.onCancelled = cancelledHandler; interstitialAd.onCompleted = completedHandler;
Se você quiser exibir um anúncio em vídeo intersticial: aproximadamente 30 a 60 segundos antes de precisar do anúncio, use o método RequestAd para pré-buscar o anúncio. Isso permite tempo suficiente para solicitar e preparar o anúncio antes que ele seja exibido. Certifique-se de especificar InterstitialAdType.video para o tipo de anúncio.
if (interstitialAd) { interstitialAd.requestAd(MicrosoftNSJS.Advertising.InterstitialAdType.video, applicationId, adUnitId); }
Se você quiser exibir um anúncio de banner intersticial: aproximadamente 5 a 8 segundos antes de precisar do anúncio, use o método RequestAd para pré-buscar o anúncio. Isso permite tempo suficiente para solicitar e preparar o anúncio antes que ele seja exibido. Certifique-se de especificar InterstitialAdType.display para o tipo de anúncio.
if (interstitialAd) { interstitialAd.requestAd(MicrosoftNSJS.Advertising.InterstitialAdType.display, applicationId, adUnitId); }
No ponto do código em que você deseja exibir o anúncio, confirme se o InterstitialAd está pronto para ser exibido e mostre-o usando o método Show .
if (interstitialAd && interstitialAd.state === MicrosoftNSJS.Advertising.InterstitialAdState.ready) { interstitialAd.show(); }
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. }
Crie e teste seu aplicativo para confirmar se ele está exibindo anúncios de teste.
C++ (interoperabilidade DirectX)
Este exemplo pressupõe que você tenha criado um projeto de Aplicativo C++ DirectX e XAML (Universal Windows) no Visual Studio e esteja direcionando uma arquitetura de CPU específica.
Abra o projeto no Visual Studio.
Adicione uma referência ao SDK do Microsoft Advertising em seu projeto:
- Na janela Gerenciador de Soluções, clique com o botão direito do mouse em Referências e selecione Adicionar Referência...
- 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).
- No Gerenciador de referências, clique em OK.
Em um arquivo de cabeçalho apropriado para seu aplicativo (por exemplo, DirectXPage.xaml.h), declare um objeto InterstitialAd e métodos de 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);
No mesmo arquivo de cabeçalho, declare vários campos de string que representam o ID do aplicativo e o ID do bloco de anúncios do seu anúncio intersticial. O exemplo de código a seguir atribui os
myAppId
campos emyAdUnitId
aos valores de teste para anúncios intersticiais.Observação
Cada InterstitialAd tem um bloco de anúncios correspondente que é usado por nossos serviços para veicular anúncios no controle, e cada bloco de anúncios consiste em um ID de bloco de anúncios e um ID de aplicativo. Nestas etapas, você atribui valores de ID de unidade de anúncio de teste e ID de aplicativo ao seu controle. Esses valores de teste só podem ser usados em uma versão de teste do seu aplicativo. Antes de publicar seu aplicativo na Loja, 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";
No arquivo .cpp em que você deseja adicionar código para exibir um anúncio intersticial, adicione a seguinte referência de namespace. Os exemplos a seguir pressupõem que você esteja adicionando o código a DirectXPage.xaml.cpp arquivo em seu aplicativo.
using namespace Microsoft::Advertising::WinRT::UI;
No código executado na inicialização (por exemplo, no construtor da página), instancie o objeto InterstitialAd e conecte manipuladores de eventos para eventos do objeto. No exemplo a seguir,
InterstitialAdSamplesCpp
é o namespace do seu projeto; altere esse nome conforme necessário para o seu 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);
Se você quiser exibir um anúncio em vídeo intersticial: aproximadamente 30 a 60 segundos antes de precisar do anúncio intersticial, use o método RequestAd para pré-buscar o anúncio. Isso permite tempo suficiente para solicitar e preparar o anúncio antes que ele seja exibido. Certifique-se de especificar AdType::Video para o tipo de anúncio.
m_interstitialAd->RequestAd(AdType::Video, myAppId, myAdUnitId);
Se você quiser exibir um anúncio de banner intersticial: aproximadamente 5 a 8 segundos antes de precisar do anúncio, use o método RequestAd para pré-buscar o anúncio. Isso permite tempo suficiente para solicitar e preparar o anúncio antes que ele seja exibido. Certifique-se de especificar AdType::D isplay para o tipo de anúncio.
m_interstitialAd->RequestAd(AdType::Display, myAppId, myAdUnitId);
No ponto do código em que você deseja exibir o anúncio, confirme se o InterstitialAd está pronto para ser exibido e mostre-o usando o método Show .
if ((InterstitialAdState::Ready == m_interstitialAd->State)) { m_interstitialAd->Show(); }
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. }
Crie e teste seu aplicativo para confirmar se ele está exibindo anúncios de teste.
Libere seu aplicativo com anúncios ativos
Verifique se o uso de anúncios intersticiais no seu aplicativo segue nossas diretrizes para anúncios intersticiais.
No Partner Center, acesse a página Anúncios no aplicativo e crie uma unidade de anúncio. Para o tipo de bloco de anúncios, escolha Vídeo intersticial ou Banner intersticial, dependendo do tipo de anúncio intersticial que você está exibindo. Anote o ID do bloco de anúncios e o ID do aplicativo.
Observação
Os valores de ID do aplicativo para unidades de anúncio de teste e unidades de anúncio UWP ao vivo têm formatos diferentes. Os valores de ID do aplicativo de teste são GUIDs. Quando você cria uma unidade de anúncio UWP dinâmica no Partner Center, o valor da ID do aplicativo para a unidade de anúncio sempre corresponde à ID da Loja do seu aplicativo (um exemplo de valor da ID da Loja é semelhante a 9NBLGGH4R315).
Opcionalmente, você pode ativar o controle de anúncios para o InterstitialAd definindo as configurações na seção Configurações de controle na página Anúncios no aplicativo. O controle de anúncios permite que você maximize sua receita de anúncios e recursos de promoção de aplicativos exibindo anúncios de várias redes de anúncios, incluindo anúncios de outras redes de anúncios pagos, como Taboola e Smaato, e anúncios para campanhas de promoção de aplicativos da Microsoft.
Em seu código, substitua os valores da unidade de anúncio de teste pelos valores dinâmicos gerados no Partner Center.
Envie seu aplicativo para a Loja usando o Partner Center.
Examine seus relatórios de desempenho de publicidade no Partner Center.
Gerenciar blocos de anúncios para vários controles de anúncios intersticiais no seu aplicativo
Você pode usar vários controles InterstitialAd em um único aplicativo. Nesse cenário, recomendamos que você atribua uma unidade de anúncio diferente a cada controle. O uso de blocos de anúncios diferentes para cada controle permite que você defina separadamente as configurações de controle e obtenha dados de relatórios discretos para cada controle. Isso também permite que nossos serviços otimizem melhor os anúncios que veiculamos em seu aplicativo.
Importante
Você pode usar cada bloco de anúncios em apenas um aplicativo. Se você usar um bloco de anúncios em mais de um aplicativo, os anúncios não serão veiculados para esse bloco de anúncios.