网络广告加载的方法、存储介质、电子设备及系统与流程

文档序号:16631160发布日期:2019-01-16 06:35阅读:248来源:国知局
网络广告加载的方法、存储介质、电子设备及系统与流程

本发明涉及互联网移动端应用开发领域,具体是涉及一种网络广告加载的方法、存储介质、电子设备及系统。



背景技术:

随着手机移动端的快速发展,移动端广告已经成为大多数商家的广告方式。由于手机窗口的局限性,大多数广告都加载在app的启动页。加载广告无疑需要消耗用户的流量,若启动页广告消耗的流量过多,必然会影响其用户体验。如何在展示广告的前提下,节约广告页的下载流量,无疑是提高用户体验和创造产品收益必须要克服的技术难题。传统的加载广告方式是:需要使用的时候,才去加载图片,特别是使用移动网络的时候,会消耗流量,用户体验较差。



技术实现要素:

本发明的目的是为了克服上述背景技术的不足,提供一种网络广告加载的方法、存储介质、电子设备及系统,能够减少用户流量,增强用户体验。

本发明提供一种网络广告加载的方法,包括以下步骤:

s1、客户端检测网络使用情况,如果检测到wifi,客户端获取广告图片的相对地址的路径、服务器的地址路径,将这两个路径拼接为完整的图片下载地址,根据完整的图片下载地址从服务器获取图片对应的统一资源定位符url,客户端下载url对应的图片,下载完毕之后,将图片以键值对的形式保存到客户端的沙盒中,键是图片的url地址,值是对应的图片信息,存储图片的索引是对应的url;

s2、客户端判断沙盒中是否存在url对应的图片,如果存在,则不下载;如果不存在,才下载图片;

s3、客户端创建用于容纳图片展示视图的容器,客户端判断沙盒中是否存在下载的图片,如果存在,则展示下载的图片;如果不存在,则展示本地的默认图片。

在上述技术方案的基础上,步骤s1中,所述客户端检测网络使用情况的过程如下:

创建网络检测类型的对象;根据网络检测类型的对象,开启网络监听,检测到客户端的网络发生变化时,执行块代码的回调,通过块代码的回调,确认客户端使用的网络是wifi还是移动网络。

在上述技术方案的基础上,步骤s1中,所述客户端下载url对应的图片的过程如下:

客户端创建网络请求,根据url初始化网络请求;根据客户端自带的默认的会话配置,获取网络会话;客户端根据网络请求和网络会话,创建发送网络请求的任务,并启动该任务;

客户端发送网络请求成功后,如果下载的图片不为空,则将下载的图片以键值对的形式保存到客户端的沙盒中,键是图片的url地址,值是对应的图片信息。

在上述技术方案的基础上,步骤s3中还包括以下步骤:

客户端从沙盒中获取图片时,如果沙盒中存在最新下载的图片,则移除默认路径的图片,将最新下载的图片的存储路径改为默认的路径;如果不存在最新下载的图片,则展示默认路径的图片;客户端下载图片成功后,添加对应的图片展示视图,将图片展示视图添加到容器中,再将容器添加到当前的主窗口中,保证图片的实时正确显示。

本发明还提供一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法。

本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法。

本发明还提供一种网络广告加载的系统,该系统包括服务器、客户端,所述客户端检测网络使用情况,如果检测到wifi,客户端获取广告图片的相对地址的路径、服务器的地址路径,将这两个路径拼接为完整的图片下载地址,根据完整的图片下载地址从服务器获取图片对应的统一资源定位符url,客户端下载url对应的图片,下载完毕之后,将图片以键值对的形式保存到客户端的沙盒中,键是图片的url地址,值是对应的图片信息,存储图片的索引是对应的url;

客户端判断沙盒中是否存在url对应的图片,如果存在,则不下载;如果不存在,才下载图片;

客户端创建用于容纳图片展示视图的容器,客户端判断沙盒中是否存在下载的图片,如果存在,则展示下载的图片;如果不存在,则展示本地的默认图片。

在上述技术方案的基础上,所述客户端检测网络使用情况的过程如下:

