我正试图在我的J2ME应用程序(The Banner ad one)中使用Vserv广告网络,但直到现在我都无法接收到任何广告,我没有得到任何异常,我只是注意到vservAdFailed()方法总是先执行,调试结果是:
广告失败o=vInAppAdEngine.VservAd@e5125d64
这是一个必须有广告的屏幕,我把所有的代码都放进去了。缺少什么?!
public class Vserv extends Screen implements VservAdListener{
private VservManager vservManager;
private VservAd vservAd;
public Vserv(byte screenName,AppMidletBuilder app,AppData appData,Operation operation ){
super(screenName,app,appData.getLocalizationUtil(),appData.getImageUtil(),appData,operation);
//This is required only once in your application life cycle
Hashtable vservConfigTable=new Hashtable();
vservConfigTable.put("appId","My app Id");
vservManager=new VservManager(app,vservConfigTable);
}
protected void initScreen() {
//This is required for requesting new ad
vservAd=new VservAd(Vserv.this);
vservAd.requestAd();
}
protected void screenDefinition() {
}
public void vservAdReceived(Object obj) {
System.out.println("Ad Recieved");
if(((VservAd)obj).getAdType().equals(VservAd.AD_TYPE_IMAGE))
{
//Use retrived image ad for rendering
Image imageAd=(Image)((VservAd)obj).getAd();
} else if(((VservAd)obj).getAdType().equals(VservAd.AD_TYPE_TEXT))
{
//Use retrieved text ad for rendering
String textAd=(String)((VservAd)obj).getAd();
}
}
public void vservAdFailed(Object o) {
System.out.println("Ad Failed o="+o);
}
}
您在这里更换My app Id
了吗
vservConfigTable.put("appId","My app Id");
此外,当您的请求没有可用的广告时,会执行vservAdFailed()
方法。
您应该有一个按钮来处理渲染的图像(图像广告)。类似的东西
imageItem = new ImageItem("", imageAd, ImageItem.LAYOUT_DEFAULT, "", Item.BUTTON);