我正在将AdMob整合到我的应用中。我已经按照开发者页面中的步骤进行操作了。但是AdRequest.Builder()用红色加下划线,它说:
无法将AdRequest解析为类型
和
AdRequest.Builder无法解析为某种类型。
可能是什么问题?
import com.google.ads.AdRequest;
import com.google.ads.AdView;
public class FireRoomActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fire_room);
// Look up the AdView as a resource and load a request.
AdView adView = (AdView)this.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
在xml中,我已经显示了这样的内容:
<com.google.android.gms.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="bla bla"
ads:adSize="BANNER"/>
答案 0 :(得分:34)
您的代码混合了Admob SDK (Google Play)和Android (6.4.1 and earlier SDKs)
使用
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
AdRequest adRequest = new AdRequest.Builder().build();
和
<com.google.android.gms.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="bla bla"
ads:adSize="BANNER"/>
如果您使用Admob SDK(Google Play)
或使用
import com.google.ads.AdRequest;
import com.google.ads.AdView;
AdRequest adRequest = new AdRequest();
和
<com.google.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="bla bla"
ads:adSize="BANNER"/>
如果你使用earlies SDK
对于Admob SDK(Google Play),不要忘记更改名称空间
xmlns:ads="http://schemas.android.com/apk/res-auto"
答案 1 :(得分:4)
试试这个..
AdRequest adRequest = new AdRequest();
AdView adView = (AdView)this.findViewById(R.id.adView);
adView.loadAd(adRequest);
注意:
确保您已library
中包含必要的project
和manifest
中的权限。
同时检查您是否在 xml 中提供了正确的ad-mob
ID。
编辑:
要添加测试设备,您可以尝试
adRequest.addTestDevice(AdRequest.TEST_EMULATOR); //for emulators
adRequest.addTestDevice("device_id"); //for real device, enter device id
答案 2 :(得分:0)
您可能遇到Eclips
的图书馆参考错误。这将在以下开发人员页面的步骤中返回此类错误。
转到“项目属性”,然后单击“Android”选项卡。
检查是否存在Red
十字标记。
导入现有项目(google-play-services-lib)时,Eclipse会做一些奇怪的事情,特别是当您尝试导入然后允许项目自动“复制”到您的工作区时。
- 从您的工作区中删除所有google-play-services项目。
- 关闭Eclipse。
- 将google-play-services-lib文件夹(.... sdk \ extras \ google \ google_play_services \ libproject \ google-play-services_lib)手动复制到工作区中。
- 打开Eclipse
醇>
现在添加Library From your workspace as existing project
而不是
....sdk\extras\google\google_play_services\libproject\google-play-services_lib
最后,像以前一样从项目属性添加项目参考库。
请记住,开发者页面上的说明完全没有这个错误。所以,按照所有其他指示正如Page所说的那样。