Compartir a través de


Anuncios intersticiales

Advertencia

A partir del 1 de junio de 2020, se cerrará la plataforma de monetización de anuncios de Microsoft para aplicaciones para UWP de Windows. Más información

En este tutorial se muestra cómo incluir anuncios intersticiales en aplicaciones y juegos de Plataforma universal de Windows (UWP) para Windows 10 y Windows 11. Para ver proyectos de ejemplo completos que muestran cómo agregar anuncios intersticiales a aplicaciones JavaScript/HTML y aplicaciones XAML con C# y C++, consulte los ejemplos de publicidad en GitHub.

¿Qué son los anuncios intersticiales?

A diferencia de los anuncios de banner estándar, que se limitan a una parte de una interfaz de usuario en una aplicación o juego, los anuncios intersticiales se muestran en toda la pantalla. Dos formas básicas se usan con frecuencia en juegos.

  • Con los anuncios de Paywall , el usuario debe ver un anuncio a intervalos regulares. Por ejemplo, entre los niveles de juego:

    whatisaninterstitial

  • Con los anuncios basados en recompensas, el usuario busca explícitamente alguna ventaja, como una sugerencia o un tiempo adicional para completar el nivel, e inicializa el anuncio a través de la interfaz de usuario de la aplicación.

Proporcionamos dos tipos de anuncios intersticiales para usarlos en tus aplicaciones y juegos: anuncios de vídeo intersticiales e anuncios de banner intersticiales.

Nota:

La API para anuncios intersticiales no controla ninguna interfaz de usuario, excepto en el momento de la reproducción de vídeo. Consulte los procedimientos recomendados intersticiales para obtener instrucciones sobre qué hacer y evitar, ya que considera cómo integrar anuncios intersticiales en la aplicación.

Requisitos previos

Integración de un anuncio intersticial en la aplicación

Para mostrar anuncios intersticiales en la aplicación, siga las instrucciones para el tipo de proyecto:

XAML/.NET

