Partagez vos commentaires et contribuez à l'élaboration de la feuille de route du SDK Google Mobile Ads. Répondez à l'enquête annuelle sur le SDK Google Mobile Ads 2023 avant sa fermeture le 5 mai 2023.

Annonces interstitielles

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Les annonces interstitielles sont des annonces plein écran qui couvrent l'interface d'une application jusqu'à ce qu'elles soient fermées par l'utilisateur. Ils s'affichent généralement à des points de transition naturels dans une application, par exemple entre deux activités ou pendant la pause entre deux niveaux de jeu. Lorsqu'une application diffuse un interstitiel, l'utilisateur a le choix entre appuyer sur l'annonce et continuer jusqu'à sa destination, ou la fermer et revenir à l'application. Étude de cas.

Ce guide vous explique comment intégrer des annonces interstitielles dans une application iOS.

Prérequis

Toujours tester avec les annonces tests

Lorsque vous créez et testez vos applications, veillez à utiliser des annonces de test plutôt que des annonces de production. À défaut, votre compte risque d'être suspendu.

Pour charger les annonces de test, le plus simple est d'utiliser notre ID de bloc d'annonces test dédié pour les interstitiels iOS:
ca-app-pub-3940256099942544/4411468910

Elle a été spécialement configurée pour renvoyer des annonces tests à chaque demande, et vous êtes libre de l'utiliser dans vos propres applications pour coder, tester et déboguer. Veillez simplement à le remplacer par votre propre ID de bloc d'annonces avant de publier votre application.

Pour en savoir plus sur le fonctionnement des annonces de test du SDK Mobile Ads, consultez la page Tester les annonces.

Implémentation

Voici les principales étapes à suivre pour intégrer des annonces interstitielles:

  1. Chargez une annonce.
  2. Inscrivez-vous pour recevoir des rappels.
  3. Affichez l'annonce et gérez l'événement de récompense.

Charger une annonce

Pour charger une annonce, utilisez la méthode loadWithAdUnitID:request:completionHandler: statique de la classe GADInterstitialAd. La méthode de chargement nécessite votre ID de bloc d'annonces, un objet GADRequest et un gestionnaire d'achèvement qui est appelé lorsque le chargement de l'annonce aboutit ou échoue. L'objet GADInterstitialAd chargé est fourni en tant que paramètre dans le gestionnaire de lecture complète. L'exemple ci-dessous montre comment charger un objet GADInterstitialAd dans votre classe ViewController.

Swift

import GoogleMobileAds
import UIKit

class ViewController: UIViewController {

  private var interstitial: GADInterstitialAd?

  override func viewDidLoad() {
    super.viewDidLoad()
    let request = GADRequest()
    GADInterstitialAd.load(withAdUnitID:"ca-app-pub-3940256099942544/4411468910",
                                request: request,
                      completionHandler: { [self] ad, error in
                        if let error = error {
                          print("Failed to load interstitial ad with error: \(error.localizedDescription)")
                          return
                        }
                        interstitial = ad
                      }
    )
  }
}

Objective-C

@import GoogleMobileAds;
@import UIKit;

@interface ViewController ()

@property(nonatomic, strong) GADInterstitialAd *interstitial;

@end

@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  GADRequest *request = [GADRequest request];
  [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"
                              request:request
                    completionHandler:^(GADInterstitialAd *ad, NSError *error) {
    if (error) {
      NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]);
      return;
    }
    self.interstitial = ad;
  }];
}

S'inscrire pour les rappels

Afin de recevoir des notifications pour les événements de présentation, vous devez implémenter le protocole GADFullScreenContentDelegate et l'attribuer à la propriété fullScreenContentDelegate de l'annonce renvoyée. Le protocole GADFullScreenContentDelegate gère les rappels lorsque l'annonce se présente correctement ou non, et lorsqu'elle est ignorée. Le code suivant montre comment mettre en œuvre le protocole et l'attribuer à l'annonce:

Swift

class ViewController: UIViewController, GADFullScreenContentDelegate {

  private var interstitial: GADInterstitialAd?

  override func viewDidLoad() {
    super.viewDidLoad()
    let request = GADRequest()
    GADInterstitialAd.load(withAdUnitID:"ca-app-pub-3940256099942544/4411468910",
                                request: request,
                      completionHandler: { [self] ad, error in
                        if let error = error {
                          print("Failed to load interstitial ad with error: \(error.localizedDescription)")
                          return
                        }
                        interstitial = ad
                        interstitial?.fullScreenContentDelegate = self
                      }
    )
  }

  /// Tells the delegate that the ad failed to present full screen content.
  func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
    print("Ad did fail to present full screen content.")
  }

  /// Tells the delegate that the ad will present full screen content.
  func adWillPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) {
    print("Ad will present full screen content.")
  }

  /// Tells the delegate that the ad dismissed full screen content.
  func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) {
    print("Ad did dismiss full screen content.")
  }
}

Objective-C

@interface ViewController ()<GADFullScreenContentDelegate>

@property(nonatomic, strong) GADInterstitialAd *interstitial;

