CN103677877A - 一种本地广告软件开发包升级的方法及装置 - Google Patents
一种本地广告软件开发包升级的方法及装置 Download PDFInfo
- Publication number
- CN103677877A CN103677877A CN201210336554.XA CN201210336554A CN103677877A CN 103677877 A CN103677877 A CN 103677877A CN 201210336554 A CN201210336554 A CN 201210336554A CN 103677877 A CN103677877 A CN 103677877A
- Authority
- CN
- China
- Prior art keywords
- plug
- unit bag
- bag
- latest edition
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种本地广告软件开发包升级的方法及装置,涉及广告技术领域,可以自动升级SDK,降低操作复杂度以及运营成本,并且当SDK发布后如遇到严重漏洞BUG时可以得到及时修复。本发明提供的方案包括:获取嵌入插件管理包的应用,所述插件管理包用于管理、验证插件包,以及下载最新版本的插件包,所述插件包用于获取广告平台分发的广告;当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级。本发明实施例提供的方案适于在进行本地广告软件开发包升级时采用。
Description
技术领域
本发明涉及广告技术领域,尤其涉及一种本地广告软件开发包升级的方法及装置。
背景技术
开发者可以通过嵌入式广告平台下载广告软件开发包(Sof twareDevelopment Kit,SDK)嵌入到自己的应用中,通过调用SDK中的接口接收广告平台分发的广告,并将该应用发布到各安卓Android应用市场,就可以通过该应用将广告推送给终端用户。
目前,通过SDK推送广告时,嵌入式广告平台每次发布新版本广告SDK时,需要重新下载最新的Java归档文件(Java Archive,JAR)包,这里,SDK即为一个JAR包。然后将最新的JAR包重新嵌入到开发者的应用中,将更新的应用重新发布,并由各个市场进行审核。
发明人发现现有技术中至少存在如下问题:发布新版本的广告SDK操作时,需要在应用中重新嵌入JAR包并发布审核流程,导致操作复杂,运营成本较高;另外,当SDK发布后如遇到严重漏洞BUG,由于重新发布新版本操作复杂,导致不能得到及时修复。
发明内容
本发明的实施例提供一种本地广告软件开发包升级的方法及装置,可以自动升级SDK,降低操作复杂度以及运营成本,并且当SDK发布后如遇到严重漏洞BUG时可以得到及时修复。
为达到上述目的,本发明的实施例提供一种本地广告软件开发包升级的方法,包括:
获取嵌入插件管理包的应用,所述插件管理包用于管理、验证插件包,以及下载最新版本的插件包,所述插件包用于获取广告平台分发的广告;
当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级。
在本发明另一实施例中,当终端中保存有插件包时,所述当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,动态加载所述新版本的插件包以实现SDK的升级,以实现所述插件包的升级包括:
当启动所述应用时,执行所述插件管理包,并通过所述插件管理包将所述插件管理包管理的插件包的版本号发送给服务器,以便由所述服务器判断所述版本号的插件包是否为最新版本;
当所述版本号的插件包不是最新版本时,接收所述服务器发送的最新版本的插件包的地址,并根据所述最新版本的插件包的地址下载最新版本的插件包。
在本发明另一实施例中,当所述终端中不存在插件包时,所述当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级包括:
当启动所述应用时,执行所述插件管理包,并通过所述插件管理包向服务器发送请求获取最新版本的插件包的消息;
接收所述服务器发送的最新版本的插件包的地址,并根据所述最新版本的插件包的地址下载所述最新版本的插件包。
在本发明另一实施例中,当所述版本号的插件包是最新版本时,或者根据所述最新版本的插件包的地址下载最新版本的插件包后,标记所述最新版本的插件包为可构造状态,并通过调用所述最新版本的插件包获取广告。
在本发明另一实施例中,所述插件包为将现有的SDK的格式转换为支持动态加载的格式,并封装为Java归档文件JAR的插件包。
在所述根据所述最新版本的插件包的地址下载所述最新版本的插件包之后,还包括:
在下载过程中,将所述最新版本的插件包保存在临时文件夹中;
当下载完成后,将所述插件包保存在安全数码卡SD或者终端存储中以覆盖所述SD或者所述终端存储中保存的旧版本的插件包;或者,当下载完成后,删除所述SD或者所述终端存储中保存的旧版本的插件包,并将所述临时文件夹中保存的所述最新版本的插件包保存在所述SD或者所述终端存储中;
删除所述第一保存单元中保存的所述最新版本的插件包。
另一方面,本发明实施例还提供一种本地广告软件开发包升级的装置,包括:
获取单元,获取嵌入插件管理包的应用,所述插件管理包用于管理、验证所述插件包,以及下载最新版本的插件包,所述插件包用于获取广告平台分发的广告;
处理单元,用于当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级。
在本发明另一实施例中,当终端中保存有插件包时,所述处理单元包括:
发送模块,用于发送模块,用于当启动所述应用时,执行所述插件管理包,并通过所述插件管理包将所述插件管理包管理的插件包的版本号发送给服务器,以便由所述服务器判断所述版本号的插件包是否为最新版本;
接收模块,用于当所述版本号的插件包不是最新版本时,接收所述服务器发送的最新版本的插件包的地址;
下载模块,用于根据所述最新版本的插件包的地址下载最新版本的插件包。
在本发明另一实施例中,当所述终端中不存在插件包时,所述发送模块还用于,当启动所述应用时,执行所述插件管理包,并通过所述插件管理包向服务器发送请求获取最新版本的插件包的消息;
所述接收模块还用于,接收所述服务器发送的最新版本的插件包的地址;
所述下载模块还用于,根据所述最新版本的插件包的地址下载所述最新版本的插件包。
在本发明另一实施例中,所述装置还包括:
显示单元,用于当所述版本号的插件包是最新版本时,或者根据所述最新版本的插件包的地址下载最新版本的插件包后,标记所述最新版本的插件包为可构造状态,并通过调用所述最新版本的插件包获取广告。
在本发明另一实施例中,所述插件包为将现有的SDK的格式转换为支持动态加载的格式,并封装为Java归档文件JAR的插件包。
在本发明另一实施例中,所述装置还包括:第一保存单元,用于在下载过程中,保存所述最新版本的插件包;
第二保存单元,用于当下载完成后,保存所述插件包以覆盖所述第二保存单元中保存的旧版本的插件包;或者,删除单元,用于当下载完成后,删除所述SD或者所述终端存储中保存的旧版本的插件包;所述第二保存单元,用于保存所述第一保存单元中保存的所述最新版本的插件包;其中,所述第二保存单元为安全数码卡SD或者终端存储;
所述删除单元还用于,删除所述第一保存单元中保存的所述最新版本的插件包。
本发明实施例提供一种本地广告软件开发包升级的方法及装置,通过获取嵌入插件管理包的应用,所述插件管理包用于管理、验证插件包,以及下载最新版本的插件包,所述插件包用于获取广告平台分发的广告;当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级。与现有技术中发布新版本的广告SDK操作时,需要在应用中重新嵌入JAR包并发布审核流程,导致操作复杂,运营成本较高;另外,当SDK发布后如遇到严重漏洞BUG,由于重新发布新版本操作复杂,导致不能得到及时修复相比,本发明实施例提供的方案采用插件管理包验证、下载最新版本的插件包,并由最新版本的插件包获取广告平台分发的广告并显示,因此采用本发明实施例提供的方案可以自动升级SDK,降低操作复杂度以及运营成本,并且当SDK发布后如遇到严重漏洞BUG时可以快速获得最新版本的插件包进行及时修复。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种本地广告软件开发包升级的方法的流程图;
图2为本发明实施例1提供的另一种本地广告软件开发包升级的方法的流程图;
图3为本发明实施例1提供的另一种本地广告软件开发包升级的方法的流程图;
图4为本发明实施例2提供的一种本地广告软件开发包升级的装置的框图;
图5为本发明实施例2提供的另一种本地广告软件开发包升级的装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种本地广告软件开发包升级的方法,该方法的执行主体为终端,该终端可以为安卓android系统的手机、平板电脑等终端,如图1所示,该方法包括:
步骤101,获取嵌入插件管理包的应用,所述插件管理包用于管理、验证插件包,以及下载最新版本的插件包,所述插件包用于获取广告平台分发的广告;
在本实施例中,重新开发一个基础的插件管理包,此插件管理包主要用于对插件包的管理。具体包括验证插件包的版本、下载最新版本的插件包以及各种类型广告的构造工作。这里,各种类型广告的构造工作指获取广告之前的准备工作以及初始化操作,例如,判断网络环境以及识别当前版本的插件包等。
插件管理包为本发明实施例进行本地广告插件包升级的核心包,开发者需要将此插件管理包嵌入到应用(Application,APP)程序中。
在本实施例中,所述插件包为将现有的SDK的格式转换为支持动态加载的格式,并封装为Java归档文件JAR的插件包。
SDK一般为软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,可以简单的为某个程序设计语言提供应用接口(Application Programming Interface,API)。在本实施例中SDK指嵌入在开发者应用中的广告。其中,SDK为一个.jar的文件。
步骤102,当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级。
应用启动后,执行所述插件管理包,并从服务器下载最新版本的插件包,通过调用所述插件管理包中的应用程序接口获取最新版本的插件包,然后动态加载所述最新版本的插件包获取广告平台上的广告。
动态加载指通过类加载器DexClassLoader和反射方法来动态的加载,具体的,通过android框架提供的DexClassLoader来将插件包加载到内存中,通过反射的方法调用插件包,以获取广告平台分发的广告。
本发明实施例提供一种本地广告软件开发包升级的方法,通过采用插件管理包验证、下载最新版本的插件包,并由最新版本的插件包获取广告平台分发的广告并显示,因此采用本发明实施例提供的方案可以自动升级SDK,降低操作复杂度以及运营成本,并且当SDK发布后如遇到严重漏洞BUG时可以快速获得最新版本的插件包进行及时修复。
本发明实施例提供一种本地广告软件开发包升级的方法,如图2所示,该方法包括:
步骤201,终端获取嵌入插件管理包的应用,所述插件管理包用于管理、验证插件包,以及下载最新版本的插件包,所述插件包用于获取广告平台分发的广告;
在本实施例中,终端可以为安装android系统的手机、平板电脑等终端。
插件管理包为本发明实施例进行本地广告插件包升级的核心包。开发人员获取一个基础的插件管理包,并将此插件管理包嵌入到应用(Application,APP)中。应用即为终端中安装的各种应用程序,例如游戏等应用程序。
其中插件管理包可以为一个.jar格式的文件包,例如插件管理包可以为Mobwin_manager.jar。此插件管理包主要用于对插件包的管理。具体包括验证插件包的版本、下载最新版本的插件包以及各种类型广告的构造工作。这里,各种类型广告的构造工作指获取广告之前的准备工作以及初始化操作,例如,判断网络环境以及识别当前版本的插件包等。
在本实施例中,插件管理包具有以下几个功能:
第一,插件管理包可以进行本地插件包mobwin.jar包的MD5校验。需要说明的是,MD5校验包括插件包合法性以及插件包的版本号的校验。这里本地指保存插件包的终端。
第二,进行网络交互以验证插件包是否需要更新。终端通过插件管理包将插件包的MD5校验上报给服务器,通过服务器的执行策略确定是否继续使用插件包,终端接收服务器下发的策略结果。
第三,进行插件包的下载替换策略。当服务器确定需要下载最新版本的插件包时,则终端接收服务器下发的最新版本的插件包的下载地址,以替换原来的插件包。
第四,可以执行活动Activity壳功能。Activity是android里面的一个基础构件,代表一个窗口。Android中的Activity仅能在配置文件manifest文件中注册才可以正常使用,其中manifest文件在每个应用中仅有一个,由于应用仅能对插件管理包进行操作,并由插件管理包进一步对插件包进行操作,因此插件包中的Activity无法在manifest文件中进行注册,仅可以通过壳的功能实现模拟Activity的功能。因此本实施例通过在插件管理包Mobwin_manager.jar中用反射的方法实现Activity壳显示和处理插件包mobwin.jar中的内容。
步骤202,当终端中保存有插件包时,启动所述应用,所述终端执行所述插件管理包,并通过所述插件管理包将所述插件管理包管理的插件包的版本号发送给服务器,以便由所述服务器判断所述版本号的插件包是否为最新版本;
在本步骤中,终端通过插件管理包将终端中保存的插件包的MD5值发送给服务器,其中,MD5值包括插件包的版本号。当然本发明实施例并不限制将插件包的版本号发送给服务器的形式。
在本实施例中,所述插件包为将现有的SDK的格式转换为支持动态加载的格式,并封装为Java归档文件JAR的插件包。
SDK一般为被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,可以简单的为某个程序设计语言提供应用接口(Application Programming Interface,API)。在本实施例中指嵌入在开发者应用中的广告。其中,SDK为一个.jar的文件。
将SDK的格式转换为支持动态加载的格式,并封装为Java归档文件JAR的插件包。具体的,SDK的格式为.jar,支持动态加载的文件的格式为.dex,.dex为android框架里面Davik虚拟机可以支持的格式。
其中,Davik为用于Android平台的Java虚拟机。它可以支持已转换为.dex格式的Java应用的运行。.dex格式是专为Davik设计的一种压缩格式,适合内存和处理器速度有限的系统。Davik在有限的内存中可以同时运行多个虚拟机的实例,并且每一个Davik应用作为一个独立的Linux进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。
将SDK的格式转换为.dex格式后,封装成一个mobwin.jar插件包,该插件包中包括SDK的核心逻辑,即可以通过调用插件包就可以从广告平台获取广告。
步骤203,服务器接收到终端发送的插件包的版本号,根据所述版本号的插件包,判断是否存在最新版本的插件包;
具体的,服务器根据终端发送的MD5值来识别并校验插件包的版本信息,并判断是否存在最新版本的插件包。
步骤204,当所述版本号的插件包不是最新版本的插件包时,所述服务器将最新版本的插件包的地址发送给终端;
进一步的,服务器在确定当前插件包不是最新版本时,根据版本、MD5以及云端策略确定是否需要下载最新版本的插件包。例如,终端中保存有一个低版本的插件包,服务器通过不同的策略可以决定是否仍然可以让低版本继续使用。当确定不能继续使用低版本的插件包时,服务器将最新版本的插件包的地址发送给终端。
步骤205,所述终端接收所述服务器发送的最新版本的插件包的地址,并根据所述最新版本的插件包的地址下载最新版本的插件包;
终端可以通过无线保真度(wireless-fidelity,WIFI)网络或者第三代移动通信技术(3rd-generation,3G)从服务器上下载最新版本的插件包。
步骤206,所述终端保存下载的所述最新版本的插件包;
在本步骤中,在下载最新版本的插件包的过程中,将所述最新版本的插件包保存在临时文件夹中;
当下载完成后,将所述插件包保存在安全数码卡SD或者终端存储中以覆盖所述SD或者所述终端存储中保存的旧版本的插件包;或者,当下载完成后,删除所述SD或者所述终端存储中保存的旧版本的插件包,并将所述临时文件夹中保存的所述最新版本的插件包保存在所述SD或者所述终端存储中;也就是说,下载的插件管理包最终保存在SD或者终端存储中,采用临时文件夹保存的目的在于,旧版本的插件包在最新版本的插件包未下载完成时,还处于使用状态,因此需要先将最新版本的插件包下载完成后,才能删除或者卸载旧版本的插件包。
终端删除所述临时文件夹中保存的所述最新版本的插件包,以释放存储空间。
步骤207,当所述版本号的插件包是最新版本时,或者根据所述最新版本的插件包的地址下载最新版本的插件包后,所述终端标记所述最新版本的插件包为可构造状态,并通过调用所述最新版本的插件包获取广告。
可构造状态表示当前插件包可以使用。
当插件包为可构造状态时,,调用最新版本的插件包,然后通过动态加载最新版本的插件包获取广告。动态加载指通过DexClassLoader和反射方法来动态的加载,具体的,通过android框架提供的DexClassLoader来将插件包加载到内存中,通过反射的方法调用插件包。
进一步的,插件包还可以包括基础插件包,本发明实施例中的插件包指具体的广告类型的插件包。用android框架提供的DexClassLoader来将所有插件包共用的基础包加载到内存,再把具体的广告类型的jar包即本实施例中的插件包加载到内存,通过反射的方法就可以调用此插件包,并通过此插件包的应用接口可以接收广告平台分发的广告。
本发明实施例中的插件包为一个,当然也可以为多个插件包,其中一个插件包对应一种类型的广告,例如,积分墙广告、全屏插播广告、按钮广告等类型。另外,还会封装一个基础插件包,基础插件包中包含各个广告中一些共同的功能,以实现代码重用。当存在多个插件包时,如果需要插件包之间的交互,则需要插件管理进行中转,以实现不同插件包的交互。
在具体应用时,本发明实施例提供的方案可以应用于按钮Banner广告、插播Spot插播广告等广告类型中。Banner广告条是在应用或者游戏的特定区域嵌入的一个特定大小的广告,每隔一个时间定时刷新显示新广告的内容。Spot插播广告是在用户主动触发下插入一个全屏广告,显示一段特定时间后会自动消失的广告形式。Spot广告不会影响用户体验,适合在应用加载、游戏通关、应用初始化等情况下嵌入。
嵌入式广告的形态非常丰富,且随着移动互联网广告的飞速发展,及广告主在该领域更多预算的投入,嵌入式广告的展现形式及交互形式在不断进化和丰富,广告SDK实现自动升级后,能极好地适应这种进化速度,将新的广告产品形态推送到终端用户。
本发明实施例提供一种本地广告软件开发包升级的方法,通过采用插件管理包验证、下载最新版本的插件包,并由最新版本的插件包获取广告平台分发的广告并显示,因此采用本发明实施例提供的方案,使得广告平台的新版本能够及时下发到每台终端,不依赖于应用的更新。可以实现自动升级SDK,降低操作复杂度以及运营成本,并且当SDK发布后如遇到严重漏洞BUG时可以快速获得最新版本的插件包进行及时修复。
本发明实施例提供一种本地广告软件开发包升级的方法,如图3所示,该方法包括:
步骤301,终端获取嵌入插件管理包的应用,所述插件管理包用于管理、验证插件包,以及下载最新版本的插件包,所述插件包用于获取广告平台分发的广告;
本步骤与附图2中步骤201相同,可参看步骤201,本实施例不再一一赘述。
步骤302,当所述终端中不存在插件包时,当启动所述应用时,执行所述插件管理包,并通过所述插件管理包向服务器发送获取最新版本的插件包的请求;
需要说明的是,在本实施例中,终端向服务器发送获取最新版本的插件包的请求的形式并不加以限定,例如,可以通过向服务器发送请求消息,所述请求消息中携带获取最新版本的插件包的请求,或者可以向服务器发送MD5值,其中,MD5值中表示插件包的版本号的值为空。
步骤303,所述服务器将最新版本的插件包的地址发送给终端;
步骤304,所述终端接收所述服务器发送的最新版本的插件包的地址,并根据所述最新版本的插件包的地址下载所述最新版本的插件包;
终端可以通过无线保真度(wireless-fidelity,WIFI)网络或者第三代移动通信技术(3rd-generation,3G)从服务器上下载最新版本的插件包。
步骤305,所述终端保存下载的所述最新版本的插件包;
步骤306,当所述版本号的插件包是最新版本时,或者根据所述最新版本的插件包的地址下载最新版本的插件包后,所述终端标记所述最新版本的插件包为可构造状态,并通过调用所述最新版本的插件包获取广告。
本实施例中步骤304-步骤306与附图2中步骤205-步骤207相同,具体可参照步骤205-步骤207,在此不一一赘述。
本实施例提供一种本地广告软件开发包升级的方法,通过采用插件管理包验证、下载最新版本的插件包,并由最新版本的插件包获取广告平台分发的广告并显示,因此采用本发明实施例提供的方案,使得广告平台的新版本能够及时下发到每台终端,不依赖于应用的更新。可以实现自动升级SDK,降低操作复杂度以及运营成本,并且当SDK发布后如遇到严重漏洞BUG时可以快速获得最新版本的插件包进行及时修复。
实施例2
本发明实施例提供一种本地广告软件开发包升级的装置,该装置可以为终端,如图4所示,该装置包括:获取单元401,处理单元402;
获取单元401,用于获取嵌入插件管理包的应用,所述插件管理包用于管理、验证所述插件包,以及下载最新版本的插件包,所述插件包用于获取广告平台分发的广告;
处理单元402,用于当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级。
进一步的,如图5所示,所述处理单元402包括:发送模块4021,接收模块4022,下载模块4023;
可选的,当终端中保存有插件包时,发送模块4021,用于当启动所述应用时,执行所述插件管理包,并通过所述插件管理包将所述插件管理包管理的插件包的版本号发送给服务器,以便由所述服务器判断所述版本号的插件包是否为最新版本;可选的,发送模块4021可通过插件管理包将所述插件管理包管理的插件包的MD5值发送给服务器,其中,MD5值包括插件包的版本号。
当所述版本号的插件包不是最新版本时,接收模块4022,用于接收所述服务器发送的最新版本的插件包的地址;以及下载模块4023,用于根据所述最新版本的插件包的地址下载最新版本的插件包。可以通过WIFI网络或者3G从服务器上下载最新版本的插件包。
可选的,当所述终端中不存在插件包时,所述发送模块4021还用于,当启动所述应用时,执行所述插件管理包,并通过所述插件管理包向服务器发送请求获取最新版本的插件包的消息;
所述接收模块4022还用于,接收所述服务器发送的最新版本的插件包的地址;
所述下载模块4023还用于,根据所述最新版本的插件包的地址下载所述最新版本的插件包。
进一步的所述插件包为将现有的SDK的格式转换为支持动态加载的格式,并封装为Java归档文件JAR的插件包;其中,SDK为一个.jar的文件,支持动态加载的文件的格式为.dex,.dex为android框架里面Davik虚拟机可以支持的格式。
进一步的,如图5所示,所述装置还包括:第一保存单元403,第二保存单元404;
第一保存单元403,用于在下载过程中,保存所述最新版本的插件包;其中,第一保存单元403可以为临时文件夹;
第二保存单元404,用于当下载完成后,保存所述插件包以覆盖所述第二保存单元中保存的旧版本的插件包;或者,删除单元405,用于当下载完成后,删除所述SD或者所述终端存储中保存的旧版本的插件包;所述第二保存单元,用于保存所述第一保存单元中保存的所述最新版本的插件包;其中,所述第二保存单元404为安全数码卡SD或者终端存储;
所述删除单元405还用于,删除所述第一保存单元中保存的所述最新版本的插件包。
其中,SD是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用。SD拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。
进一步的,当所述版本号的插件包是最新版本时,或者根据所述最新版本的插件包的地址下载最新版本的插件包后,显示单元406,用于标记所述最新版本的插件包为可构造状态,并通过调用所述最新版本的插件包获取广告。
通过调用所述最新版本的插件包,并动态加载所述最新版本的插件包获取广告平台分发的广告。动态加载指通过DexClassLoader和反射方法来动态的加载,具体的,通过android框架提供的DexClassLoader来将插件包加载到内存中,通过反射的方法调用插件包中的应用程序接口,获取广告。
进一步的,插件包还可以包括基础插件包,本发明实施例中的插件包指具体的广告类型的插件包。用android框架提供的DexClassLoader来将所有插件包共用的基础包加载到内存,再把具体的广告类型的jar包即本实施例中的插件包加载到内存,通过反射的方法就可以调用其中的应用接口,通过此应用接口可以接收广告平台分发的广告。
本发明实施例提供一种本地广告软件开发包升级的装置,通过采用插件管理包验证、下载最新版本的插件包,并由最新版本的插件包获取广告平台分发的广告并显示,因此采用本发明实施例提供的方案,使得广告平台的新版本能够及时下发到每台终端,不依赖于应用的更新。可以实现自动升级SDK,降低操作复杂度以及运营成本,并且当SDK发布后如遇到严重漏洞BUG时可以快速获得最新版本的插件包进行及时修复。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种本地广告软件开发包升级的方法,其特征在于,包括:
获取嵌入插件管理包的应用,所述插件管理包用于管理、验证插件包,以及下载最新版本的插件包,所述插件包用于获取广告平台分发的广告;
当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级。
2.根据权利要求1所述的方法,其特征在于,当终端中保存有插件包时,所述当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级包括:
当启动所述应用时,执行所述插件管理包,并通过所述插件管理包将所述插件管理包管理的插件包的版本号发送给服务器,以便由所述服务器判断所述版本号的插件包是否为最新版本;
当所述版本号的插件包不是最新版本时,接收所述服务器发送的最新版本的插件包的地址,并根据所述最新版本的插件包的地址下载最新版本的插件包。
3.根据权利要求1所述的方法,其特征在于,当所述终端中不存在插件包时,所述当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级包括:
当启动所述应用时,执行所述插件管理包,并通过所述插件管理包向服务器发送获取最新版本的插件包的请求;
接收所述服务器发送的最新版本的插件包的地址,并根据所述最新版本的插件包的地址下载所述最新版本的插件包。
4.根据权利要求2或3所述的方法,其特征在于,在所述当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级之后,还包括:
当所述版本号的插件包是最新版本时,或者根据所述最新版本的插件包的地址下载最新版本的插件包后,标记所述最新版本的插件包为可构造状态,并通过调用所述最新版本的插件包获取广告。
5.根据权利要求1-4中任一项所述的方法,其特征在于,
所述插件包为将现有的SDK的格式转换为支持动态加载的格式,并封装为Java归档文件JAR的插件包。
6.根据权利要求5所述的方法,其特征在于,在所述根据所述最新版本的插件包的地址下载所述最新版本的插件包之后,还包括:
在下载过程中,将所述最新版本的插件包保存在临时文件夹中;
当下载完成后,将所述插件包保存在安全数码卡SD或者终端存储中以覆盖所述SD或者所述终端存储中保存的旧版本的插件包;或者,当下载完成后,删除所述SD或者所述终端存储中保存的旧版本的插件包,并将所述临时文件夹中保存的所述最新版本的插件包保存在所述SD或者所述终端存储中;
删除所述临时文件夹中保存的所述最新版本的插件包。
7.一种本地广告软件开发包升级的装置,其特征在于,包括:
获取单元,获取嵌入插件管理包的应用,所述插件管理包用于管理、验证所述插件包,以及下载最新版本的插件包,所述插件包用于获取广告平台分发的广告;
处理单元,用于当启动所述应用时,通过执行所述插件管理包以及根据所述插件包,获取最新版本的插件包,以实现所述插件包的升级。
8.根据权利要求7所述的装置,其特征在于,当终端中保存有插件包时,所述处理单元包括:
发送模块,用于当启动所述应用时,执行所述插件管理包,并通过所述插件管理包将所述插件管理包管理的插件包的版本号发送给服务器,以便由所述服务器判断所述版本号的插件包是否为最新版本;
接收模块,用于当所述版本号的插件包不是最新版本时,接收所述服务器发送的最新版本的插件包的地址;
下载模块,用于根据所述最新版本的插件包的地址下载最新版本的插件包。
9.根据权利要求7所述的装置,其特征在于,当所述终端中不存在插件包时,
所述发送模块还用于,当启动所述应用时,执行所述插件管理包,并通过所述插件管理包向服务器发送请求获取最新版本的插件包的消息;
所述接收模块还用于,接收所述服务器发送的最新版本的插件包的地址;
所述下载模块还用于,根据所述最新版本的插件包的地址下载所述最新版本的插件包。
10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括:
显示单元,用于当所述版本号的插件包是最新版本时,或者根据所述最新版本的插件包的地址下载最新版本的插件包后,标记所述最新版本的插件包为可构造状态,并通过调用所述最新版本的插件包获取广告。
11.根据权利要求6所述的装置,其特征在于,所述插件包为将现有的SDK的格式转换为支持动态加载的格式,并封装为Java归档文件JAR的插件包。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一保存单元,用于在下载过程中,保存所述最新版本的插件包;
第二保存单元,用于当下载完成后,保存所述插件包以覆盖所述第二保存单元中保存的旧版本的插件包;或者,删除单元,用于当下载完成后,删除所述SD或者所述终端存储中保存的旧版本的插件包;所述第二保存单元,用于保存所述第一保存单元中保存的所述最新版本的插件包;其中,所述第二保存单元为安全数码卡SD或者终端存储;
所述删除单元还用于,删除所述第一保存单元中保存的所述最新版本的插件包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210336554.XA CN103677877B (zh) | 2012-09-12 | 2012-09-12 | 一种本地广告软件开发包升级的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210336554.XA CN103677877B (zh) | 2012-09-12 | 2012-09-12 | 一种本地广告软件开发包升级的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677877A true CN103677877A (zh) | 2014-03-26 |
CN103677877B CN103677877B (zh) | 2018-01-30 |
Family
ID=50315540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210336554.XA Active CN103677877B (zh) | 2012-09-12 | 2012-09-12 | 一种本地广告软件开发包升级的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677877B (zh) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077160A (zh) * | 2014-05-12 | 2014-10-01 | 联动优势电子商务有限公司 | 一种升级安卓软件的方法、设备和系统 |
CN104239054A (zh) * | 2014-09-12 | 2014-12-24 | 广州市久邦数码科技有限公司 | 一种基于安卓系统的插件加载方法及其系统 |
CN105204879A (zh) * | 2014-06-23 | 2015-12-30 | 小米科技有限责任公司 | 应用程序更新方法及装置 |
CN105511907A (zh) * | 2015-11-26 | 2016-04-20 | 小米科技有限责任公司 | 应用程序升级方法、装置及系统 |
CN105630518A (zh) * | 2014-10-28 | 2016-06-01 | 北京娜迦信息科技发展有限公司 | Android应用软件资源更新的方法和装置 |
CN105872842A (zh) * | 2015-12-30 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 一种多桌面独立升级方法及装置 |
CN106528192A (zh) * | 2015-09-15 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种业务逻辑更新方法和装置 |
CN106557348A (zh) * | 2016-11-25 | 2017-04-05 | 百度在线网络技术(北京)有限公司 | 视图展示方法和装置 |
CN106843978A (zh) * | 2017-01-23 | 2017-06-13 | 北京乐盟互动科技有限公司 | 一种sdk接入方法及系统 |
CN107122200A (zh) * | 2016-02-25 | 2017-09-01 | 博雅网络游戏开发(深圳)有限公司 | 加载插件sdk的方法、系统及客户端 |
CN107402761A (zh) * | 2017-07-25 | 2017-11-28 | 青岛海信电器股份有限公司 | 应用修复方法及装置 |
CN107656750A (zh) * | 2017-10-16 | 2018-02-02 | 深圳大宇无限科技有限公司 | 插件更新方法及装置 |
CN107967424A (zh) * | 2017-11-02 | 2018-04-27 | 北京奇虎科技有限公司 | 一种插件的验证方法、装置、终端设备和存储介质 |
CN108287726A (zh) * | 2017-03-03 | 2018-07-17 | 广州市动景计算机科技有限公司 | 扩展的更新检测方法、装置及服务终端 |
CN108366127A (zh) * | 2018-03-07 | 2018-08-03 | 北京奇艺世纪科技有限公司 | 一种软件包的获取方法及装置 |
CN108984199A (zh) * | 2018-08-01 | 2018-12-11 | 北京车联天下信息技术有限公司 | 应用功能更新方法、更新装置及电子设备 |
CN109002320A (zh) * | 2018-08-20 | 2018-12-14 | 苏州思必驰信息科技有限公司 | 用于软件开发包的更新方法、系统、电子设备及存储介质 |
US20180373523A1 (en) * | 2016-05-07 | 2018-12-27 | Tencent Technology (Shenzhen) Company Limited | Application update method and apparatus |
CN109144841A (zh) * | 2017-06-16 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 广告应用的识别方法和装置、计算机设备和存储介质 |
CN109218393A (zh) * | 2018-07-24 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 一种推送的实现方法、装置、设备和计算机存储介质 |
CN109240733A (zh) * | 2017-07-03 | 2019-01-18 | Tcl集团股份有限公司 | 一种基于安卓系统更新广告sdk的方法及终端 |
CN109614133A (zh) * | 2018-12-11 | 2019-04-12 | 江苏电力信息技术有限公司 | 一种电力行业轻量级热发布移动应用的方法 |
CN105825066B (zh) * | 2016-03-25 | 2019-04-19 | 东华软件股份公司 | 一种电子病历生成方法及装置 |
CN109933357A (zh) * | 2017-12-18 | 2019-06-25 | 优酷网络技术(北京)有限公司 | 应用程序升级方法及装置 |
CN110297671A (zh) * | 2019-05-22 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 客户端插件化实现方法、装置、计算机设备及存储介质 |
CN110673890A (zh) * | 2019-09-11 | 2020-01-10 | 天翼电子商务有限公司 | 插件调用方法、系统、介质及装置 |
WO2020181814A1 (zh) * | 2019-03-12 | 2020-09-17 | 平安普惠企业管理有限公司 | 应用程序升级方法、装置、终端及计算机可读存储介质 |
WO2020228033A1 (zh) * | 2019-05-16 | 2020-11-19 | 深圳市欢太科技有限公司 | Sdk插件的加载方法、装置、移动终端以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053836A (zh) * | 2010-12-31 | 2011-05-11 | 广东欧珀电子工业有限公司 | 一种Android应用开发的版本管理工具的实现方法 |
US20110111738A1 (en) * | 2009-11-12 | 2011-05-12 | Jones D Bryan | Multi-source compilation profiles for targeted content sourcing |
CN102081535A (zh) * | 2010-12-17 | 2011-06-01 | 东莞宇龙通信科技有限公司 | 基于Android的应用程序升级方法、系统及应用开发平台 |
-
2012
- 2012-09-12 CN CN201210336554.XA patent/CN103677877B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110111738A1 (en) * | 2009-11-12 | 2011-05-12 | Jones D Bryan | Multi-source compilation profiles for targeted content sourcing |
CN102081535A (zh) * | 2010-12-17 | 2011-06-01 | 东莞宇龙通信科技有限公司 | 基于Android的应用程序升级方法、系统及应用开发平台 |
CN102053836A (zh) * | 2010-12-31 | 2011-05-11 | 广东欧珀电子工业有限公司 | 一种Android应用开发的版本管理工具的实现方法 |
Non-Patent Citations (2)
Title |
---|
匿名: "Android动态加jar/dex", 《博客园网站》 * |
杨芮: "基于Struts2_Android的手机广告平台设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077160A (zh) * | 2014-05-12 | 2014-10-01 | 联动优势电子商务有限公司 | 一种升级安卓软件的方法、设备和系统 |
CN104077160B (zh) * | 2014-05-12 | 2018-04-03 | 联动优势电子商务有限公司 | 一种升级安卓软件的方法、设备和系统 |
CN105204879A (zh) * | 2014-06-23 | 2015-12-30 | 小米科技有限责任公司 | 应用程序更新方法及装置 |
CN104239054A (zh) * | 2014-09-12 | 2014-12-24 | 广州市久邦数码科技有限公司 | 一种基于安卓系统的插件加载方法及其系统 |
CN105630518A (zh) * | 2014-10-28 | 2016-06-01 | 北京娜迦信息科技发展有限公司 | Android应用软件资源更新的方法和装置 |
CN106528192A (zh) * | 2015-09-15 | 2017-03-22 | 阿里巴巴集团控股有限公司 | 一种业务逻辑更新方法和装置 |
CN105511907A (zh) * | 2015-11-26 | 2016-04-20 | 小米科技有限责任公司 | 应用程序升级方法、装置及系统 |
CN105511907B (zh) * | 2015-11-26 | 2020-03-17 | 小米科技有限责任公司 | 应用程序升级方法、装置及系统 |
CN105872842A (zh) * | 2015-12-30 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 一种多桌面独立升级方法及装置 |
CN107122200A (zh) * | 2016-02-25 | 2017-09-01 | 博雅网络游戏开发(深圳)有限公司 | 加载插件sdk的方法、系统及客户端 |
CN105825066B (zh) * | 2016-03-25 | 2019-04-19 | 东华软件股份公司 | 一种电子病历生成方法及装置 |
US20180373523A1 (en) * | 2016-05-07 | 2018-12-27 | Tencent Technology (Shenzhen) Company Limited | Application update method and apparatus |
US10871953B2 (en) * | 2016-05-07 | 2020-12-22 | Tencent Technology (Shenzhen) Company Limited | Application update method and apparatus |
CN106557348A (zh) * | 2016-11-25 | 2017-04-05 | 百度在线网络技术(北京)有限公司 | 视图展示方法和装置 |
CN106843978B (zh) * | 2017-01-23 | 2020-04-03 | 北京乐盟互动科技有限公司 | 一种sdk接入方法及系统 |
CN106843978A (zh) * | 2017-01-23 | 2017-06-13 | 北京乐盟互动科技有限公司 | 一种sdk接入方法及系统 |
CN108287726A (zh) * | 2017-03-03 | 2018-07-17 | 广州市动景计算机科技有限公司 | 扩展的更新检测方法、装置及服务终端 |
CN109144841A (zh) * | 2017-06-16 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 广告应用的识别方法和装置、计算机设备和存储介质 |
CN109144841B (zh) * | 2017-06-16 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 广告应用的识别方法和装置、计算机设备和存储介质 |
CN109240733A (zh) * | 2017-07-03 | 2019-01-18 | Tcl集团股份有限公司 | 一种基于安卓系统更新广告sdk的方法及终端 |
CN107402761A (zh) * | 2017-07-25 | 2017-11-28 | 青岛海信电器股份有限公司 | 应用修复方法及装置 |
CN107656750A (zh) * | 2017-10-16 | 2018-02-02 | 深圳大宇无限科技有限公司 | 插件更新方法及装置 |
CN107967424A (zh) * | 2017-11-02 | 2018-04-27 | 北京奇虎科技有限公司 | 一种插件的验证方法、装置、终端设备和存储介质 |
CN109933357A (zh) * | 2017-12-18 | 2019-06-25 | 优酷网络技术(北京)有限公司 | 应用程序升级方法及装置 |
CN109933357B (zh) * | 2017-12-18 | 2022-07-15 | 阿里巴巴(中国)有限公司 | 应用程序升级方法及装置 |
CN108366127A (zh) * | 2018-03-07 | 2018-08-03 | 北京奇艺世纪科技有限公司 | 一种软件包的获取方法及装置 |
CN109218393A (zh) * | 2018-07-24 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 一种推送的实现方法、装置、设备和计算机存储介质 |
CN109218393B (zh) * | 2018-07-24 | 2021-09-21 | 百度在线网络技术(北京)有限公司 | 一种推送的实现方法、装置、设备和计算机存储介质 |
CN108984199A (zh) * | 2018-08-01 | 2018-12-11 | 北京车联天下信息技术有限公司 | 应用功能更新方法、更新装置及电子设备 |
CN108984199B (zh) * | 2018-08-01 | 2021-06-04 | 无锡车联天下信息技术有限公司 | 应用功能更新方法、更新装置及电子设备 |
CN109002320B (zh) * | 2018-08-20 | 2021-07-06 | 思必驰科技股份有限公司 | 用于软件开发包的更新方法、系统、电子设备及存储介质 |
CN109002320A (zh) * | 2018-08-20 | 2018-12-14 | 苏州思必驰信息科技有限公司 | 用于软件开发包的更新方法、系统、电子设备及存储介质 |
CN109614133A (zh) * | 2018-12-11 | 2019-04-12 | 江苏电力信息技术有限公司 | 一种电力行业轻量级热发布移动应用的方法 |
WO2020181814A1 (zh) * | 2019-03-12 | 2020-09-17 | 平安普惠企业管理有限公司 | 应用程序升级方法、装置、终端及计算机可读存储介质 |
WO2020228033A1 (zh) * | 2019-05-16 | 2020-11-19 | 深圳市欢太科技有限公司 | Sdk插件的加载方法、装置、移动终端以及存储介质 |
CN113412468A (zh) * | 2019-05-16 | 2021-09-17 | 深圳市欢太科技有限公司 | Sdk插件的加载方法、装置、移动终端以及存储介质 |
CN110297671A (zh) * | 2019-05-22 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 客户端插件化实现方法、装置、计算机设备及存储介质 |
CN110673890A (zh) * | 2019-09-11 | 2020-01-10 | 天翼电子商务有限公司 | 插件调用方法、系统、介质及装置 |
CN110673890B (zh) * | 2019-09-11 | 2023-06-16 | 天翼电子商务有限公司 | 插件调用方法、系统、介质及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103677877B (zh) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677877A (zh) | 一种本地广告软件开发包升级的方法及装置 | |
CN102622241B (zh) | 一种软件升级方法及装置 | |
CN105786538B (zh) | 基于安卓系统的软件升级方法和装置 | |
CN110515673B (zh) | 插件化系统及其方法 | |
CN103701930A (zh) | 一种移动应用程序的实时更新方法及系统 | |
CN106201607A (zh) | 一种软件版本的升级方法及设备 | |
WO2019062635A1 (zh) | 升级方法和装置 | |
CN106648724B (zh) | 应用程序的热修复方法及终端 | |
CN105302563A (zh) | 移动应用服务的插件化方法及系统 | |
CN103491111A (zh) | 无线应用发布、实现方法与装置 | |
CN114077423A (zh) | 基于移动跨平台的机场app开发容器架构 | |
CN105653933A (zh) | 插件加载方法及装置 | |
KR101541112B1 (ko) | Fota 시스템 및 그 실행 방법 | |
CN104077160A (zh) | 一种升级安卓软件的方法、设备和系统 | |
CN105224874A (zh) | 基于中间件插件框架的插件安全控制方法及客户端 | |
CN104834541A (zh) | 功能模块挂载方法、挂载系统及更新挂载系统的方法 | |
CN112988169A (zh) | 应用安装方法、装置、终端设备、服务器及存储介质 | |
CN105320503A (zh) | 中间件插件框架设计系统及方法 | |
CN102708076A (zh) | 驱动程序填隙 | |
CN108322540A (zh) | 客制化数据导入方法、终端及计算机可读存储介质 | |
CN105786511A (zh) | 终端设备Web应用管理的实现方法 | |
CN104536752A (zh) | 自动生成apk的方法及装置 | |
CN113961226B (zh) | 一种软件开发工具包修复方法、终端、服务器及设备 | |
CN113645308B (zh) | 移动终端tcp通信、装置、设备及存储介质 | |
CN105242910A (zh) | 基于中间件插件框架的插件状态控制方法及客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |