从包含多个广告展示位置的中心位置管理Admob发布商ID

时间:2011-05-05 20:56:52

标签: android android-layout android-manifest admob ads

所以,使用新的google-admob SDK for android正确的方式在布局中放置横幅广告就像这样:

<com.google.ads.AdView android:id="@+id/adView"
    android:layout_width="fill_parent"
    android:layout_gravity="bottom"
    android:layout_height="wrap_content"
    ads:adUnitId="some id"
    ads:adSize="BANNER"/>

我的问题是我在各种活动中都有多个横幅广告,当我出于某种原因想要更改adUnitId时,我不想通过所有我的xml布局文件追逐这段代码。我想在一个地方定义我的adUnitId,即应用中的所有横幅广告都使用。通过在清单文件中设置元数据,这在之前的admob-only SDK中是可能的。我不想在Java代码中布局AdView,如果可能的话,希望它使用新的SDK。 我试过这样的事情:

ads:adUnitId="@string/admob_id"

但它只是看到它作为我能看到的字符串,而不是跟随strings.xml中定义的实际字符串。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

随着最新的admob更新,我被迫在我的Java类中完成了大部分AdMob活动。这就是我使它工作的方式(使用集中式ID):

ad = new AdView(this, AdSize.BANNER, UtilClass.AD_PUBLISHER_ID); //Ad is the global AdView
LinearLayout layout = (LinearLayout) findViewById(R.id.main_admob_layout);

编辑:我将LinearLayout定义保留在xml文件中,因此定位全部在xml中完成:

<LinearLayout android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:gravity="bottom" android:weightSum="0"
    android:layout_alignParentBottom="true" android:id="@+id/main_admob_layout">