如何将广告素材添加到多个活动中共享的布局中

时间:2015-03-27 20:47:31

标签: android android-activity layout admob

我有一个我在多个活动中使用的布局。 我想在所有这些广告中展示adMob adView。 如果我做对了,我需要每个活动的ID。 我尝试从onCreate中的每个活动中的代码更改adUnitId,但它表示需要在加载前设置adUnitId。

我的布局adView:

<com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adUnitId="@string/view_album_banner_ad_unit_id"
        ads:adSize="BANNER"
        >

我的代码:

_adView = (AdView) findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder()
        .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
        .addTestDevice("TEST_DEVICE_ID")
        .build();
_adView.setAdUnitId(getResources().getString(R.string.view_album_banner_ad_unit_id));


_adView.loadAd(adRequest);

2 个答案:

答案 0 :(得分:0)

这是正常行为。我为此实现了一些延迟加载视图,但这是太多的开销。只需按代码添加广告即可。如果要在正确的位置插入问题,请使用ViewStub类。你可以在充气的同时change the desired adview containing layout

答案 1 :(得分:0)

可能几乎不需要在每个不同的活动中使用不同的adUnitId。如果所有人都在同一个应用程序中,我不会担心它。

但如果这是库代码并且活动在不同的应用程序中,那么只需通过String变量更改adUnitId。