En esta sección se proporcionan ejemplos de C#, pero Visual Basic y C++ también se admiten para proyectos XAML/.NET. Para obtener un ejemplo completo de código de C#, vea Código de ejemplo de anuncio intersticial en C#.

  1. Abra el proyecto en Visual Studio.

    Nota:

    Si usa un proyecto existente, abra el archivo Package.appxmanifest en el proyecto y asegúrese de que está seleccionada la funcionalidad internet (cliente ). Tu aplicación necesita esta funcionalidad para recibir anuncios de prueba y anuncios en directo.

  2. Si el proyecto tiene como destino Cualquier CPU, actualice el proyecto para usar una salida de compilación específica de la arquitectura (por ejemplo, x86). Si el proyecto tiene como destino Cualquier CPU, no podrá agregar correctamente una referencia a la biblioteca de Microsoft Advertising en los pasos siguientes. Para obtener más información, consulte Errores de referencia causados por cualquier CPU en el proyecto.

  3. Agregue una referencia al SDK de Microsoft Advertising en el proyecto:

    1. En la ventana Explorador de soluciones, haga clic con el botón derecho en Referencias y seleccione Agregar referencia...
    2. En el Administrador de referencias, expanda Windows universal, haga clic en Extensiones y, a continuación, active la casilla situada junto a SDK de Microsoft Advertising para XAML (versión 10.0).
    3. En el Administrador de referencias, haga clic en Aceptar.
  4. En el archivo de código adecuado de la aplicación (por ejemplo, en MainPage.xaml.cs o un archivo de código para otra página), agregue la siguiente referencia de espacio de nombres.

    using Microsoft.Advertising.WinRT.UI;
    
  5. En una ubicación adecuada de la aplicación (por ejemplo, en MainPage o en alguna otra página), declare un objeto InterstitialAd y varios campos de cadena que representan el identificador de aplicación y el identificador de unidad de anuncios para el anuncio intersticial. En el ejemplo de código siguiente se asignan los myAppId campos y myAdUnitId a los valores de prueba para los anuncios intersticiales.

    Nota:

    Cada InterstitialAd tiene una unidad de anuncio correspondiente que nuestros servicios usan para servir anuncios al control, y cada unidad de anuncio consta de un identificador de unidad de anuncio e id. de aplicación. En estos pasos, asignará los valores de id. de unidad de anuncio de prueba y id. de aplicación al control. Estos valores de prueba solo se pueden usar en una versión de prueba de la aplicación. Antes de publicar la aplicación en la Tienda, debes reemplazar estos valores de prueba por valores dinámicos del Centro de partners.

    InterstitialAd myInterstitialAd = null;
    string myAppId = "d25517cb-12d4-4699-8bdc-52040c712cab";
    string myAdUnitId = "test";
    
  6. En el código que se ejecuta en el inicio (por ejemplo, en el constructor de la página), cree una instancia del objeto InterstitialAd y conecte controladores de eventos para eventos del objeto.

    myInterstitialAd = new InterstitialAd();
    myInterstitialAd.AdReady += MyInterstitialAd_AdReady;
    myInterstitialAd.ErrorOccurred += MyInterstitialAd_ErrorOccurred;
    myInterstitialAd.Completed += MyInterstitialAd_Completed;
    myInterstitialAd.Cancelled += MyInterstitialAd_Cancelled;
    
  7. Si desea mostrar un anuncio de vídeo intersticial: aproximadamente 30-60 segundos antes de necesitar el anuncio, use el método RequestAd para capturar previamente el anuncio. Esto permite tiempo suficiente para solicitar y preparar el anuncio antes de que se muestre. Asegúrese de especificar AdType.Video para el tipo de anuncio.

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

    Si desea mostrar un anuncio de banner intersticial: aproximadamente 5-8 segundos antes de necesitar el anuncio, use el método RequestAd para capturar previamente el anuncio. Esto permite tiempo suficiente para solicitar y preparar el anuncio antes de que se muestre. Asegúrese de especificar AdType.Display para el tipo de anuncio.

    myInterstitialAd.RequestAd(AdType.Display, myAppId, myAdUnitId);
    
  8. En el punto del código en el que desea mostrar el vídeo intersticial o el anuncio de banner intersticial, confirme que InterstitialAd está listo para mostrarse y, a continuación, mostrarlo mediante el método Show.

    if (InterstitialAdState.Ready == myInterstitialAd.State)
    {
        myInterstitialAd.Show();
    }
    
  9. Defina los controladores de eventos para el 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 y pruebe la aplicación para confirmar que muestra anuncios de prueba.

HTML/JavaScript