创建网络检测类型的对象;根据网络检测类型的对象,开启网络监听,检测到客户端的网络发生变化时,执行块代码的回调,通过块代码的回调,确认客户端使用的网络是wifi还是移动网络。

在上述技术方案的基础上,所述客户端下载url对应的图片的过程如下:

客户端创建网络请求,根据url初始化网络请求;根据客户端自带的默认的会话配置,获取网络会话;客户端根据网络请求和网络会话,创建发送网络请求的任务,并启动该任务;

客户端发送网络请求成功后,如果下载的图片不为空,则将下载的图片以键值对的形式保存到客户端的沙盒中,键是图片的url地址,值是对应的图片信息。

在上述技术方案的基础上,所述客户端从沙盒中获取图片时,如果沙盒中存在最新下载的图片,则移除默认路径的图片,将最新下载的图片的存储路径改为默认的路径;如果不存在最新下载的图片,则展示默认路径的图片;客户端下载图片成功后,添加对应的图片展示视图,将图片展示视图添加到容器中,再将容器添加到当前的主窗口中,保证图片的实时正确显示。

与现有技术相比,本发明的优点如下:

(1)本发明先检测网络使用情况,如果检测到wifi,客户端获取广告图片的相对地址的路径、服务器的地址路径,将这两个路径拼接为完整的图片下载地址,根据完整的图片下载地址从服务器获取图片对应的统一资源定位符url,客户端下载url对应的图片,下载完毕之后,将图片以键值对的形式保存到客户端的沙盒中,键是图片的url地址,值是对应的图片信息,存储图片的索引是对应的url;客户端判断沙盒中是否存在url对应的图片,如果存在,则不下载;如果不存在,才下载图片;客户端创建用于容纳图片展示视图的容器,客户端判断沙盒中是否存在下载的图片,如果存在,则展示下载的图片;如果不存在,则展示本地的默认图片。本发明在满足广告宣传的前提下,将网络检测和图片下载结合起来,预先检测网络,来确定图片下载的时机,并且预先加载图片,能够最大限度的为用户节约流量,增强用户体验。

(2)如果图片没有被下载,开始下载图片之前,先检查客户端的沙盒中是否存有相应的信息,如果url对应的信息已经存在,说明对应的图片已经下载,不需要重新下载;如果url对应的信息不存在,说明对应的图片不存在,需要下载。这样处理能够防止图片的重复下载。

(3)图片第一次下载成功后,将图片的信息以key-value的形式存到沙盒中,其中,key是图片的url地址,value是对应的图片信息。后期下载图片之前,先从沙盒中取,沙盒中有时,就不用开启网络请求下载,只当沙盒中不存在对应的图片信息时,才需要下载。这样既可以减少消耗用户流量,又节省了图片重复下载的过程。

(4)客户端判断图片数据是否存在,如果图片数据存在,说明图片已经下载成功,接下来就是展示下载的图片;如果图片数据不存在,说明图片没有下载成功,直接显示本地的默认图片。这样处理能够防止网络请求失败后图片显示为空的尴尬,通过默认图片提高了用户体验。

(5)由于图片是保存在客户端的沙盒中的,为了保证沙盒中的图片能随着网络动态更新,同时又不会因为更新频繁影响性能,从沙盒中获取图片时先做一个判断:如果沙盒中存在新下载的图片,就移除原来的图片,同时将新图片的存储路径更改到默认的路径;如果不存在新图片,代表网络图片没有更换,直接展示原来的默认路径图片。通过加载图片之前的过滤,能够减少不必要的操作,提高性能的同时又能达到及时更新图片的效果。

(6)客户端下载图片成功后,添加一个图片展示视图,用于展示下载的图片;客户端将图片展示视图添加到容器中,再将容器添加到当前的主窗口中,保证图片能实时正确的显示出来。

(7)本发明将广告图片下载以后,先保存到缓存中,如果广告图片的url没有更新,就不用重新下载图片,直接展示沙盒中的图片,保证了相同图片只下载了一次,节约了用户流量。

