我在清单中包含了相关部分:
<meta-data android:value="123456789" android:name="ADMOB_PUBLISHER_ID" />
<!-- Track Market installs from AdMob ads -->
<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" />'
和
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>'
attrs从示例中复制过来:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="com.admob.android.ads.AdView">
<attr name="backgroundColor" format="color" />
<attr name="primaryTextColor" format="color" />
<attr name="secondaryTextColor" format="color" />
<attr name="keywords" format="string" />
<attr name="refreshInterval" format="integer" />
</declare-styleable>
</resources>
我的布局(这是一个标签视图顺便说一句)是一个表格,它在它自己的行上:
xmlns:app="http://schemas.android.com/apk/res/com.icukansas.lenscalculator"
和
<TableRow>
<!-- Place an AdMob ad at the bottom of the screen. -->
<!-- It has white text on a black background. -->
<com.admob.android.ads.AdView
android:layout_span="4"
android:id="@+id/ad"
app:backgroundColor="#000000"
app:primaryTextColor="#FFFFFF"
app:secondaryTextColor="#CCCCCC"
app:keywords="security"
/>
</TableRow>
然后我打电话给:
public class myClass extends Activity implements AdListener{
public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);
setContentView(R.layout.tab_thistab);
AdView ad = (AdView) findViewById(R.id.ad);
ad.setAdListener(this);
每次我在日志中遇到onFailedToReceiveAd错误。
我确信它很容易让我失踪:)
答案 0 :(得分:1)
是你缺少两件事:
1.最重要的是:
<meta-data android:value="a14e20856e4ad8f" android:name="ADMOB_PUBLISHER_ID" />
2.Refresh Interval:
<com.admob.android.ads.AdView
android:id="@+id/ad"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
myapp:backgroundColor="#000000"
myapp:primaryTextColor="#FFFFFF"
myapp:secondaryTextColor="#CCCCCC"
myapp:refreshInterval="30"
/>
休息看起来不错。
答案 1 :(得分:1)
我知道这已经过时了,但我认为对于试图将广告放入桌面布局的人来说会有所帮助。我最终通过在我的TableLayout中包含android:stretchColumns =“0,1,2,3”来实现这一点。如果您的跨度不是4,那么您将在stretchColumns中添加与您的跨度相同数量的列/数字。
<TableLayout android:id="@+id/TableLayout01" android:stretchColumns="0,1,2,3" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
答案 2 :(得分:1)
您忘记在清单中添加netstate权限。
答案 3 :(得分:0)
我有同样的问题 - friggin tabview。将它放在主要活动而不是标签中可以很好地工作。
答案 4 :(得分:0)
AdManager.setTestDevices(new String[] { AdManager.TEST_EMULATOR, // Android emulator
"5669B77A6042345BC23219DCAC6C15CA",// device id
});
ad = (AdView) findViewById(R.id.ad);
ad.requestFreshAd();
ad.setAdListener(this);
在信息选项卡中运行应用程序后,您可以在logcat中获取设备ID,搜索文本。
要在模拟器上获取测试广告,请使用AdManager.setTestDevices ... 还设置了听众
你将获得你的设备ID,粘贴它,否则你以前的代码是完美的。
答案 5 :(得分:0)
我已经尝试了近3个小时了。我按照所有谷歌的例子。最后,我弄清楚了。您可以自定义请求,然后它将工作。在我的示例中,我在Activity类中执行此操作:
AdRequest re = new AdRequest();
//re.setTesting(true);
re.setGender(AdRequest.Gender.FEMALE);
adview.loadAd(re);
你可以在这里检查我的例子,我总是把我的apk和源代码。您可以下载并尝试: