2014-09-05 82 views
0

我试图在我的应用程序中实施AdMob横幅,但未显示。我已经使用了横幅,并且我总是使用相同的方式。我有一个FrameLayout与视图。此FrameLayout位于LinearLayout;我无法在我的应用程序中显示AdMob横幅

<FrameLayout 
     android:layout_margin="5dp" 
     android:layout_width="wrap_content"   
     android:layout_height="wrap_content"  
     android:layout_centerHorizontal="true" 
     android:layout_alignParentBottom="true" > 
    <com.google.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ads:adUnitId="MyId" 
     ads:adSize="BANNER" 
     ads:loadAdsOnCreate="true"/> 
    </FrameLayout> 

这是Java的一部分:

adview = (AdView) findViewById(R.id.adView); 
     adview.loadAd(new AdRequest()); 

,并在清单:

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

所有元数据:

<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" /> 
+0

什么问题? – Tarek 2014-09-05 14:37:32

+0

我不明白为什么它不出现。在任何活动中,我尝试它不显示。 – 2014-09-05 14:38:42

+0

@ End.Game现在在工作吗? – 2014-09-09 11:28:57

回答

1

你在混淆。您正在使用GoogleAdMobAdsSdk-6.4.1.jar的旧API和新API。你应该坚持新的API(admob通过谷歌播放服务)。确保您的项目/libs/文件夹中没有GoogleAdMobAdsSdk-6.4.1.jar。然后,引用您的项目中的谷歌Play服务库,并进行以下修改:

在你的布局文件,更改:

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 

<com.google.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ads:adUnitId="MyId" 
     ads:adSize="BANNER" 
     ads:loadAdsOnCreate="true"/> 

到:

xmlns:ads="http://schemas.android.com/apk/res-auto" 

<com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     ads:adUnitId="MY_AD_UNIT_ID" 
     ads:adSize="BANNER"/> 

在Java代码中,变化:

import com.google.ads.AdRequest; 
import com.google.ads.AdView; 

adView.loadAd(new AdRequest()); 

到:

import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.AdView; 

adView.loadAd(new AdRequest.Builder() 
.build()); 

只需点击Ctrl + Shift + O导入到正确的包

您也可以按照官方指南上迁移到新的AdMob here

请确保您使用谷歌播放服务版本4或更高版本。您可以检查其清单xml文件的versionCode。谢谢

+0

好的等待......现在我得到这个:没有找到谷歌播放服务资源。检查你的项目配置,以确保资源包括:(但是,但你的解释是完美的 – 2014-09-05 15:30:09

+0

只要确保你导入播放服务库(导入时选择'复制到工作区')并引用它。做一个项目 - >清理和使用答案中提供的正确的api,它应该工作然后不要忘记upvote /接受答案 – 2014-09-05 15:34:40

+0

你是我的救星!它的工作:)谢谢。对不起我迟到了! :) – 2014-09-09 12:04:13

0

变化从com.google.ads.AdViewcom.google.android.gms.ads.AdView

+0

好吧,现在我崩溃了..'NoSuchMethodError:com.google.android.gms.ads.AdRequest' at line'adview.loadAd(new AdRequest());' – 2014-09-05 14:45:49

+0

可能......您还导入了google -admob.jar'文件...删除该库它将工作... – bGorle 2014-09-05 14:48:54

+0

不..显示.. – 2014-09-05 14:56:10