0

我正在尝试在我的应用程序中实现 admob,但我无法让它工作。

我有一个 A 类,它是主类,它扩展了活动。我有一个 B 类,它是应用程序启动时调用的类。我在 A 类中有以下代码来存档:

B b = new B(this);
setContentView(B);

在 BI 类中有一个带有测试和位图的画布。我想用 admob 在画布上放一个广告,但我无法存档。B类:

private AdView adView;
int[] degree = { 90, 180, 270, 360 };// random graden eindposities pijl
// int width, height;
Random rand = new Random();
Typeface font;
Matrix matrix = new Matrix();// degree,x,yaxis
Region region;// region die klikbaar is om het pijl te bewegen
AlertDialog alertDialog;
LinearLayout layout;
    
public YesNo(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
}
    
@Override
public boolean onTouchEvent(MotionEvent event) {
   //do something
}
 
@Override
protected void onDraw(Canvas canvas) {
    //Do something
    invalidate();
}

我试图用这段代码(除其他外)实现admob:

public void ads() {
    adView = new AdView((Activity) getContext(), AdSize.BANNER,
             "xxxxxxxxxxx");

    LinearLayout.LayoutParams params;
    params = new LinearLayout.LayoutParams(
             LinearLayout.LayoutParams.FILL_PARENT,
             LinearLayout.LayoutParams.WRAP_CONTENT);

    // Create a linear layout
    LinearLayout layout = new LinearLayout((Activity) getContext());
    layout.setOrientation(LinearLayout.VERTICAL);
    layout.setPadding(6, 6, 6, 6);
    layout.addView(adView, params);
}

我搜索了几个小时的解决方案,但我找不到任何解决方案。

有人可以帮助我朝着正确的方向前进吗?

4

2 回答 2

0

首先,您AdView需要成为内容视图的一部分。LinearLayout您在ads()函数中创建的。其次,您需要创建一个 AdRequest 并使用该请求加载广告:

AdRequest request = new AdRequest();
request.addTestDevice(AdRequest.TEST_EMULATOR); // get test ads on emulator.
adView.loadAd(request);

查看文档以获取有关如何设置 AdView 的更多信息。

于 2012-04-26T21:05:23.103 回答
0

在您的ads函数中,您实际上并没有使用您创建的 LinearLayout - 您需要将其放入另一个布局或直接放入您的活动中,使用setContentView

于 2012-04-26T14:45:39.990 回答