所以,使用新的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中定义的实际字符串。有什么想法吗?
答案 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">