使用新ID替换旧版广告单元ID的正确方法

时间:2014-07-09 20:25:12

标签: android admob

我更新了新的AdMob并在新Admob的“下一步操作”部分中提供了一个指南:用新ID替换旧版广告单元ID(https://support.google.com/admob/v2/answer/6025739?hl=en

在升级指南中,它表示您只需“使用相应的新广告单元ID替换应用中的每个旧版发布商和中介ID”。

我有这段代码

        <com.google.ads.AdView android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adUnitId="a..."
        ads:adSize="SMART_BANNER"
        android:layout_alignParentBottom="true" />

和这个

        adView = new AdView(this, AdSize.SMART_BANNER, "a...");
        RelativeLayout layout = (RelativeLayout)findViewById(R.id.adView);
        layout.addView(adView);
        adView.loadAd(new AdRequest());

用新的广告单元ID“ca-app-pub -...”替换“a ...”就足够了,因为在Google开发者网站上的Banners指南中,它说该方法已被弃用({{ 3}})。

如果我还需要更改代码,你能给我一些与我的代码相同的新代码吗?

1 个答案:

答案 0 :(得分:0)

&#34;新代码&#34;要求您使用Google Play服务库。按照迁移到新的adob here的官方指南进行操作。 您需要在Activity类中进行的更改是:

更改行:

 AdView adView = new AdView(this, AdSize.SMART_BANNER, "xxxxxxxx"); 
 adView.loadAd(new AdRequest());

为:

AdView adView = new AdView(activity);
adView.setAdUnitId("xxxxxxx");
adView.setAdSize(AdSize.SMART_BANNER);
adView.loadAd(new AdRequest.Builder()
.build());

在您的布局中,从以下位置更改ad xml命名空间:

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"

致:

xmlns:ads="http://schemas.android.com/apk/res-auto"

然后在您的清单的应用标签中,更改:

<activity android:name="com.google.ads.AdActivity"/>

为:

<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

添加:

<meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version"/>

不要忘记权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
   <uses-permission android:name="android.permission.INTERNET"/>