@end

@implementation ViewController
- (void)viewDidLoad {
  [super viewDidLoad];
  GADRequest *request = [GADRequest request];
  [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"
                              request:request
                    completionHandler:^(GADInterstitialAd *ad, NSError *error) {
    if (error) {
      NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]);
      return;
    }
    self.interstitial = ad;
    self.interstitial.fullScreenContentDelegate = self;
  }];
}

/// Tells the delegate that the ad failed to present full screen content.
- (void)ad:(nonnull id<GADFullScreenPresentingAd>)ad
didFailToPresentFullScreenContentWithError:(nonnull NSError *)error {
    NSLog(@"Ad did fail to present full screen content.");
}

/// Tells the delegate that the ad will present full screen content.
- (void)adWillPresentFullScreenContent:(nonnull id<GADFullScreenPresentingAd>)ad {
    NSLog(@"Ad will present full screen content.");
}

/// Tells the delegate that the ad dismissed full screen content.
- (void)adDidDismissFullScreenContent:(nonnull id<GADFullScreenPresentingAd>)ad {
   NSLog(@"Ad did dismiss full screen content.");
}

GADInterstitialAd est un objet à usage unique. Cela signifie qu'une fois qu'une annonce interstitielle a été diffusée, elle ne peut plus être affichée. Une bonne pratique consiste à charger une autre annonce interstitielle dans la méthode adDidDismissFullScreenContent: sur GADFullScreenContentDelegate, de sorte que l'annonce interstitielle suivante commence à se charger dès que l'annonce précédente est ignorée.

Afficher l'annonce

Les interstitiels doivent s'afficher pendant les pauses naturelles du flux d'une application. Entre les niveaux d'un jeu, cela peut être un bon exemple ou lorsque l'utilisateur a terminé une tâche. Voici un exemple de procédure à suivre dans l'une des méthodes d'action d'un UIViewController :

Swift

@IBAction func doSomething(_ sender: Any) {
  if interstitial != nil {
    interstitial.present(fromRootViewController: self)
  } else {
    print("Ad wasn't ready")
  }
}

Objective-C

- (IBAction)doSomething:(id)sender {
  ...
  if (self.interstitial) {
    [self.interstitial presentFromRootViewController:self];
  } else {
    NSLog(@"Ad wasn't ready");
  }
}

Bonnes pratiques

Déterminez si les annonces interstitielles sont adaptées à votre application.
Les annonces interstitielles sont plus efficaces dans les applications comportant des points de transition naturels. La conclusion d'une tâche dans une application, comme partager une image ou terminer un niveau de jeu, crée ce point. Étant donné que l'utilisateur s'attend à une pause, il est facile de présenter une annonce interstitielle sans perturber son expérience. Prenez en compte les points de votre flux de travail où vous diffusez des annonces interstitielles et la manière dont l'utilisateur est susceptible d'y répondre.
N'oubliez pas de mettre en veille l'action lorsque vous diffusez une annonce interstitielle.
Il existe différents types d'annonces interstitielles: textuelles, illustrées, vidéo, etc. Il est important de s'assurer que lorsque votre application affiche une annonce interstitielle, elle suspend également son utilisation de certaines ressources afin que l'annonce puisse en profiter. Par exemple, lorsque vous appelez l'affichage d'une annonce interstitielle, veillez à suspendre toute sortie audio produite par votre application. Vous pouvez reprendre la lecture des sons dans le gestionnaire d'événements adDidDismissFullScreenContent:, qui est appelé lorsque l'utilisateur a terminé d'interagir avec l'annonce. En outre, envisagez d'interrompre temporairement les tâches de calcul intenses (comme une boucle de jeu) pendant l'affichage de l'annonce. Ainsi, l'utilisateur ne verra pas de vidéos ou de vidéos saccadées, lentes ou qui ne répondent pas.
Prévoyez un temps de chargement approprié.
Il est important de diffuser les annonces interstitielles au moment opportun, mais aussi de veiller à ce que l'utilisateur n'ait pas à attendre qu'il se charge. En chargeant l'annonce à l'avance avant l'intention de la diffuser, vous vous assurez qu'une annonce interstitielle entièrement chargée est disponible au moment d'en diffuser une.
N'inondez pas l'utilisateur d'annonces.
Même si l'augmentation de la fréquence des interstitiels dans votre application peut sembler être un excellent moyen d'augmenter les revenus, cela peut également nuire à l'expérience utilisateur et réduire les taux de clics. Assurez-vous que les utilisateurs ne sont pas si souvent interrompus qu'ils ne peuvent plus profiter de votre application.
N'utilisez pas le rappel de fin de chargement pour afficher l'interstitiel.
Cela peut nuire à l'expérience utilisateur. et préchargez-la. Consultez ensuite la méthode canPresentFromRootViewController:error: sur GADInterstitialAd pour savoir si elle est prête à être affichée.

Autres ressources

Exemples sur GitHub

Tutoriels vidéo sur les annonces mobiles garage

Témoignages

Étapes suivantes