简介

Banner广告是在应用程序顶部、中部或底部占据一个位置的矩形图片,广告内容每隔一段时间会自动刷新,点击内容时通常会链接到广告主的页面。

此Codelab将引导您在应用中增加横幅广告的展示。在整个过程中,将介绍如何添加代码的详细过程以正确展示横幅广告。

你将建立什么

您将构建一个展示Banner广告的应用。

您的应用将:

您将会学到什么

硬件要求

软件要求

在Android Studio中打开工作项目

  1. 打开Android Studio。
  2. 创建新项目,选择"Empty Activity",命名为BannerExample。
  3. 点击完成按钮。

配置HUAWEI Ads SDK仓库及依赖包

在项目级build.gradle文件中配置Maven仓库路径,需添加下面内容:

buildscript { repositories { google() jcenter() maven { url 'https://developer.huawei.com/repo/' } } ... } allprojects { repositories { google() jcenter() maven {url 'https://developer.huawei.com/repo/'} } }

在应用级build.gradle文件中配置依赖包,需添加下面内容,并将{version}替换为最新HUAWEI Ads SDK版本号,参见版本更新说明

dependencies { ... implementation 'com.huawei.hms:ads-lite:{version}' ... }

点击"Sync Now"等待同步完成。

配置混淆脚本

开发者编译APK前需要配置不要混淆HUAWEI Ads SDK,避免功能异常。

  1. 打开Android工程的混淆配置文件。
  2. app/proguard-rules.pro文件中添加如下两行代码,配置排除HUAWEI Ads SDK的混淆。
    -keep class com.huawei.openalliance.ad.** { *; } -keep class com.huawei.hms.ads.** { *; }

要借助于HUAWEI Ads SDK获取广告,必须先在您的应用中调用HwAds.init()方法初始化SDK ,此过程需要在应用程序启动时完成,在应用后续运行过程中无需重复执行此过程。
MainActivity类的onCreate()方法中调用HwAds.init()以执行HUAWEI Ads SDK初始化。
代码片段示例:
MainActivity.java

import com.huawei.hms.ads.HwAds; ... public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化HUAWEI Ads SDK. HwAds.init(this); ... } ... }

对于Banner广告,HUAWEI Ads SDK提供了一个广告视图类BannerView ,用于展示Banner广告。
HUAWEI Ads SDK支持以下两种方式添加BannerView

现在您已经添加了广告尺寸为BANNER_SIZE_360_57,测试广告位ID为"testw6vs28auh3"的Banner广告视图。

BannerView创建好之后,接下来我们需在MainActivity中通过调用BannerView类的loadAd()方法来获取广告。

代码片段示例:
MainActivity.java

import android.os.Bundle; import android.widget.RelativeLayout; import androidx.appcompat.app.AppCompatActivity; import com.huawei.hms.ads. AdParam; import com.huawei.hms.ads.HwAds; import com.huawei.hms.ads.BannerAdSize; import com.huawei.hms.ads.banner.BannerView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化SDK. HwAds.init(this); // 获取XML中配置的BannerView. BannerView bottomBannerView = findViewById(R.id.hw_banner_view); AdParam adParam = new AdParam.Builder().build(); bottomBannerView.loadAd(adParam); // 通过编程的方式添加. BannerView topBannerView = new BannerView(this); topBannerView.setAdId("testw6vs28auh3"); topBannerView.setBannerAdSize(BannerAdSize.BANNER_SIZE_360_57); topBannerView.loadAd(adParam); RelativeLayout rootView = findViewById(R.id.root_view); rootView.addView(topBannerView); } }

运行项目后,则您的应用中会看到Banner广告。

祝贺您,您已经成功完成了Codelab并学到了:

您可以阅读下面链接,了解更多相关的信息。

您可以点击下方按钮下载源码。

源码下载

已复制代码