以编程方式调用adView时出错?

1 android admob

我是以编程方式在我的应用中调用Admob广告.首先,我宣布进口

import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdSize
import com.google.android.gms.ads.AdView
Run Code Online (Sandbox Code Playgroud)

然后将我的adid定义为字符串

String my_ad_unit_id="*some number*";
Run Code Online (Sandbox Code Playgroud)

将广告称为 -

this.adView=new AdView (this,AdSize.BANNER,this.my_ad_unit_id);
((LinearLayout) this.findViewById(R.id.main)).addView(this.adView);
this.adView.loadAd(new AdRequest());
Run Code Online (Sandbox Code Playgroud)

仅在呼叫部分中存在错误.错误是 -

  • adView无法解析部分
  • AdView中的AdView()无法应用于:
  • AdRequest'(com.google.android.gms.ads.AdRequest.Builder)'在'com.google.android.gms.ads.AdRequest'中拥有私人访问权限

Nan*_*tey 5

您已从Google Play服务库导入了类,但您使用的是旧版的admob api.

如果您通过Google Play服务库使用admob,请对您的代码进行以下更改:

     adView = new AdView(this);
     adView.setAdUnitId(); 
     adView.setAdSize(AdSize.BANNER);
     AdRequest adRequest = new AdRequest.Builder().build();
     adView.loadAd(adRequest);
Run Code Online (Sandbox Code Playgroud)

如果您使用的是旧的GoogleAdMobAdsSdk-6.4.1.jar,请确保从正确的软件包导入:

import com.google.ads.Ad;
import com.google.ads.AdRequest;
import com.google.ads.AdSize;
import com.google.ads.AdView;
Run Code Online (Sandbox Code Playgroud)