2010-08-08 77 views
4
显示在Android

我已经包括在我的清单中的相关部分:麻烦广告在AdMob

<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{ 

公共无效的onCreate(捆绑savedInstanceState){ super.onCreate(savedInstanceState);

setContentView(R.layout.tab_thistab); 

    AdView ad = (AdView) findViewById(R.id.ad); 
    ad.setAdListener(this); 

每当我在日志中遇到错误ToReceiveAd错误。

我敢肯定它的东西很容易我缺少:)

+0

这个问题使用attrs.xml,这可能意味着它使用Admob 4.0.4或更早的版本。 4.1.0在[此Google小组讨论]中描述了一些变更(http://groups.google.com/group/google-admob-ads-sdk/browse_thread/thread/3b885d3fe5bb21a5)(查找Tim的帖子)。 – idbrii 2011-06-17 17:07:25

回答

1

是你缺少一点东西:

1.Most重要:

<meta-data android:value="a14e20856e4ad8f" android:name="ADMOB_PUBLISHER_ID" /> 

2.Refresh间隔:

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

休息看起来很好。

+0

我有AndroidManifest中的第一个。我只是编了一些数字,但我的应用程序中有我的真实ID。 我已经添加刷新间隔到我的xml文件,仍然没有运气:( – Jason 2010-08-09 06:14:17

+0

我最终把广告放在我的main.xml中,而不是标签的xml和它的工作now.Never可以弄清楚为什么它不会请求在我的子活动中 – Jason 2010-08-09 23:52:03

+1

嘿,感谢发布商ID现在我可以使用你的发布! – JPM 2011-11-09 17:25:56

0

我有同样的问题 - friggin tabview。将它放在主要活动中,而不是标签完美运行。

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"> 
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,贴吧,否则你以前的代码是完美的。

0

我已经尝试过将近3个小时的问题了。我遵循所有谷歌的例子。最后,我知道了。您可以自定义请求,然后它将工作。在我的例子,我这​​样做是在活动类:

AdRequest re = new AdRequest(); 
    //re.setTesting(true); 
    re.setGender(AdRequest.Gender.FEMALE); 
    adview.loadAd(re); 

你可以在这里查看我的榜样,我总是把我的APK,和源代码。您可以下载,并尝试:

Add Google Admob in Android Application

1

你忘了添加netstate许可清单中。