Android 如何优化开屏广告?

您所在的位置:网站首页 去开屏广告 Android 如何优化开屏广告?

Android 如何优化开屏广告?

2022-03-25 11:41| 来源: 网络整理| 查看: 265

转发请注明文章来源 https://blog.csdn.net/ifmvo/article/details/115111125

开屏广告以App启动作为曝光时机,提供5s的可感知广告展示。用户可以点击广告跳转到目标页面;或者点击右上角的“跳过”按钮,跳转到app内容首页 ——来自优量汇的文档

开屏广告是最普遍的一种广告形式。由于它打开App即展示的场景,使得开屏广告成为很多App广告收入的主要来源。

实际上开屏广告是很影响用户体验的,因为没有人喜欢打开一个软件之前必须要看一段广告。

这也是宇宙最大广告提供商Google AdMob直到最近几个月才开始做开屏广告的原因。 在这里插入图片描述 虽然开屏广告很影响用户的体验,但是随着国内大量的App都使用这种场景来投放广告,用户也就慢慢的习惯了这种开屏方式。毕竟,对于大部分用户来讲,免费才是最重要的。

下面就聊一下增加开屏广告收入的几种方法

一、增加热启动开屏

首先我们看一下视频示例:

示例中展示了一个完整的流程:

在这里插入图片描述 热启动的场景很常见,比如:我们在逛淘宝时朋友发来一条微信,点击微信的消息框切换到微信的聊天页面,这时淘宝就自动的退到了后台运行,几分钟后我们结束了微信聊天继续回来逛淘宝,淘宝就会给我们再热启动开屏页面。

热启动开屏广告其实就是增加了我们开屏广告的展示次数,也会大大增加我们的开屏广告收入。

但我们也需要注意开屏广告的展示频率,所以就像视频示例中,我们把App退到后台后需要等待一会才能看到热启动开屏广告,我这里是为了视频不要太长,所以只设置了2s,这个值可以根据自己喜好设置30s、1分钟、5分钟、30分钟都可以,需要自己在用户体验和广告收入之间找到一个平衡点。

那视频中的热启动开屏广告在技术层面是怎么实现的呢?我们来一段代码:

class MyApplication : Application() { //保存处于活跃状态的 Activity 个数 private val mActivityCount = AtomicInteger(0) //应用退到后台的时间戳 private var mAppStopTimeMillis = 0L override fun onCreate() { super.onCreate() registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks { override fun onActivityStarted(activity: Activity?) { activity ?: return //热启动 && 应用退到后台时间超过10s if (mActivityCount.get() == 0 && System.currentTimeMillis() - mAppStopTimeMillis > 10 * 1000 && activity !is SplashActivity) { //打开热启动开屏页面 SplashHotActivity.action(activity) } //+1 mActivityCount.getAndAdd(1) } override fun onActivityStopped(activity: Activity?) { activity ?: return //-1 mActivityCount.getAndDecrement() //退到后台,记录时间 if (mActivityCount.get() == 0) { mAppStopTimeMillis = System.currentTimeMillis() } } //...省略其他无用代码 }) } }

很简单,我们在Application中设置一个所有Activity的生命周期监听器,每一个Activity都会在这里回调。我们需要做的就是:记录处于活跃状态(onStart)的Activity的个数mActivityCount,当mActivityCount为0时,说明App已经退到后台了,这个时候如果有任何一个Activity回到活跃状态,那就是App热启动了。这时我们就可以启动一个新的开屏页面,来展示我们的热启动开屏广告。

class SplashHotActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_splash) AdHelperSplash.show(listener = object : SplashListener { override fun onAdFailedAll(failedMsg: String?) { //可以适当延迟1000ms后关闭当前页面,避免出现闪屏的效果 finish() } override fun onAdDismissed(providerType: String) { //展示完广告后,关闭当前页面即可,会自动返回到之前浏览的页面 finish() } //...省略其他无用代码 }) } } 二、手机屏幕适配

优量汇的文档中可以看到,开屏广告有两种展示模式,分为半屏模式和全屏模式: 在这里插入图片描述 优量汇平台让我们开发者根据自己的情况自行选择。

那这两种模式我们如何选择?哪一种方式更好呢?其实,我们完全可以根据情况两种模式组合使用。

最近几年市面上发布的手机屏幕比例基本都在18:9左右,而在全面屏手机时代来临之前,手机屏幕的比例基本都保持在16:9。 在这里插入图片描述 所以在16:9的手机被完全淘汰之前,为了兼容两种主流的屏幕比例的手机,开屏广告的图片素材大多还遵循16:9的标准。

那么我们完全可以根据手机屏幕的宽高比来选择半屏模式还是全屏模式。 具体实现步骤如下:

获取屏幕的高度和宽度,计算出当前设备屏幕的高度和宽度的比例。比例 > 16:9 使用半屏模式,比例


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3