(8)本发明根据每个图片的地址都不一样的特点,使用图片地址作为查询的key,去查找是否存在这个key对应的图片,如果存在这个key对应的图片,直接从沙盒中获取,减少了图片加载的时间,能够避免重复加载,节约用户流量,提高用户体验。

(9)本发明加载图片之前先做判断,只有新图片,才需要发送网络请求获取,对于已经下载过的图片,不需要重新下载,在节省用户流量的条件下,仍能保证图片实时更新的时效性。

附图说明

图1是本发明实施例中网络广告加载的方法的流程图。

图2为本发明实施例中电子设备的结构框图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。

本发明实施例提供一种网络广告加载的系统,该系统包括服务器、客户端。

参见图1所示,本发明实施例还提供一种网络广告加载的方法,包括以下步骤:

s1、客户端检测网络使用情况,如果检测到wifi,客户端获取广告图片的相对地址的路径、服务器的地址路径,将这两个路径拼接为完整的图片下载地址,根据完整的图片下载地址从服务器获取图片对应的url(uniformresourcelocator,统一资源定位符),客户端下载url对应的图片,下载完毕之后,将图片以键值对的形式保存到客户端的沙盒中,键是图片的url地址,值是对应的图片信息,存储图片的索引是对应的url;

s2、客户端判断沙盒中是否存在url对应的图片,如果存在,则不下载;如果不存在,客户端才下载图片;

s3、客户端创建用于容纳图片展示视图的容器,客户端判断沙盒中是否存在下载的图片,如果存在,则展示下载的图片;如果不存在,则展示本地的默认图片。

步骤s1中,客户端检测网络使用情况的过程如下:

创建网络检测类型的对象;根据网络检测类型的对象,开启网络监听,检测到客户端的网络发生变化时,执行块代码的回调,通过块代码的回调,确认客户端使用的网络是wifi还是移动网络。

步骤s1中,客户端下载url对应的图片的过程如下:

客户端创建网络请求,根据url初始化网络请求;根据客户端自带的默认的会话配置,获取网络会话;客户端根据网络请求和网络会话,创建发送网络请求的任务,并启动该任务;

客户端发送网络请求成功后,如果下载的图片不为空,则将下载的图片以键值对的形式保存到客户端的沙盒中,键是图片的url地址,值是对应的图片信息。

步骤s3中还包括以下步骤:

客户端从沙盒中获取图片时,如果沙盒中存在最新下载的图片,则移除默认路径的图片,将最新下载的图片的存储路径改为默认的路径;如果不存在最新下载的图片,则展示默认路径的图片;

客户端下载图片成功后,添加对应的图片展示视图,将图片展示视图添加到容器中,再将容器添加到当前的主窗口中,保证图片的实时正确显示。

本发明实施例还提供一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法。

参见图2所示,本发明实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法。

下面结合具体函数进行详细说明。

创建一个广告管理的工具类sxadmanager,在工具类中提供一个下载广告的类方法。

1、在下载广告之前,客户端检测网络使用情况的过程:

使用创建网络检测类函数sharedmanager,创建一个网络检测类型afnetworkreachabilitymanager的对象manger;根据manager,使用开启网络检测的方法startmonitoring,开启对当前手机的网络进行检测:开启网络的监听之后,检测到当前的网络发生变化的时候,执行块代码的回调setreachabilitystatuschangeblock,通过块代码的回调,就可以知道当前的网络是wifi还是移动网络,如果检测到是wifi,就使用loadlatestadimage(加载的广告)下载广告。

2、客户端获取图片的相对地址的路径为imageurl、服务器的地址路径为baseurl,baseurl是服务器的地址,如果是测试环境,就获取测试环境的服务器地址;如果是正式环境,就获取正式环境的地址,客户端将相对地址的路径imageurl和服务器的地址路径baseurl拼接为完整的图片下载地址allurl,根据完整的图片下载地址allurl,去请求服务器的接口,调用get方法,从服务器获取广告图片下载的url信息。

