广告是移动应用开发者最常用的流量变现方法之一,当App用户增长到一定数量后,开发者就需要考虑如何进行流量变现,帮助应用实现商业可持续增长,使应用不断拓展壮大。
华为广告平台则为开发者提供了高效的流量变现解决方案,华为广告与海量优质的广告主合作,能为开发者带来优质的广告资源,拥有具有竞争力的eCPM(每1000次展示所带来的收益);此外,平台秉承业界最具优质的分成政策,为开发者带来高额的收入回报;与终端匹配的广告UX设计,可以向用户呈现出精品广告内容,最大平衡用户体验和变现能力。
为了帮助开发者实现流量变现,当前华为广告服务共提供了6种广告形式,其中也包括最常见的Banner广告。
什么是Banner广告?
Banner广告是在应用程序顶部、中部或底部占据一个位置的矩形图片,广告内容每隔一段时间会自动刷新,点击内容时会跳转到广告主的页面。Banner广告的优势在于长期稳定展示,曝光量大。适合于游戏页、阅读资讯页、工具功能页等用户停留较久或者访问频繁的页面。
Banner广告是最常用的移动广告,如果你刚开始接触移动广告,不妨先从Banner广告入手,接下来的文章会详细讲解开发步骤。
示例代码已在相关社区进行开源,欢迎开发者关注、下载并提供宝贵意见:
Github官方地址:/hms-core/hms-ads-demo-java
Gitee官方地址:/hms-core/hms-ads-demo-java
前提条件
HUAWEI Ads SDK依赖HMS Core(APK)4.0.0.300及以上版本。如果设备上未安装HMS Core(APK)4.0.0.300及以上版本,则无法使用HUAWEI Ads SDK的相关接口。
在开发应用前需要在华为开发者联盟网站上注册成为开发者并完成实名认证,具体方法可参见帐号注册认证。
参见创建项目和在项目中添加应用完成应用的创建。
开发前准备
广告服务的集成需如下4个关键步骤,可以参考华为开发者联盟文档
1. 导入HUAWEI Ads SDK
2. 配置网络权限
3. 配置混淆脚本
4. 初始化SDK
开发关键步骤
1.1添加BannerView。
HUAWEI Ads SDK支持以下两种方式添加BannerView来展示Banner广告:
通过配置XML布局文件添加。
在XML布局文件中添加BannerView,并通过配置hwads:adId和hwads:bannerSize属性,来设置广告位ID和尺寸。以下示例代码中展示了如何在XML布局文件中添加BannerView。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="/apk/res-auto" xmlns:hwads="/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <com.huawei.hms.ads.banner.BannerView android:id="@+id/hw_banner_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" hwads:adId="testw6vs28auh3" hwads:bannerSize="BANNER_SIZE_360_57"/> </RelativeLayout>
以下示例代码展示了如何获取BannerView。
BannerView bannerView = findViewById(R.id.hw_banner_view);
通过编程方式添加。
在代码中添加BannerView,并设置广告位ID和尺寸。
BannerView bannerView = new BannerView(this); // "testw6vs28auh3"为测试专用的广告位ID,App正式发布时需要改为正式的广告位ID bannerView.setAdId("testw6vs28auh3"); bannerView.setBannerAdSize(BannerAdSize.BANNER_SIZE_360_57); FrameLayout adFrameLayout = findViewById(R.id.ad_frame); adFrameLayout.addView(bannerView);
1.2获取广告。
BannerView创建好之后,通过BannerView类的loadAd()方法来获取广告。
import com.huawei.hms.ads.AdParam; 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); // 获取BannerView BannerView bannerView = findViewById(R.id.hw_banner_view); // 设置广告位ID和广告尺寸,"testw6vs28auh3"为测试专用的广告位ID bannerView.setAdId("testw6vs28auh3"); bannerView.setBannerAdSize(BannerAdSize.BANNER_SIZE_360_57); // 设置轮播时间间隔为30秒 bannerView.setBannerRefresh(30); // 创建广告请求,获取广告 AdParam adParam = new AdParam.Builder().build(); bannerView.loadAd(adParam); } }
1.3监听广告事件。
通过实现AdListener类中的方法来监听广告事件。了解详细方法,请参见API文档中的AdListener类。
bannerView.setAdListener(adListener); private AdListener adListener = new AdListener() { @Override public void onAdLoaded() { // 广告获取成功时调用 ... } @Override public void onAdFailed(int errorCode) { // 广告获取失败时调用 ... } @Override public void onAdOpened() { // 广告打开时调用 ... } @Override public void onAdClicked() { // 广告点击时调用 ... } @Override public void onAdLeave() { // 广告离开应用时调用 ... } @Override public void onAdClosed() { // 广告关闭时调用 ... } };
>>访问华为广告服务官网,了解更多相关内容
>>获取华为广告服务开发指导文档
>>访问华为开发者联盟官网,了解更多相关内容
>>获取开发指导文档
>>华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解华为移动服务最新技术资讯~