一种广告请求方法、装置及设备、存储介质与流程

文档序号:17014758发布日期:2019-03-02 02:24阅读:312来源:国知局
一种广告请求方法、装置及设备、存储介质与流程

本公开一般涉及互联网技术,尤其涉及一种广告请求方法、装置及设备、存储介质。



背景技术:

为了最大化广告位的收入,我们总是希望能拿到最高cpm(costperthousand,每千次展示的收益)的广告。通常,可以通过设置广告的底价,来保证取到的广告的cpm总是高于设置的低价。但是,越高cpm的广告通常数量越少,所以底价设得越高,能够成功获取到广告的概率也就越低,从而导致广告机会利用率的降低。

一种可用的配置方式为瀑布流配置。该方式需要配置多个不同底价的广告id,然后按底价的高低,依次请求广告。这样,即可以优先去尝试获取高cpm的广告,同时在没能取到高cpm广告的情况下,又会去尝试获取低cpm的广告,增加了获取到广告的机会。

现在市面上主流的广告聚合平台,都支持串行的请求方式。用户配置的广告id,可以按用户定义的顺序排列。客户端在请求广告的时候,会按照用户定义的顺序,依次使用各个广告id去第三方广告网络去请求广告。

一个示例如图1所示,用户按顺序配置了4个广告id:id1,id2,...,id4。

客户端会按照如下的逻辑去请求广告:

1、使用广告id1去请求广告

2、等待广告id1返回结果:

a、如果广告id1成功返回广告,则整个广告请求过程结束

b、如果广告id1返回失败,则继续使用广告id2请求广告。

重复步骤2,直到请求到广告或者完成广告id4的请求。

然而,每次使用一个广告id去第三方广告网络请求广告,都会发生一次网络请求。移动互联网环境的网络状态是不稳定的,用户可能通过4g,3g,wifi等多种方式连接网络。由于移动互联网环境的不稳定性,一次请求广告的完成时间可能很长,从实际的测试数据看,大多数的完成时间都在5s左右,个别的请求完成时间甚至在10s以上。

而采用串行的请求方式,会导致整个广告请求流程所需要花费的时间变长。如果配置了4个广告id,极端情况下,需要40s或者更长的事件才能完成广告的请求。应用很可能没有足够的时间来完成广告的请求,在需要展示广告的时机,广告请求还没有完成,这就会导致应用的广告机会利用率不足。



技术实现要素:

鉴于现有技术中的上述缺陷或不足,期望提供一种广告请求方法、装置及设备、存储介质,以提高广告机会利用率。

第一方面,本发明实施例提供一种广告请求方法,包括:

对待展示的广告进行预加载;

在需要展示广告时,按照待展示广告的cpm对所述待展示广告划分批次;

按照批次请求广告,并在有广告返回成功时,停止请求;

根据预加载的数据,对返回成功的广告进行展示。

进一步,所述对待展示的广告进行预加载,具体包括:

通过如下之一或组合的方式对待展示的广告进行预加载:

在应用启动时加载广告数据,并在应用运行时持续根据应用需求加载广告数据;

在一个会话session中主动加载广告数据直至所缓存的广告数据满足展示需求,其中,应用从有界面呈现给用户到所有界面都消失的过程为一个会话session;

在应用确定预加载时,对广告数据进行预加载。

进一步,该方法还包括:

当预加载的广告数据缓存的时间达到设定值时,删除该广告数据;和/或

当应用卸载时,删除该应用预加载的广告数据。

进一步,所述在需要展示广告时,按照待展示广告的cpm对所述待展示广告划分批次,具体包括:

在需要展示广告时,获取预先设定的cpm区间;

根据所述cpm区间,对所述待展示广告划分批次。

进一步,所述根据预加载的数据,对返回成功的广告进行展示,具体包括:

当有多个广告返回成功时,根据预加载的数据,对cpm最高的广告进行展示。

第二方面,本发明实施例还提供一种广告请求装置,包括:

预加载单元,用于对待展示的广告进行预加载;

划分单元,用于在需要展示广告时,按照待展示广告的cpm对所述待展示广告划分批次;

请求单元,用于按照批次请求广告,并在有广告返回成功时,停止请求;

展示单元,用于根据预加载的数据,对返回成功的广告进行展示。

进一步,所述预加载单元具体用于:

通过如下之一或组合的方式对待展示的广告进行预加载:

在应用启动时加载广告数据,并在应用运行时持续根据应用需求加载广告数据;

在一个会话session中主动加载广告数据直至所缓存的广告数据满足展示需求,其中,应用从有界面呈现给用户到所有界面都消失的过程为一个会话session;

在应用确定预加载时,对广告数据进行预加载。

进一步,所述预加载单元还用于:

当预加载的广告数据缓存的时间达到设定值时,删除该广告数据;和/或

当应用卸载时,删除该应用预加载的广告数据。

进一步,所述划分单元具体用于:

在需要展示广告时,获取预先设定的cpm区间;

根据所述cpm区间,对所述待展示广告划分批次。

进一步,所述展示单元具体用于:

当有多个广告返回成功时,根据预加载的数据,对cpm最高的广告进行展示。

第三方面,本发明实施例还提供一种设备,包括处理器、存储器和显示器;

所述存储器包含可由所述处理器执行的指令以使得所述处理器执行如第一方面中所述的方法。

第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于实现如第一方面中所述的方法。

本发明实施例提供一种广告请求方法、装置及设备、存储介质,该方法可以对广告进行预加载,从而在展示广告时,直接从缓存中获取广告数据,避免在展示时临时加载广告数据,提高了广告展示的效率,进而提高广告的机会利用率,该方法还按照批次请求广告,也避免了逐一请求广告时,请求时间过长,缩短了请求时间,进而缩短了展示广告前的等待时间,进而提高广告的机会利用率。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为现有技术中的广告请求顺序示意图;

图2为本发明实施例提供的广告请求方法流程图;

图3为本发明实施例提供的广告请求顺序示意图;

图4为本发明实施例提供的广告请求装置结构示意图;

图5为本发明实施例提供的广告请求设备结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

本发明实施例中,可能涉及到如下技术术语:

广告聚合平台:为移动终端开发者提供广告服务和盈利机会的第三方平台,通过集合多家广告网络的业务并结合自身的数据优化策略,开发者可以同时整合多家的广告资源并定义配比策略,帮助开发者实现广告收益的提升;

广告机会利用率:对于应用的一个广告位,当广告位展示的时候,会向广告聚合平台请求广告并展示广告,成功展示广告的次数与广告位展示的次数的比值称为广告机会利用率;

cpm:一条广告千次展示的收益;

广告id:向广告网络请求广告的唯一标识符;

广告浪费率:客户端获取到但是没有展示的广告的数量与客户端获取到广告的数量的比值。

请参考图2,本发明实施例提供的广告请求方法,包括:

步骤s201、对待展示的广告进行预加载;

步骤s202、在需要展示广告时,按照待展示广告的cpm对待展示广告划分批次;

步骤s203、按照批次请求广告,并在有广告返回成功时,停止请求;

步骤s204、根据预加载的数据,对返回成功的广告进行展示。

通过对广告进行预加载,可以在展示广告时,直接从缓存中获取广告数据,避免在展示时临时加载广告数据,提高了广告展示的效率,从而提高广告的机会利用率,按照批次请求广告,也避免了逐一请求广告时,请求时间过长,缩短了请求时间,进而缩短了展示广告前的等待时间,进而提高广告的机会利用率。

进一步,步骤s201中,对待展示的广告进行预加载,具体包括:

通过如下之一或组合的方式对待展示的广告进行预加载:

在应用启动时加载广告数据,并在应用运行时持续根据应用需求加载广告数据;

在一个session中主动加载广告数据直至所缓存的广告数据满足展示需求,其中,应用从有界面呈现给用户到所有界面都消失的过程为一个session;

在应用确定预加载时,对广告数据进行预加载。

具体的,在应用启动时加载广告数据,并在应用运行时持续根据应用需求加载广告数据的方式,

在应用启动时加载广告数据,并在应用运行时持续根据应用需求加载广告数据的方式,可以称为app预加载,使用该方式时,应用从一启动就开始去请求广告,在应用结束运行前,且手机系统没有处于休眠状态,就会在缓存的广告数不满足应用需求的情况下,去自动请求广告;

在一个session中主动加载广告数据直至所缓存的广告数据满足展示需求的方式,可以称为session预加载,session预加载在一个session中会自动地去请求广告,保证本地缓存的广告数满足应用的展示需求;

在应用确定预加载时,对广告数据进行预加载的方式,可以称为initiative预加载,该方式中,由应用程序自行指定预加载广告的时机。

预加载请求到的广告可能存在如下两种原因,导致广告的浪费:

1.广告存在过期:客户端从服务器获取到一条广告后,如果该广告在一定的时间没有展示,则会过期。展示过期的广告不会带来收入。本系统在请求到一个广告后,会为每个广告设置一个定时器,定时器的触发时间为广告的过期时间,定时器触发时,本系统会将对应的广告从缓存中移除,保证应用不会展示过期的广告;

2.应用程序会死亡:应用程序死亡时,缓存的广告都会被丢失,不再有机会展示。

预加载增加了广告浪费的机会,但有可能会导致广告浪费率的提升。广告浪费率过高,一方面会影响对应广告id的cpm表现,另一方面会浪费应用用户的流量,降低用户体验,导致应用的用户留存降低。因此在选择预加载的方式的时候,需要考虑到广告浪费率的问题。

可以通过以下方式,避免展示过期的广告并提升用户体验:

当预加载的广告数据缓存的时间达到设定值时,删除该广告数据;和/或

当应用卸载时,删除该应用预加载的广告数据。

本发明实施例中,设计三种预加载方式的目的在于:应用可以根据自己的广告展示场景,合理选用最合适的预加载方式,一方面需要尽量保证有足够的时间让预加载完成广告的请求,另一方面也需要尽量避免广告浪费率过高。