3、url是不同图片的唯一标识,可以根据url判断图片信息的存在与否,从而判断url对应的图片是否已经下载。如果url对应的图片没有被下载,就调用downloadimage(下载图片)方法,开始下载url对应的图片之前,先检查客户端的沙盒中是否存有相应的信息,如果url对应的信息已经存在,说明对应的图片已经下载,不需要重新下载;如果url对应的信息不存在,说明对应的图片不存在,需要下载。这样处理能够防止图片的重复下载。

图片第一次下载成功后,将图片的信息以key-value的形式存到沙盒中,其中,key是图片的url地址,value是对应的图片信息。后期下载图片之前,先从沙盒中取,沙盒中有时,就不用开启网络请求下载,只当沙盒中不存在对应的图片信息时,才需要下载。这样既可以减少消耗用户流量,又节省了图片重复下载的过程。

4、对于沙盒中不存在的图片url,说明此时没有url对应的图片,客户端调用downloadimage(下载图片)方法,下载url对应的图片。

客户端下载url对应的图片的过程如下:

客户端获取广告图片的相对地址的路径imageurl、服务器的地址路径baseurl,baseurl是服务器的地址,如果是测试环境,就获取测试环境的服务器地址,如果是正式环境,就获取正式环境的地址,客户端将相对地址的路径imageurl、服务器的地址路径baseurl拼接为完整的图片下载地址allurl,根据完整的图片下载地址allurl,使用系统的alloc函数,创建一个网络请求request,根据url,使用初始化网络方法initwithurl,初始化这个网络请求request,初始化所需要的参数就是图片下载地址allurl。

客户端使用苹果语言自带的获取会话单例的函数:defaultsessionconfiguration(默认的会话配置),获取网络会话session;客户端根据网络请求request和网络会话session,调用ios系统的datataskwithrequest方法,创建发送网络请求的任务task,同时使用启动任务函数resume,启动任务task。

客户端发送网络请求成功后,如果下载的图片不为空,则将下载的图片以键值对key-value的形式保存到客户端的沙盒中,键key是图片的url地址,值value是对应的图片信息。

5、客户端创建一个用于展示图片视图的容器uiview,用于容纳即将被创建的图片展示视图uiimageview。

客户端调用沙盒的判断文件是否存在的方法fileexistsatpath,判断url对应的图片是否存在,如果url对应的图片存在,说明url对应的图片已经下载成功,接下来就是展示下载的图片;如果url对应的图片不存在,说明图片没有下载成功,直接显示本地的默认图片。这样处理能够防止网络请求失败后图片显示为空的尴尬,通过默认图片提高了用户体验。

由于图片是保存在客户端的沙盒中的,为了保证沙盒中的图片能随着网络动态更新,同时又不会因为更新频繁影响性能,从沙盒中获取图片时先做一个判断:如果沙盒中存在新下载的图片,就移除原来的图片,同时将新图片的存储路径更改到默认的路径;如果不存在新图片,代表网络图片没有更换,直接展示原来的默认路径图片。

通过加载图片之前的过滤,能够减少不必要的操作,提高性能的同时又能达到及时更新图片的效果。

客户端下载图片成功后,添加一个图片展示视图uiimageview,用于展示下载的图片;客户端将图片展示视图uiimageview添加到容器uiview中,再将容器添加到当前的主窗口中,保证图片能实时正确的显示出来。

本发明实施例将网络检测和图片下载结合起来,来确定图片下载的时机,能够最低限度的为用户节约流量,提高用户体验。

本发明实施例将广告图片下载以后,先保存到缓存中,如果广告图片的url没有更新,就不用重新下载图片,直接展示沙盒中的图片,保证了相同图片只下载了一次,节约了用户流量。

本发明实施例根据每个图片的地址都不一样的特点,使用图片地址作为查询的key,去查找是否存在这个key对应的图片,如果存在这个key对应的图片,直接从沙盒中获取,减少了图片加载的时间,能够避免重复加载,节约用户流量,提高用户体验。

本发明实施例加载图片之前先做判断,只有新图片,才需要发送网络请求获取,对于已经下载过的图片,不需要重新下载,在节省用户流量的条件下,仍能保证图片实时更新的时效性。

本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。

说明书中未详细描述的内容为本领域技术人员公知的现有技术。

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