什么是插屏广告?
插屏广告是一种在应用开启、暂停或退出时以全屏的形式弹出的广告形式。当应用展示插屏广告时,用户既可以选择点击该广告,进而访问其目标网站,也可以将其关闭,并返回应用。
插屏广告的优势
插屏广告展现尺寸更大,视觉效果更好;与Banner广告相比,插屏广告更容易集中用户的目光,点击率、转化率更高;相较信息流广告,与应用契合度较弱,但关注度和曝光效果更突出。
插屏广告在应用暂停、跳转、退出的情况下展示,展示时机巧妙避开用户对应用的正常体验的影响。如果能为用户精准推荐感兴趣的广告,且广告与应用协调搭配好,则插屏广告能达到最理想的效果。
华为广告服务能够帮助开发者接入包括插屏广告在内的6种广告位。接下来的文章会详细讲解插屏广告的开发步骤。示例代码已在相关社区进行开源,欢迎开发者关注、下载并提供宝贵意见:
Github官方地址:github.com/hms-core/hm…
Gitee官方地址:gitee.com/hms-core/hm…
前提条件
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 创建插屏广告对象。
创建InterstitialAd对象,并通过InterstitialAd类的setAdId()方法设置测试广告位ID。
private InterstitialAd interstitialAd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_interstitial); interstitialAd = new InterstitialAd(this); // "testb4znbuh3n2"为测试专用的广告位ID,App正式发布时需要改为正式的广告位ID interstitialAd.setAdId("testb4znbuh3n2"); loadInterstitialAd(); }
1.2 获取广告。
调用InterstitialAd对象的 loadAd() 方法来获取广告。
private void loadInterstitialAd() { ... // 获取插屏广告 AdParam adParam = new AdParam.Builder().build(); interstitialAd.loadAd(adParam); ... }
1.3 展示广告。
调用InterstitialAd的show(Activity activity)方法来显示广告,在此之前需要调用isLoaded()方法来确认广告已经加载完成。
private void showInterstitialAd() { // 显示广告 if (interstitialAd != null && interstitialAd.isLoaded()) { interstitialAd.show(this); } else { Toast.makeText(this, "Ad did not load", Toast.LENGTH_SHORT).show(); } }
1.4 监听广告事件。
调用InterstitialAd类的setAdListener方法可以为InterstitialAd对象添加广告事件监听器AdListener,并通过实现AdListener类中的方法来监听广告事件。了解详细方法,请参见API文档中的AdListener类。
... interstitialAd.setAdListener(adListener); ... private AdListener adListener = new AdListener() { @Override public void onAdLoaded() { // 广告获取成功时调用 ... showInterstitialAd(); } @Override public void onAdFailed(int errorCode) { // 广告获取失败时调用 ... } @Override public void onAdClosed() { // 广告关闭时调用 ... } @Override public void onAdClicked() { // 广告点击时调用 ... } @Override public void onAdLeave() { //广告离开时调用 ... } @Override public void onAdOpened() { // 广告打开时调用 ... } @Override public void onAdImpression() { // 广告曝光时调用 ... } };
更多应用内广告形式操作指南:
>>访问华为广告服务官网,了解更多相关内容
>>获取华为广告服务开发指导文档
>>访问华为开发者联盟官网,了解更多相关内容
>>获取开发指导文档
原文链接:developer.huawei.com/consumer/cn…
原作者:胡椒