En las instrucciones siguientes se supone que ha creado un proyecto universal de Windows para JavaScript en Visual Studio y que tiene como destino una CPU específica. Para obtener un ejemplo de código completo, consulte Código de ejemplo de anuncio intersticial en JavaScript.

  1. Abra el proyecto en Visual Studio.

  2. Si el proyecto tiene como destino Cualquier CPU, actualice el proyecto para usar una salida de compilación específica de la arquitectura (por ejemplo, x86). Si el proyecto tiene como destino Cualquier CPU, no podrá agregar correctamente una referencia a la biblioteca de Microsoft Advertising en los pasos siguientes. Para obtener más información, consulte Errores de referencia causados por cualquier CPU en el proyecto.

  3. Agregue una referencia al SDK de Microsoft Advertising en el proyecto:

    1. En la ventana Explorador de soluciones, haga clic con el botón derecho en Referencias y seleccione Agregar referencia...
    2. En el Administrador de referencias, expanda Universal Windows, haga clic en Extensiones y, a continuación, active la casilla situada junto a SDK de Microsoft Advertising para JavaScript (versión 10.0).
    3. En el Administrador de referencias, haga clic en Aceptar.
  4. En la <sección head> del archivo HTML del proyecto, después de las referencias de JavaScript del proyecto de default.css y default.js, agregue la referencia a ad.js.

    <script src="//Microsoft.Advertising.JavaScript/ad.js"></script>
    
  5. En un archivo .js del proyecto, declare un objeto InterstitialAd y varios campos que contienen el identificador de aplicación y el identificador de unidad de anuncios para el anuncio intersticial. En el ejemplo de código siguiente se asignan los applicationId campos y adUnitId a los valores de prueba para los anuncios intersticiales.

    Nota:

    Cada InterstitialAd tiene una unidad de anuncio correspondiente que nuestros servicios usan para servir anuncios al control, y cada unidad de anuncio consta de un identificador de unidad de anuncio e id. de aplicación. En estos pasos, asignará los valores de id. de unidad de anuncio de prueba y id. de aplicación al control. Estos valores de prueba solo se pueden usar en una versión de prueba de la aplicación. Antes de publicar la aplicación en la Tienda, debes reemplazar estos valores de prueba por valores dinámicos del Centro de partners.

    var interstitialAd = null;
    var applicationId = "d25517cb-12d4-4699-8bdc-52040c712cab";
    var adUnitId = "test";
    
  6. En el código que se ejecuta en el inicio (por ejemplo, en el constructor de la página), cree una instancia del objeto InterstitialAd y conecte controladores de eventos para el objeto .

    interstitialAd = new MicrosoftNSJS.Advertising.InterstitialAd();
    interstitialAd.onErrorOccurred = errorOccurredHandler;
    interstitialAd.onAdReady = adReadyHandler;
    interstitialAd.onCancelled = cancelledHandler;
    interstitialAd.onCompleted = completedHandler;
    
  7. Si desea mostrar un anuncio de vídeo intersticial: aproximadamente 30-60 segundos antes de necesitar el anuncio, use el método RequestAd para capturar previamente el anuncio. Esto permite tiempo suficiente para solicitar y preparar el anuncio antes de que se muestre. Asegúrese de especificar InterstitialAdType.video para el tipo de anuncio.

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

    Si desea mostrar un anuncio de banner intersticial: aproximadamente 5-8 segundos antes de necesitar el anuncio, use el método RequestAd para capturar previamente el anuncio. Esto permite tiempo suficiente para solicitar y preparar el anuncio antes de que se muestre. Asegúrese de especificar InterstitialAdType.display para el tipo de anuncio.

    if (interstitialAd) {
        interstitialAd.requestAd(MicrosoftNSJS.Advertising.InterstitialAdType.display, applicationId, adUnitId);
    }
    
  8. En el punto del código en el que desea mostrar el anuncio, confirme que InterstitialAd está listo para mostrarse y, a continuación, muéstrelo mediante el método Show.

    if (interstitialAd && interstitialAd.state === MicrosoftNSJS.Advertising.InterstitialAdState.ready) {
        interstitialAd.show();
    }
    
  9. Defina los controladores de eventos para el 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 y pruebe la aplicación para confirmar que muestra anuncios de prueba.

C++ (interoperabilidad de DirectX)

En este ejemplo se supone que ha creado un proyecto directX y aplicación XAML (Windows universal) de C++ en Visual Studio y que tiene como destino una arquitectura de CPU específica.  

  1. Abra el proyecto en Visual Studio.

  2. Agregue una referencia al SDK de Microsoft Advertising en el proyecto:

    1. En la ventana Explorador de soluciones, haga clic con el botón derecho en Referencias y seleccione Agregar referencia...
    2. En el Administrador de referencias, expanda Windows universal, haga clic en Extensiones y, a continuación, active la casilla situada junto a SDK de Microsoft Advertising para XAML (versión 10.0).
    3. En el Administrador de referencias, haga clic en Aceptar.
  3. En un archivo de encabezado adecuado para la aplicación (por ejemplo, DirectXPage.xaml.h), declare un objeto InterstitialAd y métodos de controlador 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. En el mismo archivo de encabezado, declare varios campos de cadena que representan el identificador de aplicación y el identificador de unidad de anuncios para el anuncio intersticial. En el ejemplo de código siguiente se asignan los myAppId campos y myAdUnitId a los valores de prueba para los anuncios intersticiales.

    Nota:

    Cada InterstitialAd tiene una unidad de anuncio correspondiente que nuestros servicios usan para servir anuncios al control, y cada unidad de anuncio consta de un identificador de unidad de anuncio e id. de aplicación. En estos pasos, asignará los valores de id. de unidad de anuncio de prueba y id. de aplicación al control. Estos valores de prueba solo se pueden usar en una versión de prueba de la aplicación. Antes de publicar la aplicación en la Tienda, debes reemplazar estos valores de prueba por valores dinámicos del Centro de partners.

    Platform::String^ myAppId = L"d25517cb-12d4-4699-8bdc-52040c712cab";
    Platform::String^ myAdUnitId = L"test";
    
  5. En el archivo .cpp donde desea agregar código para mostrar un anuncio intersticial, agregue la siguiente referencia de espacio de nombres. En los ejemplos siguientes se supone que va a agregar el código a DirectXPage.xaml.cpp archivo en la aplicación.

    using namespace Microsoft::Advertising::WinRT::UI;
    
  6. En el código que se ejecuta en el inicio (por ejemplo, en el constructor de la página), cree una instancia del objeto InterstitialAd y conecte controladores de eventos para eventos del objeto. En el ejemplo siguiente, InterstitialAdSamplesCpp es el espacio de nombres del proyecto; cambie este nombre según sea necesario para el 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. Si desea mostrar un anuncio de vídeo intersticial: aproximadamente 30-60 segundos antes de necesitar el anuncio intersticial, use el método RequestAd para capturar previamente el anuncio. Esto permite tiempo suficiente para solicitar y preparar el anuncio antes de que se muestre. Asegúrese de especificar AdType::Video para el tipo de anuncio.

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

    Si desea mostrar un anuncio de banner intersticial: aproximadamente 5-8 segundos antes de necesitar el anuncio, use el método RequestAd para capturar previamente el anuncio. Esto permite tiempo suficiente para solicitar y preparar el anuncio antes de que se muestre. Asegúrese de especificar AdType::D isplay para el tipo de anuncio.

    m_interstitialAd->RequestAd(AdType::Display, myAppId, myAdUnitId);
    
  8. En el punto del código en el que desea mostrar el anuncio, confirme que InterstitialAd está listo para mostrarse y, a continuación, muéstrelo mediante el método Show.

    if ((InterstitialAdState::Ready == m_interstitialAd->State))
    {
        m_interstitialAd->Show();
    }
    
  9. Defina los controladores de eventos para el 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 y pruebe la aplicación para confirmar que muestra anuncios de prueba.

