addTestDevice无法正常工作

时间:2015-03-16 19:51:49

标签: android

当我尝试将测试广告合并到我的应用中时,它不显示广告并创建错误:**错误:非静态方法addTestDevice(String)无法从静态上下文引用**我不是确定如何解决这个问题,所以提前谢谢。

AdView mAdView = (AdView) findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        AdRequest.Builder.addTestDevice("DF738A0CF9E96DB06B085AADFEDCF0CF");


   android:layout_alignEnd="@+id/main_screen_titletwo"
    android:textColor="#ff000000" />

   <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="xxx"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp">

    </com.google.android.gms.ads.AdView>


</RelativeLayout>

修改编辑

没有意识到我的单位是在那里所以我把它放进去了。

2 个答案:

答案 0 :(得分:4)

错误是因为您在addTestDevice()类上静态调用Builder函数,而不是Builder()构造函数返回的实例

但是你应该这样做:

    AdView mAdView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder()
         .addTestDevice("DF738A0CF9E96DB06B085AADFEDCF0CF")
         .build();
    mAdView.loadAd(adRequest);

因为在您调用build()之后添加测试设备不会产生任何影响。

此代码的作用是通过调用AdRequest.Builder来创建AdRequest.Builder()对象,然后在对象上调用addTestDevice(),然后在其上调用build()以返回AdRequest 1}}。

答案 1 :(得分:1)

在声明static

之前添加addTestDevice(String)