在session一开始就展示广告的应用场景,使用app预加载方式较佳。系统会在应用处于后台期间持续预加载广告,保证应用session一开始的时候就能获取到广告。

用户在应用内使用了一段时间才会弹出广告的场景,选择session预加载方式较佳,一方面,系统在session开始之后有足够的事件完成预加载,另一方面,避免了应用处于后台期间持续预加载广告所带来的广告浪费。

用户在执行了某个操作一段时间后,弹出广告的场景,选择initiative预加载方式较佳,比如内存清理类的应用,用户点击了内存清理,应用在完成内存清理后弹出一个广告,应用可以在用户点击内存清理的时候触发预加载,一方面,系统有足够的时间完成预加载,另一方面,预加载的广告能保证得到展示,最大程度上避免了广告的浪费。

进一步,步骤s202中,在需要展示广告时,按照待展示广告的cpm对待展示广告划分批次,具体包括:

在需要展示广告时,获取预先设定的cpm区间;

根据cpm区间,对待展示广告划分批次。

在确定cpm区间后,根据cpm区间,对待展示广告划分批次,可以较好的针对广告的cpm对待展示广告划分批次,另外,也可以对待展示广告按照cpm排序,并在每个批次中按照顺序获取设定个数的待展示广告。

进一步,步骤s204中,根据预加载的数据,对返回成功的广告进行展示,具体包括:

当有多个广告返回成功时,根据预加载的数据,对最先返回成功的广告进行展示或者对cpm最高的广告进行展示。

具体的,将所有的广告id按配置的底价高低划分成多个组,同一个组中的广告的cpm表现是接近的;对同一个组中的广告id,同时发起请求,并发地去请求广告;各个广告id组,依然是串行地去请求,优先请求高cpm组的广告id,当高cpm组的广告请求都返回失败了之后,再去请求低cpm组的广告id。

例如,如图3所示,有6个待展示广告可以请求,所有的广告id按照cpm从高到低分为了3个组,此时,可以通过如下步骤进行广告请求:

1.同时使用id1,id2,id3去请求广告;

2.等待id1,id2,id3的请求全部返回;

a.如果id1,id2,id3中任意一个请求返回成功,整个广告加载过程结束;

b.如果id1,id2,id3的请求都返回失败,则同时使用id4和id5去请求广告;

3.等待id4,id5的请求全部返回;

a.如果id4,id5中任意一个请求返回成功,整个广告加载过程结束;

b.如果id4,id5的请求都返回失败,则使用id6去请求广告;

4.等待id6请求返回,广告请求结束。

通过这种广告请求方法,保留了先去请求高cpm的广告,然后再去请求低cpm广告的瀑布流方式,增加了并发请求广告的方式,减低了请求广告的完成时间。如果采用串行广告的方式,以平均广告返回时间2s来计算,完成图3示例中6个id的请求的话,需要12s完成,而采用混合池配置的话,完成请求的事件可以降低为6s。

可见,通过本发明实施例提供的广告请求方法,可以在支持瀑布流配置方式的同时,优化了完成广告请求所需的时间,同时通过提供预加载的方式,提升了广告机会利用率,从而最终达到提升应用广告收入的目的。

应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

本发明实施例还相应提供一种广告请求装置,如图4所示,包括:

预加载单元401,用于对待展示的广告进行预加载;

划分单元402,用于在需要展示广告时,按照待展示广告的cpm对待展示广告划分批次;

请求单元403,用于按照批次请求广告,并在有广告返回成功时,停止请求;

展示单元404,用于根据预加载的数据,对返回成功的广告进行展示。

进一步,预加载单元401具体用于:

通过如下之一或组合的方式对待展示的广告进行预加载:

在应用启动时加载广告数据,并在应用运行时持续根据应用需求加载广告数据;

在一个session中主动加载广告数据直至所缓存的广告数据满足展示需求,其中,应用从有界面呈现给用户到所有界面都消失的过程为一个session;

在应用确定预加载时,对广告数据进行预加载。

进一步,预加载单元401还用于:

当预加载的广告数据缓存的时间达到设定值时,删除该广告数据;和/或

当应用卸载时,删除该应用预加载的广告数据。

进一步,划分单元402具体用于:

在需要展示广告时,获取预先设定的cpm区间;

根据cpm区间,对待展示广告划分批次。

进一步,展示单元404具体用于:

当有多个广告返回成功时,根据预加载的数据,对最先返回成功的广告进行展示或者对cpm最高的广告进行展示。

应当理解,该装置中记载的诸单元或模块与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于该装置及其中包含的单元,在此不再赘述。该装置可以预先实现在电子设备的浏览器或其他安全应用中,也可以通过下载等方式而加载到电子设备的浏览器或其安全应用中。该装置中的相应单元可以与电子设备中的单元相互配合以实现本申请实施例的方案。

下面参考图5,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。

如图5所示,计算机系统包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有系统操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,根据本公开的实施例,上文参考图2描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行图2的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括xx单元、yy单元以及zz单元。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,xx单元还可以被描述为“用于xx的单元”。

作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的公式输入方法。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1