Intégrer des bannières publicitaires

Vue d'ensemble

Vungle Banner est actuellement en phase BÊTA. Veuillez contacter directement le responsable de votre compte pour obtenir un accès afin d'assurer un lancement réussi.

À partir du SDK Vungle v.6.5.1, Vungle prend en charge les bannières publicitaires. Les publicités MREC et les bannières publicitaires nécessitent la version 16 de l'API ou une version ultérieure.

Tout comme les publicités MREC, les bannières vidéo sont des publicités rectangulaires qui occupent un emplacement n'importe où dans la structure de l'application, généralement affichées en haut ou en bas de l'écran, afin que l'utilisateur puisse continuer à interagir avec l'application pendant la diffusion de la publicité. La taille du conteneur pour afficher les bannières publicitaires peut être de 320x50, 300x50 ou 728x90 (pour les tablettes).

Taille de la bannière Dimensions

AdConfig.AdSize.BANNER

320x50

AdConfig.AdSize.BANNER_SHORT

300x50

AdConfig.AdSize.BANNER_LEADERBOARD

728x90 (pour les tablettes)

Étape 1. Intégration de base complète

Pour intégrer des bannières publicitaires dans votre application Android ou Amazon, commencez par suivre les instructions de l'article sur l'intégration de base. Cet article contient des informations supplémentaires et suppose que vous avez effectué l'intégration de base.

Étape 2. Mettre en place des écouteurs d'événements

Vous pouvez utiliser des rappels génériques en implémentant LoadAdCallback pour les événements de chargement de publicités et PlayAdCallback pour les événements de diffusion de publicités, ou utiliser des rappels en ligne lorsque vous invoquez loadAd et playAd.

Mettre en œuvre LoadAdCallback

6.5.0 et versions ultérieures Anciennes versions
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() { 
  @Override
  public void onAdLoad(String id) { 
    // Ad has been successfully loaded for the placement
  } 

  @Override 
  public void onError(String id, VungleException exception) { 
    // Ad has failed to load for the placement
  }
};
Méthodes alternatives Description
onAdLoad(String id) Invoqué lorsque la publicité a été chargée et diffusée pour le placement avec succès
onError(String id) Invoqué lorsqu'une erreur se produit lors de la tentative de diffusion d'une publicité. Vous pourrez vérifier le message d'erreur depuis getLocalizedMessage de VungleException et utiliser getExceptionCode pour le débogage.

Mettre en œuvre PlayAdCallback

