如何在现有应用中集成AdMob移动广告SDK ?

本指南会为您介绍如何在现有应用中集成KeyMob移动广告 SDK,以及在此过程当中须要注意的一些重要事项。其中的技术和代码示例适用于Eclipse和Android Studio项目。


一:加入 SDK
要在应用中展现AdMob广告,您首先须要在项目中加入KeyMob移动广告SDK。完成此操做的正确方式会因您使用的 IDE 而稍有不一样。如下步骤适合使用Android Studio的开发者:

1:下载 Google Repository

2:配置 Gradle

3:修改清单


如下为在Eclipse项目中加入SDK的步骤:

1:下载 Google Play 服务

2:加入和引用 Google Play 服务库项目

3:修改清单

二:选择横幅广告、插页式广告,仍是二者都选?
AdMob广告分为两大类别:横幅广告和插页式广告。做为发布商,您须要作出的第一项决策是:选择最适合应用设计和流程的广告。

插页式广告是全屏广告,展现时会覆盖其宿主应用的界面。它们展现时会让用户选择关闭广告,仍是继续访问其目标网址,随后由应用来对其进行控制。它们在偶尔进行任务转换的应用中效果最好,例如关卡之间会暂停的游戏。

而横幅广告则只会占据宿主应用界面的一部分,所以展现的时间更长。它们在空间占用不会影响用户体验的布局中效果最好。例如,新闻阅读器应用能够在布局底部展现横幅广告,并将其他空间留给内容。

您的应用可能特别适合其中一个类别,或者对两种广告来讲都是不错的选择。若是适用于两种广告,那么您能够同时加入横幅广告和插页式广告。若是您不肯定应选 用哪一种广告,能够尝试同时投放两种广告,看看它们是否会影响用户体验。如您所见,不管在应用中加入哪一种广告,都不须要进行大量编码,所以没必要担忧会进行多 轮构建测试。

三:插页式广告
要将插页式广告归入应用的某项活动,您须要执行三个主要步骤:

   1:构建InterstitialAd对象并设置其广告单元ID。

   2:请求广告。

   3:肯定广告加载后,将其展现出来。

展现多个插页式广告的应用能够重复步骤2和3,以逐个请求并展现多个插页式广告。

在下文中,咱们会介绍完成每项任务所需的一些代码段。

四:构建InterstitialAd 对象并设置其广告单元ID


private InterstitialAd mInterstitialAd;


@Override
protected void onCreate(Bundle savedInstanceState) {
   
mInterstitialAd = new InterstitialAd(this);


mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
   
    }

}

此代码会将InterstitialAd对象实例化并为其分配广告单元ID。在活动有效期内,一个InterstitialAd对象就可用于请求并展现多个插页式广告,所以您只需构建该对象一次。

注意:咱们在上文使用的广告单元ID 会返回测试广告。您能够在KeyMob官网为本身的应用建立广告单元。

五:请求广告
AdRequest adRequest = new AdRequest.Builder().addTestDevice("YOUR_DEVICE_HASH").build();
mInterstitialAd.loadAd(adRequest);
要请求插页式广告,这些代码会构建AdRequest,并将其传递至loadAd。插页式广告是异步加载的,所以在须要广告前提早请求广告十分重要。

构建请求的调用包括addTestDevice方法。开发和测试应用时,请务必请求测试广告。请参阅咱们的广告定位指南,详细了解实现此操做的最佳方法。

六:肯定广告加载后,将其展现出来
if (mInterstitialAd.isLoaded()) {
    mInterstitialAd.show();

}

此处的代码会检查插页式广告是否已加载,若是已加载,则会展现该广告。

注意,show()不是阻塞调用。即便插页式广告控制了设备屏幕,您的应用也会继续执行。展现插页式广告时,请务必暂停全部音频输出或密集计算(例如游戏主循环)。

七:插页式广告展现位置和时间
如上文提到的,在应用内选择恰当的位置展现插页式广告十分重要。为了尽量减小广告对用户体验产生的影响,请尽可能选择应用流程中的正常转换点。您能够查看插页式广告指南页面,获取这方面的一些建议。

八:横幅广告
横幅广告占据应用屏幕的一部分空间,一般是在应用的XML布局文件内定义,而后会在相应活动或片断的Java代码内加载。

例如,如下是一个很是简单的布局文件,包含“Hello World”TextView以及屏幕底部的横幅广告:
1:activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">

<TextView android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<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:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111">


</com.Google.android.gms.ads.AdView>

</RelativeLayout>

此文件的如下两个部分与横幅广告有关:

1:添加到RelativeLayout标记中的额外命名空间,它包含AdView所用的属性。

2:AdView标记:定义布局内的横幅广告位置和特色。



注意,ads属性存在于AdView标记中。尺寸是由一种属性定义的,而广告单元 ID 则是由另一种属性定义的。

2:加载横幅广告
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().addTestDevice("YOUR_DEVICE_HASH").build();
mAdView.loadAd(adRequest);

此代码常常置于某项活动或片断的onCreate方法中,可用于定位布局中的横幅广告、构建 AdRequest,以及加载广告。

注意,addTestDevice调用在此处的做用与其在上述插页式广告示例中的做用同样。

3:横幅广告投放位置
肯定横幅广告在应用中的投放位置时,您须要考虑一些重要事项。例如:

1:选择合适的尺寸。横幅广告有多种尺寸,所以请务必针对布局和目标设备选择恰当的尺寸。

2:广告应投放在内容外部,而不是内容中。这有助于用户区分广告和应用内容。

3:广告应远离其余互动元素。这能够防止意外点击。

4:与插页式广告不一样,横幅广告是同步加载的。若是您经过调用loadAd请求横幅广告,那么您必须在加载AdView的位置展现它。这有助于防止虚假展现,确保点击率正确无误。

5:若是某个广告的显示时间极可能会延长(例如,超过30秒),那么在建立广告单元 ID 时,您能够将其设置为自动刷新。

KeyMob移动广告SDK集成起来很是精细与快捷,能够经过简单的操做轻松实现对多家广告平台的搭配使用。并能辅助开发者过市场审核。KeyMob移动 广告SDK是使用的远程管理,经过云端集成使您随时切换广告平台,包括开发时没计划的用的平台,后面也照样可使用,无需修改产品;android

相关文章
相关标签/搜索