Partager via


Afficher les interstitiels sur Android

Cette page contient des instructions et des exemples de code pour afficher des publicités publicitaires sur Android.

Remarque

Affichages publicitaires et placement/types de médias créatifs

La plupart du temps, les placements utilisés dans les affichages publicitaires de votre SDK doivent être configurés pour autoriser le type de média Bannière . Vous obtiendrez ainsi la quantité maximale de demande. Vous pouvez toujours choisir le type de média interstitiel en fonction du type d’annonce que vous souhaitez afficher, par exemple :

De même, les éléments créatifs qui servent dans des vues interstitielles dans le KIT de développement logiciel (SDK) doivent généralement être créés avec le type de média Bannière (en gardant à l’esprit les exceptions répertoriées ci-dessus).

Vue d’ensemble

La présentation des annonces publicitaires est un peu plus de travail. En plus de configurer un InterstitialAdView avec votre ID de placement, vous devez implémenter l’interface AdListener , qui inclut des méthodes qui vous indiquent quand le chargement d’une annonce publicitaire a réussi ou lorsque la demande a échoué.

En outre, l’affichage d’annonces publicitaires aux utilisateurs est un processus en deux étapes :

  1. Appelez InterstitialAdView.loadAd() pour récupérer le contenu de la publicité à partir de notre serveur et les mettre en cache localement. Notez que tout contenu publicitaire est rendu dans un WebView au moment où il est extrait du serveur publicitaire et mis en cache. Cela signifie que tous les pixels de suivi tiers qui font partie du contenu publicitaire seront déclenchés au moment de l’appel à loadAd(), et non lorsque l’appel à show() est effectué ultérieurement.
  2. Lorsque vous êtes prêt à afficher l’annonce publicitaire à l’utilisateur, appelez show(). Cela doit se produire environ 4 minutes après l’appel à loadAd() afin que l’impression soit comptée par Xandr.

Remarque

Le bouton Fermer s’affiche après dix secondes par défaut. Vous pouvez définir le délai à l’aide de InterstitialAdView.setCloseButtonDelay(int closeButtonDelay).

Pour plus d’informations, consultez l’exemple de code ci-dessous.

Exemple de code

Remarque

À compter de la version RC2.8, vous pouvez également utiliser un code d’inventaire et un ID de membre pour demander une publicité (l’ID de placement est toujours pris en charge). Actuellement, ce n’est disponible qu’à partir de Java (et non de XML). Notez que si le code d’inventaire et l’ID de placement sont transmis, le code d’inventaire est passé au serveur au lieu de l’ID de placement.

// Android: Java code that uses inventory code and member ID instead of placement ID (optional)
adview.setInventoryCodeAndMemberID(int memberID, String inventoryCode)

Remarque

En tant que bonnes pratiques :

  • Toutes les méthodes du KIT de développement logiciel (SDK) doivent être appelées sur le thread main.
  • activityOnDestroy() doit être appelé pour l’Interstitial qui devrait être détruit.
// Android: Java code to show an interstitial ad
package com.example.simpleinterstitial;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.util.Log;
import com.appnexus.opensdk.*;
public class MainActivity extends Activity implements AdListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // Set up an ad view with our placement ID.
        InterstitialAdView iav = new InterstitialAdView(this);
        iav.setPlacementID("1326299");
        iav.setAdListener(this);
        // Fetch an ad from the server.  If this works, `onAdLoaded' will
        // be called, and we can show the ad.
        iav.loadAd();
    }
        @Override
        protected void onDestroy() {
        if (iav != null) {
                iav.activityOnDestroy();
        }
        super.onDestroy();
        }
    @Override
    public void onAdLoaded(AdView av) {
        Log.d("onAdLoaded", "The ad has loaded, now we can show it...");
        // Now that the ad has loaded, we can show it to the user.
        InterstitialAdView iav = (InterstitialAdView) av;
        iav.show();
    }
 
    @Override
        public void onAdLoaded(NativeAdResponse nativeAdResponse) {
        // JUST ignore it. This callback is for Native in Banner. 
        }
    @Override
    public void onAdRequestFailed(AdView av, ResultCode rc) {
        Log.d("onAdRequestFailed", "Not sure why the ad request failed; try again? Return code ==> " + rc);
    }
    @Override
    public void onAdClicked(AdView av) {
        Log.d("onAdClicked", "The user clicked your ad.  Congrats!");
    }
        @Override
        public void onAdClicked(AdView adView, String clickUrl) {
        // This will be getting called if you have set setClickThroughAction(ANClickThroughAction.RETURN_URL);
        // Handle the URL appropriately
        }
     @Override
    public void onAdCollapsed(AdView av) {
        // Do something here.
    }
    @Override
    public void onAdExpanded(AdView av) {
        // Do something here as well.
    }
}

Utilisation de tailles d’interstitiel personnalisées

Par défaut, si vous ne spécifiez pas de taille d’annonce, le Kit de développement logiciel (SDK) extrait les annonces de l’une des tailles ci-dessous qui sont inférieures ou égales à la taille de l’écran de l’appareil.

  • 1x1 (toujours envoyé)
  • Taille détectée de l’écran (toujours envoyé)
  • 300x250
  • 320x480
  • 900x500
  • 1024 x 1024

Si vous souhaitez afficher des annonces publicitaires dans des tailles autres que les valeurs par défaut, utilisez la setAllowedSizes méthode sur l’affichage des annonces publicitaires, comme indiqué ci-dessous. Notez que la taille détectée de l’écran est toujours passée comme taille principale. Les tailles définies à l’aide setAllowedSizes de seront passées en tant que taille supplémentaire dans la vue publicitaire interstitielle et remplaceront les valeurs par défaut de 300x250, 320x480, 900x500 et 1024x1024.

// Android: Java code to show interstitial ads in sizes other than the defaults (optional)
InterstitialAdView iav = new InterstitialAdView(this);
iav.setPlacementID("1326299");
AdSize test_size1 = new AdSize(320,480);
AdSize test_size2 = new AdSize(768,1024);
ArrayList test_array_list = new ArrayList() {};
test_array_list.add(test_size1);
test_array_list.add(test_size2);
iav.setAllowedSizes(test_array_list);

Fermer automatiquement un objet de réstitiel

Si vous souhaitez fermer automatiquement une annonce publicitaire après un délai d’expiration spécifique, n’appelez show() pas comme décrit dans les sections ci-dessus. Au lieu de cela, appelez showWithAutoDismissDelay(delayinseconds), où delayinseconds est le nombre de secondes pendant lesquelles l’annonce sera affichée avant sa fermeture.

// This will show an interstitial ad, wait for 10 seconds, then auto close it.
interstitialAdView.showWithAutoDismissDelay(10);