6.6.0 et versions ultérieures Anciennes versions
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
  @Override
  public void onAdStart(String id) { 
    // Ad experience started
  }

  @Override
  public void onAdEnd(String id) {
    // Ad experience ended
  }

  @Override
  public void onAdClick(String id) {
    // User clicked on ad
} @Override public void onAdRewarded(String id) { // User earned reward for watching an ad } @Override public void onAdLeftApplication(String id) { // User has left app during an ad experience } @Override public void onError(String id, VungleException exception) { // Ad failed to play } };
Méthodes alternatives Description
onAdStart(String id) Invoqué lorsque la publicité est lancée et affichée sur l'appareil avec succès.
onAdEnd(String id) Invoqué lorsque l'intégralité de l'expérience publicitaire est terminée, juste avant que le contrôle ne soit renvoyé à l'application d'hébergement.
onAdClick(String id) Invoqué lorsque l'utilisateur a cliqué sur une publicité vidéo ou un bouton de téléchargement.
onAdRewarded(String id) Invoqué lorsque l'utilisateur a regardé 80 % de la vidéo récompensée et doit donc être récompensé. La récompense doit avoir lieu ici et ne sera déclenchée que pour les placements récompensés.
onAdLeftApplication(String id) Invoqué lorsque l'utilisateur quitte l'application avant la fin de l'expérience publicitaire, comme l'ouverture de la page de la boutique pour la publicité.
onAdError(String id, VungleException exception) Invoqué lorsqu'une erreur se produit lors de la tentative de diffusion d'une publicité. Vous pourrez vérifier le message d'erreur depuis getLocalizedMessage de VungleException et utiliser getExceptionCode pour le débogage.

Étape 3. Charger, afficher et fermer une bannière publicitaire

Charger une bannière publicitaire

Le chargement d'une bannière publicitaire fonctionne différemment des autres formats publicitaires. Il existe une API Banners spécifique que vous utilisez pour charger, diffuser et vérifier la disponibilité des publicités. Vous devez spécifier la taille de la bannière que vous souhaitez charger et le SDK la réactualisera automatiquement avec l'intervalle de temps que vous avez configuré sur le tableau de bord. Vous devez également configurer le placement pour prendre en charge un flux de bannière. Veuillez donc contacter le responsable de votre compte Vungle pour activer les bannières publicitaires pour un placement.

  • Chargez une bannière publicitaire en appelant la méthode loadBanner :
    Banners.loadBanner("BANNER_ID", AdConfig.AdSize.BANNER, vungleLoadAdCallback);
  • Vérifiez la disponibilité des bannières publicitaires en appelant la méthode canPlayAd :
    Banners.canPlayAd(ad.placementReferenceId, AdConfig.AdSize.BANNER);

Afficher une bannière publicitaire

La taille de l'affichage étant fixe, vous devez spécifier que le conteneur utilisé pour afficher les bannières publicitaires doit être l'une des tailles prises en charge : 320x50, 300x50 ou 728x90 (pour les tablettes). Vous pouvez placer l'affichage n'importe où sur l'écran. Ce conteneur est un LayOut. Sa taille doit être égale ou supérieure à la taille de la bannière que vous utilisez. Vous pouvez placer ce LayOut n'importe où sur l'écran. Vous devez ensuite transmettre la taille de la bannière que vous utilisez via l'API Banners.

Transmettez cet objet lorsque vous appelez Banners.loadBanner pour spécifier la taille à afficher et utilisez Banners.getBanner pour obtenir l'objet publicitaire Banners. Enfin, appelez la méthode addView pour associer le conteneur à la bannière publicitaire.

private RelativeLayout bannerContainer = findViewById(...);
// Check for banner ad availability and display
if (Banners.canPlayAd("BANNER_ID", AdConfig.AdSize.BANNER)) {
  VungleBanner vungleBanner = Banners.getBanner("BANNER_ID", AdConfig.AdSize.BANNER, vunglePlayAdCallback);
  bannerContainer.addView(vungleBanner);
}

Fermer une bannière publicitaire

Puisque l'affichage de la bannière publicitaire a été ajoutée à l'affichage de votre conteneur, il doit également en être retiré si l'affichage de la publicité disparaît de l'écran, si l'activité ou le fragment est détruit, ou si le conteneur de l'affichage parent est recyclé ou détruit. Si vous essayer de diffuser une autre bannière publicitaire sans fermer la publicité précédente, un tel événement provoquera un comportement inattendu de votre application.

vungleBanner.destroyAd();

Étape 4. Utiliser notre API VungleBanner pour le contrôle avancé (facultatif)

Dans la plupart des cas, l'intégration décrite ci-dessus est suffisante et VungleBanner est géré. Cependant, si l'affichage VungleBanner se trouve dans une liste ou un RecyclerView, le VungleBanner géré ne fonctionnera pas correctement. Au moment où l'utilisateur fait défiler la publicité hors de l'écran et revient en arrière, la publicité sera terminée et ne sera plus disponible. Pour de tels cas, nous fournissons une API avancée pour un contrôle plus avancé du VungleBanner.

API de classe VungleBanner

Ces API donnent aux développeurs un contrôle précis sur la façon de traiter le VungleBanner à travers les différents événements du cycle de vie de l'application du développeur. Dans la plupart des cas d'utilisation, les développeurs n'ont pas besoin d'invoquer ces méthodes. Il suffit d'ajouter un VungleBanner dans un affichage parent.

Dans de rares cas, cependant, soit un affichage sera recyclé (comme un RecyclerView, ListView, etc.), soit nous devrons gérer la visibilité manuellement (dans le cas de certains anciens appareils Android, WebView n'est pas automatiquement mis en pause lorsqu'il se trouve hors écran).

Nom Fonction Notes
disableLifeCycleManagement(boolean disabled) Invoquer la désactivation de la gestion automatique de la bannière Doit être défini sur true pour que renderAd et setAdVisibility fonctionnent
renderAd* Affiche la publicité si elle n'est pas visible Il peut également charger une nouvelle publicité
setAdVisibility* Notifie le conteneur d'affichage lorsque la bannière est visible à l'écran Pause et reprise de la bannière
destroyAd Appel à la destruction lorsqu'une fois que le conteneur d'affichage n'est plus nécessaire, il n'est plus utilisable Libère les ressources de la bannière
finishAd* Arrête la publicité en cours, envoie un rapport et permet le chargement d'une autre publicité par la suite (applicable uniquement pour certaines intégrations dans RecyclerView ou ListView) Libère les ressources de la bannière

*Vous devez invoquer vungleBannerAd.disableLifeCycleManagement(true) avant d'utiliser cette API.

Affichages VungleBanner gérés et non gérés

Lorsque vous obtenez un affichage VungleBanner, par défaut, il s'agit d'un affichage VungleBanner géré. Cela signifie que dès que vous ajoutez cet affichage dans un conteneur parent, Vungle contrôle quand afficher une publicité, quand détruire une publicité et quand envoyer le rapport. Les événements de visibilité sont également pris en charge et les développeurs n'ont pas à informer le SDK lorsqu'un objet d'affichage de bannière est à l'écran ou non. Dans les cas où un développeur n'a pas un affichage VungleBanner dans un affichage recyclable ou un modèle ViewHolder, il s'agit de la méthode de préférence pour utiliser VungleBanner.

Dans les cas où un affichage VungleBanner se trouve à l'intérieur d'un ListView ou d'un RecyclerView, le VungleBanner géré ne fonctionnera pas correctement. Si l'utilisateur fait défiler la publicité hors de l'écran et revient en arrière, la publicité est terminée et n'est plus disponible.

BannerFlowChart.png

Pour ces cas de figure, nous avons ajouté l'API disableLifeCycleManagement(boolean disable) pour permettre aux développeurs de gérer manuellement le cycle de vie de VungleBanner.

Avant d'ajouter la VungleBanner à un affichage ou de lier l'affichage, lorsque vous définissez :

vungleBannerAd.disableLifeCycleManagement(boolean disabled)

Vous devez appeler :

  • VungleBanner.renderAd() lorsque l'affichage est lié
  • VungleBanner.setAdVisibility(true|false) lorsque la publicité est recyclée ou n'est plus visible
  • VungleBanner.destroyAd() lorsque l'objet VungleBanner n'est plus nécessaire

Étape 5. Personnaliser les bannières publicitaires (facultatif)

Vous avez la possibilité de personnaliser chaque publicité que vous diffusez en fournissant un nouvel objet adConfig à playAd. Lorsque l'objet AdConfig est null, la publicité est diffusée avec les paramètres de configuration par défaut. Lorsqu'il est non-null, ses paramètres remplacent ceux du setter AdConfig. Voici un exemple d'utilisation de AdConfig :

Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);

