Android adMob:广告未展示(尝试过所有内容)

时间:2014-10-20 20:36:44

标签: android admob

我的AdMob广告没有在我的测试应用中显示在物理设备上。我在这里几乎浏览了所有类似的问题,没有运气。所以我在我的xml中有经典的AdView声明:

<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
         android:id="@+id/adView"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         ads:adUnitId="my_actual_publisher_id"
         ads:adSize="BANNER"/>

我的清单包含所需的权限,广告活动和Google Play服务:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<activity android:name="com.google.android.gms.ads.AdActivity"
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>


    <meta-data
                android:name="com.google.android.gms.version"
                android:value="@integer/google_play_services_version" />

我确保我的广告有足够的空间:我把它放在TableRow中,然后下一行TableRow有足够的空间来显示。我的AdView“保留”空间与我期望的一致。

在相应的片段onCreate()中,我请求一个新广告(我调试了那段代码,它已正确执行):

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

我的AdMob信息中心没有显示任何请求...我做错了什么?感谢

编辑:一个奇怪的事实可能值得一提:我试图在TableLayout中向上移动包含我的广告的TableRow,以防它是渲染空间或类似的问题。我现在有一个类强制转换异常,当我尝试以编程方式获取之前我的广告之前的视图,现在之后

按钮clearButton =(按钮)view.findViewById(R.id.clearButton);

在我的activity.onCreate()中,我正在执行上面的代码来执行一些初始化,此代码现在失败,但异常:

java.lang.ClassCastException:android.widget.TableRow无法强制转换为android.widget.Button

就好像我的R类没有被重新编译,它的指针通向哪里!!! ???

1 个答案:

答案 0 :(得分:1)

我曾经在我的应用程序中添加这个简单的代码。希望它也会对你有所帮助...... :)

private static final String AD_UNIT_ID = "ca-app-pub-7742695752659854/6319679360"; // admob id

// ******************************** For Admob

    private void createBanner() {
        // Create an ad.
        adView = new AdView(this);
        /*
         * Ad unit name : MobilePASystemBanner in the AdMob Website. App Name :
         * MobilePASystem .
         */
        adView.setAdSize(AdSize.BANNER);
        adView.setAdUnitId(AD_UNIT_ID);

        /*
         * Add the AdView to the view hierarchy. The view will have no size
         * until the ad is loaded.
         */
           // a linear layout at the bottom to display an add (make it in your xml also)
        mlnr_displayBanner.addView(adView);  

        /*
         * Create an ad request. 
         */
        AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();

        /*
         * Start loading the ad in the background.
         */
        try {
            adView.loadAd(adRequest);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

在要显示添加的位置调用此方法。

将此添加到您的清单:

<meta-data
                android:name="com.google.android.gms.version"
                android:value="@integer/google_play_services_version" />
     <activity
                    android:name="com.google.android.gms.ads.AdActivity"
                    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

不要忘记添加库。

**************检查您是否从这里获取您的添加单位ID *******************

enter image description here