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 |
|
320x50 |
|
300x50 |
|
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
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
}
};
// 6.4.x & below
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, Throwable throwable) {
// 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
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
}
};
// 6.5.x & below
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String placementReferenceId) {
// Ad experience started
}
// Deprecated
@Override
public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) {
// Invoked when the ad experience is completed
// isCTAClicked flag indicates whether CTA download button has been triggered
// completed flag will indicate whether user has watched 80% of video or longer.
}
@Override
public void onError(String placementReferenceId, 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.
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'objetVungleBanner
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 |
|
« 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 |
|
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
- 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; }
- Ne modifiez pas les
LayoutParams
de laVungleBanner
. 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é. - 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.