L'exemple ci-dessus utilise l'objet adConfig qui contient des options de configuration personnalisées. Définissez l'objet AdConfig comme indiqué :

AdConfig adConfig = new AdConfig();
adConfig.setAdOrientation(AdConfig.AUTO_ROTATE);
adConfig.setMuted(true);
Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);

Le tableau suivant répertorie les options AdConfig disponibles pour les bannières publicitaires :

Option Description

setMuted

« false » si la vidéo doit se lancer avec ses paramètres audio correspondant à ceux de l'application qui l'entoure, « true » si elle doit se lancer en sourdine

setOrdinal

prend une valeur entière du nombre ordinal pour suivre le nombre de publicités diffusées au cours de la même session

Note : vous pouvez utiliser le même objet AdConfig pour plusieurs publicités.

Bonnes pratiques

  1. Avant d'essayer d'afficher une bannière publicitaire, essayez toujours de vérifier si l'activité parent est terminée avant de lier la VungleBanner à un affichage.
    if (activity != null && activity.isFinishing()) {
      return;
    }
  2. Ne modifiez pas les LayoutParams de la VungleBanner. Cette action pourrait avoir un impact négatif sur la façon dont la bannière est affichée et éventuellement entraîner la non-visibilité de votre publicité.
  3. Ne mettez pas la publicité dans un conteneur de taille inférieure à celle de la publicité demandée. Si vous demandez une bannière ordinaire (320x50), assurez-vous que le conteneur parent est au moins de 320dp x 50dp.

Exemple de code pour l'intégration avancée

VungleBannerAdAdapter.java

Questions?

Need further assistance, feel free to reach out to us, we’re here to help!

Cet article vous a-t-il été utile ?