Liberar la aplicación con anuncios en directo

  1. Asegúrate de que tu uso de anuncios intersticiales en tu aplicación sigue nuestras directrices para anuncios intersticiales.

  2. En el Centro de partners, vaya a la página Anuncios en la aplicación y cree una unidad de anuncios. Para el tipo de unidad de anuncio, elija Video intersticial o Banner intersticial, en función del tipo de anuncio intersticial que se muestre. Anote tanto el identificador de unidad de anuncios como el identificador de la aplicación.

    Nota:

    Los valores de identificador de aplicación para las unidades de anuncios de prueba y las unidades de anuncios para UWP en directo tienen diferentes formatos. Los valores de identificador de aplicación de prueba son GUID. Cuando creas una unidad de anuncios para UWP activa en el Centro de partners, el valor de id. de aplicación de la unidad de anuncios siempre coincide con el id. de la Tienda para la aplicación (un valor de id. de la Tienda de ejemplo es similar a 9NBLGGH4R315).

  3. Opcionalmente, puedes habilitar la mediación de anuncios para InterstitialAd configurando los valores de la sección Configuración de mediación en la página Anuncios desde la aplicación. La mediación de anuncios le permite maximizar los ingresos de anuncios y las funcionalidades de promoción de aplicaciones mostrando anuncios de varias redes publicitarias, incluidos anuncios de otras redes publicitarias de pago, como Tabúla y Smaato y anuncios para campañas de promoción de aplicaciones de Microsoft.

  4. En el código, reemplace los valores de unidad de anuncio de prueba por los valores dinámicos que generó en el Centro de partners.

  5. Envíe la aplicación a la Tienda mediante el Centro de partners.

  6. Revise los informes de rendimiento de publicidad en el Centro de partners.

Administrar unidades de anuncios para varios controles de anuncios intersticiales en la aplicación

Puede usar varios controles InterstitialAd en una sola aplicación. En este escenario, se recomienda asignar una unidad de anuncio diferente a cada control. El uso de diferentes unidades de anuncios para cada control permite configurar por separado las opciones de mediación y obtener datos discretos de informes para cada control. Esto también permite que nuestros servicios optimicen mejor los anuncios que servimos a su aplicación.

Importante

Puede usar cada unidad de anuncio en una sola aplicación. Si usas una unidad de anuncios en más de una aplicación, los anuncios no se atenderán para esa unidad de anuncios.