Création d'une application BlackBerry qui affiche une publicité
En utilisant l'API Advertising Service, vous pouvez intégrer des publicités à vos applications sans écrire une grande quantité de code Java®.
Méthode recommandée : affichage de publicités dans une application
La façon dont vous affichez les publicités dans votre application peut avoir une incidence sur leurs performances.
Prenez en compte les recommandations suivantes :
- Placez les publicités sur les écrans qui reçoivent le trafic le plus important dans votre application (par exemple, sur l'écran qui s'affiche à l'ouverture de l'application plutôt que sur un écran qui apparaît après une succession de clics).
- Placez les publicités à des emplacements bien visibles sur vos écrans. Les publicités insérées en haut de l'écran peuvent être mieux repérées par les utilisateurs de terminaux BlackBerry®.
- Envoyez des métadonnées avec les demandes de publicité. Plus les réseaux publicitaires disposent d'informations sur le public cible de votre application, plus les publicités pourront être efficaces.
- Évitez d'encombrer les publicités avec les autres contenus de votre application. Les publicités doivent être clairement visibles, de manière à faciliter l'interaction de l'utilisateur avec celles-ci.
- Personnalisez la zone d'affichage des publicités en fonction de l'aspect de l'interface utilisateur de votre application.
Utilisation de la classe Banner pour afficher une annonce
La classe Banner, qui est incluse dans l'API Advertising Service, vous permet d'afficher des publicités dans vos applications. Lorsque vous créez une instance de la classe Banner et placez l'objet sur un écran, vous créez en fait un espace réservé qui envoie les demandes de publicités périodiques et affiche les publicités qui sont renvoyées.
Lorsque vous créez un objet Banner vous devez transmettre le paramètre placementId que Research In Motion vous attribue pour votre application. Votre application envoie le paramètre placementId à la couche de médiation Advertising Service avec chaque demande de publicité. Lorsque la couche de médiation reçoit une demande de publicité, le serveur évalue la demande en fonction des statistiques associées à l'ID d'emplacement, envoie la demande au réseau publicitaire approprié et renvoie une publicité à votre application. Un placementId peut être utilisé avec plusieurs objets Banner dans votre application.
Dans le constructeur pour un objet Banner, vous pouvez également définir la fréquence à laquelle l'application fait les demandes de publicités, un objet Hashtable qui contient les métadonnées que l'application envoie avec chaque demande de publicités et une image de substitution pour la zone d'affichage.
Pour afficher la publicité, l'API Advertising Service crée un champ de navigateur (browser.field pour les terminaux BlackBerry qui exécutent BlackBerry® Device Software version 4.7.1 et antérieure et browser.field2 pour les terminaux qui exécutent BlackBerry Device Software version 5.0 et ultérieure) pour afficher le contenu de la publicité et insérer le champ du navigateur dans l'objet Banner.
Pour plus d'informations à propos de l'utilisation de la classe Banner, consultez www.blackberry.com/developers/docs/advertising/1.0api/ pour voir la référence de l'API Advertising Service .
Autres remarques
- L'API Advertising Service peut prendre en charge jusqu'à deux objets actifs Banner sur un écran en même temps (un seul pour BlackBerry 6).
- Si votre application affiche plusieurs publicités (même sur des écrans différents), vous devez créer un objet séparé Banner pour chaque emplacement d'annonce. La réutilisation d'un objet Banner dans plusieurs emplacements peut entraîner un affichage incorrect des publicités.
- Vous ne devez pas tenter de supprimer un objet Banner d'un écran sans supprimer également le gestionnaire de champs le contenant, car cela peut entraîner des problèmes avec les autres objets Banner.
- L'utilisation d'un objet FlowFieldManager pour afficher des objets Banner peut entraîner un affichage incorrect des publicités.
Définir la taille de la zone d'affichage d'une publicité
En fonction de la version de BlackBerry® Device Software sur laquelle votre application est conçue pour s'exécuter, vous pouvez ou non devoir définir la taille de la zone d'affichage. Si votre application s'exécute sur BlackBerry Device Software 5.0 ou version ultérieure, et que vous ne définissez pas la taille dans le code de l'application, l'objet Banner se redimensionne automatiquement pour correspondre à la taille de la publicité que la couche de médiation renvoie. Si vous permettez à l'objet Banner de se redimensionner automatiquement, il est recommandé de vérifier que la mise en page de votre écran peut prendre en charge chacune des tailles différentes.
Si votre application s'exécute sur une version antérieure à BlackBerry Device Software 5.0, vous devez alors appeler setMMASize() sur un objet Banner. Cependant, l'appel de setMMASize(Banner.MMA_SIZE_AUTO) permet à l'objet Banner de se redimensionner automatiquement. Il s'agit du comportement par défaut dans les applications s'exécutant sur BlackBerry Device Software 5.0 ou version ultérieure.
Échantillon de code : affichage d'une publicité sur un écran
import net.rimlib.blackberry.api.advertising.app.Banner;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.UiApplication;
public class AdDemo extends UiApplication
{
public static void main(String[] args)
{
AdDemo theApp = new AdDemo();
theApp.enterEventDispatcher();
}
public AdDemo()
{
pushScreen(new AdDemoScreen());
}
}
class AdDemoScreen extends MainScreen
{
public AdDemoScreen()
{
Banner bannerAd = new Banner(placementId, null);
bannerAd.setMMASize(Banner.MMA_SIZE_EXTRA_LARGE);
add(bannerAd);
}
}
Envoi de métadonnées
Si vous choisissez d'envoyer des métadonnées anonymes avec les demandes de publicités, les réseaux publicitaires peuvent utiliser ces informations (de même que les informations automatiquement envoyées, telles que le modèle de terminal BlackBerry®, la version de BlackBerry® Device Software et le pays) pour identifier un public cible afin de positionner la publicité. Les métadonnées peuvent contenir des informations anonymes concernant un utilisateur de terminal, telles que son âge, son sexe et ses revenus.
| Catégorie de métadonnées |
Valeurs acceptables |
|---|---|
| age |
Un nombre entier représentant l'âge de l'utilisateur (par exemple, « 27 ») |
| gender |
« male » ou « female » |
| zip |
Un code postal valide (par exemple, « 75039 ») |
| marital |
« single », « married » ou « divorced » |
| income |
Un nombre entier représentant les revenus de l'utilisateur (par exemple, « 50000 ») |
| lat |
Une latitude valide mesurée en degrés (par exemple, « 32.0678 ») |
| long |
Une longitude valide mesurée en degrés (par exemple, « 101.0890 ») |
| ethnicity |
« caucasian », « asian », « hispanic », « african american », « native american » ou « other » |
| search |
Tout terme de recherche qu'un utilisateur saisit dans votre application (en raison de la source incohérente de ce type de métadonnées, certains termes de recherche peuvent en réalité ne pas être utiles pour l'affichage de publicités plus pertinentes) |
Outre les éléments mentionnés ci-dessus, un grand nombre de réseaux publicitaires participants prennent en charge d'autres types de métadonnées. Si vous souhaitez que d'autres types de métadonnées soient pris en charge, vous pouvez envoyer l'ensemble des types et des valeurs de métadonnées que vous voulez utiliser à Research In Motion. Par exemple, il se peut que vous souhaitiez offrir la prise en charge d'informations concernant les intérêts sportifs ou les restaurants préférés des utilisateurs. Lorsque la couche de médiation reçoit une demande de publicité, elle envoie les métadonnées aux réseaux publicitaires dans des formats que les réseaux prennent en charge.
Pour activer la prise en charge des différents types de métadonnées, envoyez un e-mail à advertisingservice@blackberry.com.
Échantillon de code : envoi de métadonnées avec une demande de publicité
import net.rimlib.blackberry.api.advertising.app.Banner;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.UiApplication;
import java.util.Hashtable;
public class AdDemo extends UiApplication
{
public static void main(String[] args)
{
AdDemo theApp = new AdDemo();
theApp.enterEventDispatcher();
}
public AdDemo()
{
pushScreen(new AdDemoScreen());
}
}
class AdDemoScreen extends MainScreen
{
public AdDemoScreen()
{
Hashtable metadata = new Hashtable();
metadata.put("age", "21");
metadata.put("gender", "female");
metadata.put("income", "100000");
metadata.put("lat", "36.164");
metadata.put("lon", "-96.321");
metadata.put("search", "car dealerships");
Banner bannerAd = new Banner(placementId, metadata);
bannerAd.setMMASize(Banner.MMA_SIZE_EXTRA_LARGE);
add(bannerAd);
}
}
Personnalisation de l'apparence et du comportement de la zone d'affichage d'une publicité
Vous pouvez personnaliser l'apparence et le comportement de la zone d'affichage d'une publicité pour qu'elle s'adapte à la conception de l'interface utilisateur de votre application.
| Article |
Description |
|---|---|
| Effet de transition |
Par défaut, lorsqu'une application charge une nouvelle publicité ou des transitions entre publicités, elle affiche un effet de transition noir qui permet de faire apparaître les publicités en fondu (ouverture et fermeture). Vous pouvez désactiver l'effet de transition en appelant enableBannerTransition(false). Vous pouvez modifier la couleur de l'effet de transition en appelant setBannerTransitionColor() et en spécifiant une couleur prise en charge par la classe Color dans BlackBerry® Java® SDK. Par exemple, pour définir la couleur de transition sur bleu, vous pouvez appeler setBannerTransitionColor(Color.BLUE). |
| Comportement de la cible |
Par défaut, lorsqu'un utilisateur de terminal BlackBerry® sélectionne une publicité, l'application affiche une bordure bleue autour de la publicité. Vous pouvez modifier la couleur de la bordure en appelant setBorderColor() et en spécifiant une couleur prise en charge par la classe Color dans BlackBerry Java SDK. Par exemple, pour définir la couleur de la bordure sur rouge, vous pouvez appeler setBorderColor(Color.RED). Vous pouvez ignorer le comportement de la cible par défaut d'un objet Banner en définissant le comportement de la cible dans le gestionnaire de disposition la contenant et en forçant l'objet Banner à hériter du nouveau comportement. Vous pouvez empêcher l'API Advertising Service de traiter le comportement de la cible en appelant setFocusOverrideFlag(true). |
| Image de substitution |
Par défaut, lorsqu'une application attend de recevoir une publicité d'un réseau publicitaire, l'application affiche une image de substitution transparente dotée d'une bordure. Si vous voulez créer votre propre image de substitution, vous pouvez créer un objet Bitmap et le transmettre comme paramètre lorsque vous créez un objet Banner. Si vous créez votre propre image de substitution, vérifiez qu'elle a les mêmes dimensions que les publicités que votre application reçoit. |
Personnaliser la zone d'affichage pour une publicité
Cette tâche montre comment vous pouvez modifier l'image de substitution, les couleurs de la bordure cible et l'effet de transition de la zone d'affichage d'une publicité.
Échantillon de code : personnalisation de la zone d'affichage d'une publicité
import net.rimlib.blackberry.api.advertising.app.Banner;
import net.rim.device.api.system.Bitmap;
import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.UiApplication;
public class AdDemo extends UiApplication
{
public static void main(String[] args)
{
AdDemo theApp = new AdDemo();
theApp.enterEventDispatcher();
}
public AdDemo()
{
pushScreen(new AdDemoScreen());
}
}
class AdDemoScreen extends MainScreen
{
public AdDemoScreen()
{
Bitmap customPlaceholder = Bitmap.getBitmapResource("placeholder.png");
Banner bannerAd = new Banner(placementId, null, 100000, customPlaceholder);
bannerAd.setBorderColor(Color.RED);
bannerAd.setBannerTransitionColor(Color.RED);
bannerAd.setMMASize(Banner.MMA_SIZE_EXTRA_LARGE);
add(bannerAd);
}
}
Positionnement de la zone d'affichage d'une publicité
La façon dont vous disposez un objet Banner sur un écran peut affecter les performances des publicités que votre application affiche. Plus les publicités sont visibles sur l'écran, plus il peut être facile pour les utilisateurs de terminaux BlackBerry® de consulter et d'interagir avec ces dernières. Vous pouvez utiliser les gestionnaires de disposition dans BlackBerry® Java® SDK pour organiser les publicités au sein du reste du contenu de votre application.
Nous vous recommandons d'éviter l'utilisation d'objets FlowFieldManager pour gérer des écrans qui contiennent des publicités car la classe FlowFieldManager n'est pas conçue pour afficher des champs de navigateur.
Une méthode courante pour disposer les publicités est de placer ces dernières en haut ou en bas de l'écran. Si votre écran développe MainScreen, vous pouvez placer un objet Banner dans la zone de titre de l'écran pour que la publicité apparaisse toujours en haut, ou dans la zone d'état pour que la publicité apparaissent toujours en bas. En plaçant votre objet Banner dans un objet HorizontalFieldManager avant de l'ajouter à l'écran, vous pouvez modifier la position et l'apparence de l'objet Banner en appliquant les styles appropriés.
Échantillon de code : positionnement centré d'une publicité en haut de l'écran
L'échantillon de code suivant indique comment utiliser les gestionnaires de champ pour afficher une publicité centrée en haut de l'écran.
class AdDemoScreen extends MainScreen
{
public AdDemoScreen()
{
Banner bannerAd = new Banner(15380, null);
bannerAd.setMMASize(Banner.MMA_SIZE_EXTRA_LARGE);
VerticalFieldManager vfm = new VerticalFieldManager
(VerticalFieldManager.NO_VERTICAL_SCROLL
| VerticalFieldManager.NO_VERTICAL_SCROLLBAR
| VerticalFieldManager.USE_ALL_WIDTH);
HorizontalFieldManager hfm = new HorizontalFieldManager
(HorizontalFieldManager.FIELD_HCENTER
| HorizontalFieldManager.FIELD_VCENTER);
hfm.add(bannerAd);
vfm.add(hfm);
add(vfm);
}
}
Vous pouvez voir les résultats de l'exécution de l'échantillon de code ci-dessus dans le graphique suivant :

Pour plus d'informations à propos des gestionnaires de disposition, consultez le guide BlackBerry Java SDK UI and Navigation Development Guide (BlackBerry Java SDK - Guide de développement - Interface utilisateur et navigation) à l'adresse : www.blackberry.com/go/devguides.
Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.




