我正在尝试在Android中实施Admob,并且我看到请求进入AdMob。但是,我没有看到Admob广告在模拟器和Android测试手机的Android屏幕上显示。
如前所述,我可以看到请求进入我的AdMob帐户。但是,内容未显示。是否需要在我的帐户,main.xml,AndroidManifest.xml或应用程序的加载中启用某些功能?
我的应用程序配置和代码如下。请告知我们需要什么。谢谢!
AndroidManifest:
<meta-data
android:value="My Publisher ID"
android:name="ADMOB_PUBLISHER_ID" />
<activity android:name="com.admob.android.ads.AdMobActivity"/>
<receiver
android:name="com.admob.android.ads.analytics.InstallReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER"/>
</intent-filter>
</receiver>
<meta-data
android:value="true"
android:name="ADMOB_ALLOW_LOCATION_FOR_ADS"/>
主:
<com.google.ads.AdView
android:id="@+id/adView"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="My Publisher ID"
ads:loadAdOnCreate="true"/>
在创建代码:
AdView adView = (AdView)this.findViewById(R.id.adView);
AdRequest re = new AdRequest();
re.setTesting(true);
adView.loadAd(re);
任何帮助表示赞赏!!
答案 0 :(得分:11)
确保嵌入AdView的布局不会在AdView上施加任何填充。 AdView的尺寸必须精确到320x50。如果没有足够的空间,它就不会出现。
同时检查设备的日志输出。在Eclipse中切换到DDMS透视图,选择您的设备并观察LogCat输出。
答案 1 :(得分:8)
我有类似的问题。如果您的父布局上有任何填充,那么您可能没有足够的广告宽度。如果您在纵向视图中使用它,请尝试切换到横向视图以查看它是否显示。如果确实如此,那么您的布局中某处可能会出现宽度问题。
答案 2 :(得分:5)
广告通常需要一段时间才能通过admob展示。如果您刚刚在admob上注册并启动了第一个应用程序,就会发生这种情况。如果上面给出的建议得到了解,如果您的浏览页面显示“绿色”状态,我不会太担心它。一旦您的填充率增加,您就会开始看到越来越多的广告。
答案 3 :(得分:4)
确保您的Admob布局在xml视图中显示。将您的admob视图放在RelativeLayout中并尝试使用android:alignparentBottom:true
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!--Do our code that you want to show in xml -->
<!--Put adview in bottom of screen -->
<com.google.ads.AdView
android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
android:layout_alignParentBottom="true"
ads:adUnitId="@string/addmob_id"
ads:loadAdOnCreate="true"
ads:testDevices="HT9CWP803129" />
</RelativeLayout>
</LinearLayout>
在您的java代码中,将这些行放在onCreate
方法
// Load addvertisment
AdView adView = (AdView) findViewById(R.id.adView);
// Request for Ads
AdRequest adRequest = new AdRequest.Builder().addTestDevice("FF9CD441FA62FD456D7D571B91DD11DD").build();
adView.loadAd(adRequest);
这在我的代码中有用,希望它也能帮到你。
答案 4 :(得分:3)
小心id,有两个代码:编辑号(如:pub-xxxxxxxxxxxxxxxx),另一个是横幅ID(如下:ca-app-pub-xxxxxxxxxxxxxxxx / xxxxxxxxxx)
你需要使用最后一个,如果你使用第一个不工作:)
答案 5 :(得分:3)
您正在使用 广告:adUnitId =&#34;我的发布商ID&#34; 用它替换它 广告:adUnitId =&#34;此处为此应用的AdUnitId&#34; 注意:您必须在Admob上创建应用,您将获得该创建应用的AdUnitId。您不必使用发布商ID。
答案 6 :(得分:3)
根据您发布的内容,我发现您的代码中存在两个问题:-
<metadata>
部分应包含ADMOB_APP_ID而不是您的
发布者ID。应该在<application>
标签下声明
ApplicationManifest.xml。
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="[ADMOB_APP_ID]"/>
您可以在ADMOB仪表板上找到ADMOB_APP_ID,单击该应用程序
并检查“应用设置”。您可以看到以APP_ID开头的
通常与 ca-app-pub-0123456789012345 一起使用。
第二个问题是,您在布局中声明了AdView。
请记住,您必须提供广告单元而不是您的PublisherID,
您可以通过点击广告单元标签在ADMOB仪表板中创建
根据您的申请。在您的广告上放置正确的“广告单元”
AdView如下。
ads:adUnitId="ca-app-pub-3940256099942544/6300978111" <!-- remember this is adUnit not App ID and this value above is for test banner Ad. -->
解决了上述问题后,请执行以下操作:-
MobileAds.initialize(this, "YOUR_ADMOB_APP_ID");
在第一个Activity的onCreate中。只需执行一次,因此正确的位置是您的第一个活动或在应用程序的onCreate回调中。
在活动onCreate中找到AdView,您已将AdView包含在布局中。
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
测试广告通过提供由Google发布的测试广告单元来工作。
mAdView.setAdSize(AdSize.BANNER);
mAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
此外,如果要处理广告事件,请执行以下操作:-
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Code to be executed when an ad finishes loading.
}
@Override
public void onAdFailedToLoad(int errorCode) {
// Code to be executed when an ad request fails.
}
@Override
public void onAdOpened() {
// Code to be executed when an ad opens an overlay that
// covers the screen.
}
@Override
public void onAdLeftApplication() {
// Code to be executed when the user has left the app.
}
@Override
public void onAdClosed() {
// Code to be executed when when the user is about to return
// to the app after tapping on an ad.
}
});
答案 7 :(得分:2)
其中一些可能的解决方案可能听起来很明显,但请确保完成这些:
-replace“我的发布商ID”在android:value =“我的发布商ID”中包含您的实际发布商ID。
- 确保在清单文件中包含互联网权限:
<uses-permission android:name="android.permission.INTERNET" />
如果您已完成这些操作,您还可以尝试将以下代码放在“正在创建”部分而不是当前代码中:
AdView adView = (AdView)this.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest();
adRequest.setTesting(true);
adView.loadAd(adRequest);
adView.loadAd(new AdRequest());
或
AdManager.setTestDevices( new String[] {AdManager.TEST_EMULATOR});
AdView adView = (AdView)findViewById(R.id.adView);
adView.requestFreshAd();
在发布之前,请不要忘记确保摆脱setTestDevice!
答案 8 :(得分:2)
确保您的admob发布商ID正确无误。它发生在我身上一次,我无法找出错误大约15天。
在Admob中,您提交的每个应用都会获得不同的发布商ID。它对于每个应用程序是唯一的,而不是每个用户。
答案 9 :(得分:2)
空间可能存在问题,您需要确保空间可用于展示广告。如果在父布局上有填充,则可能会减少可用空间。根据{{3}},如果没有广告可以显示,则不会显示广告。
&#34; SDK将请求实例化请求AdView的任何大小。如果设备的屏幕上没有足够的空间来显示广告,则不会显示任何内容。&#34;
所以我的建议是确保父布局上没有填充,并实际为这样的横幅广告指定高度和宽度
<com.google.ads.AdView
android:id="@+id/adView"
android:layout_alignParentBottom="true"
android:layout_width="@dimen/banner_width"
android:layout_height="@dimen/banner_height"
ads:adSize="BANNER"
ads:adUnitId="My Publisher ID"
ads:loadAdOnCreate="true"/>
将dimension.xml中的相应尺寸存储在values文件夹中。
答案 10 :(得分:1)
转到 admob.com 上的应用设置,并确保使用广告的位置数据已关闭(如果您的应用未启用)基于位置的应用。
使用广告的位置数据用于根据位置过滤广告,并且仅在已授予位置权限的应用上起作用。如果应用未使用位置权限,则广告将不会展示。
答案 11 :(得分:0)
这是因为管理员库存需要生成一些请求,以检查该应用程序是否可以赚钱!
请正确设置广告并发布应用,大约一千次请求后,广告会自动显示!
我也遇到了这个问题,并在发布自己的应用程序时得到了答案!
答案 12 :(得分:0)
如果admob“应用ID”和“单元ID”正确,则在Google Play商店上载它将显示添加内容。 我遇到了相同类型的问题,但是在Google上播放后,它会自动解决。
答案 13 :(得分:0)
通过很少的请求就可以显示我的广告,这是我执行的以下步骤
获取更多请求您是说400个展示广告,但没有广告会在同一应用中制作另一个广告单元,它会开始显示我也使用了此方法,并且广告开始了在我以前的广告单元中,它有很多请求,但没有imp,然后我制作了另一个单元,开始展示广告
我的帐户需要耐心等待4天才能展示广告,并且我的帐户在1个小时内就获得了Google的批准,因此在服务器上建立广告资源需要大量时间,因此请耐心等待您的广告展示
在admob投诉中向Google投诉,他们将检查您的应用,并且该应用被批准的机会为50-50%