我的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类没有被重新编译,它的指针通向哪里!!! ???
答案 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 *******************