CN108174302A - 一种直播应用中活动功能玩法的更新方法及装置 - Google Patents
一种直播应用中活动功能玩法的更新方法及装置 Download PDFInfo
- Publication number
- CN108174302A CN108174302A CN201611116584.4A CN201611116584A CN108174302A CN 108174302 A CN108174302 A CN 108174302A CN 201611116584 A CN201611116584 A CN 201611116584A CN 108174302 A CN108174302 A CN 108174302A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- playing method
- live streaming
- movable function
- function playing
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/475—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26291—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4431—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
- H04N21/4586—Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4782—Web browsing, e.g. WebTV
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种直播应用中活动功能玩法的更新方法及装置,通过获取活动功能玩法的配置文件,配置文件中包含了活动功能玩法所要执行的JS脚本文件;将JS脚本文件动态解析为直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处。本发明所提供的直播应用中活动功能玩法的更新方法及装置,可以将操控web浏览器内容的JS脚本变为可操控IOS或Android原始APP内容的JS脚本,因此可以使用JS脚本为应用***任意活动内容,可以在不发布新版本的情况下,为直播应用添加活动功能玩法或者随时修改活动功能玩法,为观看直播的用户提供了更多未知内容的可能,从而提升了用户的使用体验。
Description
技术领域
本发明涉及直播应用技术领域,特别是涉及一种直播应用中活动功能玩法的更新方法及装置。
背景技术
直播应用是指在智能手机或其他终端中提供图文、音视频实时传播功能的应用程序。在现在的直播应用中,运营人员为了让用户更加活跃,通常需要周期性上线一系列活动功能玩法。
活动功能玩法是指在某一个时段内才开启的功能玩法,它会给所有参与玩法的人员设置一个固定周期内需要达到的目标,目标达成后会获得一定的奖励及荣耀感,若超过活动规定的时间仍未达成目标,则功能关闭,不会得到任何奖励。例如,除夕抢红包活动玩法,只有在大年夜8:00-12:00才开启,官方运营人员会随机在直播应用中给所有人派送红包,收到红包后,玩家需要快速点击抢红包的功能界面,***会随机为抢到红包的玩家分配随机额度的金币,在活动的4个小时内,抢红包金额数最高的前三名玩家可以获得一部智能手机,这就是典型的活动功能玩法。又例如,***期间有为运动员加油点赞的活动,换季有衣物打折促销的活动。
现有直播应用中活动功能玩法的更新方法通常为,通过发布新的应用版本来增加新功能,但是并不是所有的用户都会在短时间内更新到新版本,甚至有些用户不愿升级。因此,如果到活动开始时,应用新版本覆盖率达不到运营预期的话,将会直接影响活动的运营效果。为了解决这个问题,业界传统的做法会在活动开始的前几个月将活动功能预埋到应用中去,接着用几个月的时间去增大新版本应用的覆盖率,但这种做法有个致命的缺陷,就是假如在活动开始的前一天甚至是活动已经开始了,才突然发现功能中有一个缺陷或设计不合理时,不能再进行修改或优化,这对公司的影响是致命的。
目前业界的主要做法是将活动功能以WEB浏览器的方式嵌入直播应用的某一个界面区域,然后通过动态更新这个区域内的网页来达到展示最新活动的方式,但这种方式需要提前预设一个区域,假如未来的活动玩法在这个区域中满足不了,则还是需要通过发新版本解决,这种不灵活对于直播应用的高时效性是不能接受的。
发明内容
本发明的目的是提供一种直播应用中活动功能玩法的更新方法及装置,以解决现有技术中活动功能玩法不灵活、达不到运营预期的问题。
为解决上述技术问题,本发明提供一种直播应用中活动功能玩法的更新方法,包括:
获取活动功能玩法的配置文件,所述配置文件中包含了活动功能玩法所要执行的JS脚本文件;
将所述JS脚本文件动态解析为所述直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处。
可选地,所述获取活动功能玩法的配置文件包括:
当所述直播应用运行时,获取服务器发送的配置文件;
将本地存储的配置文件的版本号与服务器中当前版本号进行比较;
在所述本地存储的配置文件的版本号与所述服务器中当前版本号不一致时,根据服务器中的所述配置文件,对本地存储的配置文件中的JS脚本作增量更新。
可选地,所述获取所述活动功能解析库中的配置文件包括:
当服务器中活动功能玩法的配置文件存在更新时,接收所述服务器发送的更新后的配置文件;
根据所述更新后的配置文件,对本地存储的配置文件中的JS脚本作增量更新。
可选地,在所述对本地存储的配置文件中的JS脚本作增量更新之后还包括:
通过与JS脚本的交接回调机制对所述直播应用的当前界面进行刷新。
可选地,所述服务器通过TCP网络发送所述配置文件。
可选地,在所述获取活动功能玩法的配置文件之后,在所述将所述JS脚本文件动态解析为所述直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处之前还包括:
对获取到的经过RSA公钥加密算法加密的JS脚本文件进行解密;
当解密通过后,执行后续操作。
可选地,在获取活动功能玩法的配置文件之后还包括:
当所述配置文件中更新参数指示为强制更新时,执行当前JS脚本。
本发明还提供了一种直播应用中活动功能玩法的更新装置,包括:
获取模块,用于获取活动功能玩法的配置文件,所述配置文件中包含了活动功能玩法所要执行的JS脚本文件;
解析模块,用于将所述JS脚本文件动态解析为所述直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处。
可选地,所述获取模块包括:
获取单元,用于当所述直播应用运行时,获取服务器发送的配置文件;
比较单元,用于将本地存储的配置文件的版本号与服务器中当前版本号进行比较;
更新单元,用于在所述本地存储的配置文件的版本号与所述服务器中当前版本号不一致时,根据服务器中的所述配置文件,对本地存储的配置文件中的JS脚本作增量更新。
可选地,所述获取模块包括:
接收单元,用于当服务器中活动功能玩法的配置文件存在更新时,接收所述服务器发送的更新后的配置文件;
实时更新单元,用于根据所述更新后的配置文件,对本地存储的配置文件中的JS脚本作增量更新。
本发明所提供的直播应用中活动功能玩法的更新方法及装置,通过获取活动功能玩法的配置文件,配置文件中包含了活动功能玩法所要执行的JS脚本文件;将JS脚本文件动态解析为直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处。本发明所提供的直播应用中活动功能玩法的更新方法及装置,可以将操控web浏览器内容的JS脚本变为可操控IOS或Android原始APP内容的JS脚本,因此可以使用JS脚本为应用***任意活动内容,可以在不发布新版本的情况下,为直播应用添加活动功能玩法或者随时修改活动功能玩法,为观看直播的用户提供了更多未知内容的可能,从而提升了用户的使用体验。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的直播应用中活动功能玩法的更新方法的一种具体实施方式的流程图;
图2为本发明实施例中获取活动功能玩法的配置文件的一种具体实施方式流程图;
图3为本发明实施例中获取活动功能玩法的配置文件的另一种具体实施方式流程图;
图4为本发明实施例所提供的Kite的结构示意图;
图5为本发明实施例所提供的Console脚本控制台解析和执行JS脚本的内部实现流程图;
图6为本发明实施例提供的直播应用中活动功能玩法的更新装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所提供的直播应用中活动功能玩法的更新方法的一种具体实施方式的流程图如图1所示,该方法包括:
步骤S101:获取活动功能玩法的配置文件,所述配置文件中包含了活动功能玩法所要执行的JS脚本文件;
步骤S102:将所述JS脚本文件动态解析为所述直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处。
需要指出的是,本申请可以将操控web浏览器内容的JS脚本变为可操控IOS或Android原始APP内容的JS脚本,因此可以做到不需要用户更新应用版本,以插件的方式即时更新活动功能,为直播应用添加活动功能玩法或者随时修改活动功能玩法,让所有版本的用户都可以立马参与到玩法中去,在活动过程中功能也可以灵活更改,并且能同时支持多个活动功能任意组合。
本申请所更新或添加的活动功能玩法可以通过JS脚本逻辑来控制,JS脚本文件可以在服务器实时动态更新。对活动功能玩法的配置文件进行更新的一种具体方式为在直播应用初始化运行时,获取服务器的配置文件进行更新。参照图2,具体过程可以包括:
步骤S201:当所述直播应用运行时,获取服务器发送的配置文件;
步骤S202:将本地存储的配置文件的版本号与服务器中当前版本号进行比较;
步骤S203:在所述本地存储的配置文件的版本号与所述服务器中当前版本号不一致时,根据服务器中的所述配置文件,对本地存储的配置文件中的JS脚本作增量更新。
该具体实施例公开了当应用程序运行时,由应用程序终端主动从服务器拉取配置文件,根据这些脚本文件动态解析成原生应用中将要展示的视图及视图逻辑,并渲染到界面上的对应位置。
如图3所示,对活动功能玩法的配置文件进行更新的另一种具体方式可以为:
步骤S301:当服务器中活动功能玩法的配置文件存在更新时,接收所述服务器发送的更新后的配置文件;
步骤S302:根据所述更新后的配置文件,对本地存储的配置文件中的JS脚本作增量更新。
本实施例中在步骤S302对本地存储的配置文件中的JS脚本作增量更新之后还包括:通过与JS脚本的交接回调机制对所述直播应用的当前界面进行刷新。
该具体实施例公开了在应用程序运行过程中,当服务器中的配置文件更新后,由服务器向应用程序端发送更新后的配置文件,应用程序终端在接收到更新后的脚本文件后,通过与脚本的交接回调机制立刻刷新界面,动态解析成原生应用中将要展示的视图及视图逻辑,并渲染到界面上的对应位置,做到实时更新。
在上述任一实施例的基础上,本发明所提供的直播应用中活动功能玩法的更新方法服务器通过TCP网络发送所述配置文件。
在获取活动功能玩法的配置文件之后还包括:
当所述配置文件中更新参数指示为强制更新时,执行当前JS脚本。
本发明所提供的直播应用中活动功能玩法的更新方法,通过获取活动功能玩法的配置文件,配置文件中包含了活动功能玩法所要执行的JS脚本文件;将JS脚本文件动态解析为直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处。本发明所提供的直播应用中活动功能玩法的更新方法,可以将操控web浏览器内容的JS脚本变为可操控IOS或Android原始APP内容的JS脚本,因此可以使用JS脚本为应用***任意活动内容,可以在不发布新版本的情况下,为直播应用添加活动功能玩法或者随时修改活动功能玩法,为观看直播的用户提供了更多未知内容的可能,从而提升了用户的使用体验。
本发明实施例在原生代码编程时不需要埋点任何视图,只需要将实现上述直播应用中活动功能玩法的更新方法的KiteCore活动功能解析库打包到安装包里去。然后当程序Runtime(运行阶段)时,KiteCore会主动去拉取一个Config文件里面包含了所有活动功能需要执行的JS脚本文件,接下,KiteCore会将这些脚本文件动态解析成原生应用中将要展示的视图及视图逻辑,并渲染到界面上的对应位置,这样不论要展示多少视图,在任何位置都可以通过JS脚本逻辑来控制,而JS脚本文件是可以在服务器实时动态更新的。
所有JS脚本都不会直接有网络数据的请求,其都通过KiteCore的一条Tcp网络连接得到最新数据,假如有消息变更,KiteCore也会立刻通过与脚本的交接回调机制立刻刷新界面,做到实时更新。
下面对本发明所提供的KiteCore的实现原理进行进一步详细阐述。
可以理解的是,本发明实施例中KiteCore的作用就是把原来只能操控WEB浏览器内容的JS脚本变成可以操控IOS或Android原生APP内容的JS脚本。
如图4所示,Kite具体由三层结构组成,由下而上依次为Kite版本更新策略、JS脚本解析控制台、与JS交互的API层。
其中,JSAPI层用于提供了给沙箱调用的API,可以执行一些原生应用的方法类,也可以调用WebView与原生应用通信的API。
Console层用于提供了解析JS脚本生命周期的控制台,也是沙箱的存放位置,里面封装了对JS脚本响应的核心逻辑。
VersionManager层用于做JS脚本版本控制的版本控制器,能在APP初始化时请求版本更新,并同步全网脚本内容,最后根据请求的配置文件决定是否强升。
VersionManager版本控制器的运作流程具体可以为:
在应用启动时,判断本地是否存在/kite/kiteConfig_complete及/kite/kiteConfig_1.2.0.json,如果存在则将KiteCore状态置为可用,并发出事件通知观察者,如果不存在将KiteCore状态置为不可用,并发出事件通知观察者,同时发起请求版本,返回后会取得{version:1.2.0}的json。在取得信息后,读出本地此文件/kite/kiteConfig_complete中的当前版本号,与网络获取json中的当前版本号相匹配。
拉取配置文件并保存到/kite/kiteConfig_1.2.0.json目录下,发起包完整性检查。将/kite/kiteConfig_1.2.0.json中的配置信息读取到内存,取出终端直播应用的版本号,遍历sprite中的数组。列出需要更新的JS脚本作增量更新。
VersionManager配置文件信息的过程可以具体为:配置文件一个JSON格式的数据类型,其会在程序启动时,或APP买点的某个位置发起更新,例如进入直播间时。
表层字段解析:
Updatelevel:1表示弱更新,2表示强更新,如果是强更APP会强制重新执行JS脚本。
Sprite:表示程序会自动运行的JS脚本数组。
Module:表示需要在后台验证后,远程激活的JS模块数组。module与sprite数组中的JS脚本配置信息时一致的,但module中运行的JS脚本能使用更高级的KiteAPI,安全级别也更高。
模块中的字段解析:
Id:是JS脚本的唯一id,与JS脚本的内容相互对应。
Version:JS脚本的当前版本,用来比对做增量更新。
Code:决定了JS脚本在哪些直播应用版本中可以生效,如果是“all”表示在任何版本都生效;如果是“3.11.0”表示在3.11.0这个版本才会生效,如果是“3.11.0.+”表示高于此才会生效;如果是“3.11.0.-”表示低于此才会生效。
Runid:决定了JS脚本在个id被运行,id会预先埋点在手Y中,如进入直播间时。
Extend:JS脚本的扩展字段,用来实现未知的扩展功能。
url:下载JS脚本所需要的网络地址。
Filetype:JS脚本的文件类型,“js”表示为单个纯JS文件,“zip”表示为多个文件外加一个JS主脚本文件的集合文件夹。
如图5所示,Console脚本控制台解析和执行JS脚本的内部实现可以具体为:
步骤S501:JS端调用某个KiteCore模块暴露出来的方法。
步骤S502:把上一步的调用分解为ModuleName、MethodName、arguments,再扔给MessageQueue处理。
在初始化时模块配置表上的每一个模块都生成了对应的remoteModule对象,对象里也生成了跟模块配置表里一一对应的方法,这些方法里可以拿到自身的模块名、方法名,并对callback进行一些处理,再移交给MessageQueue。具体实现在BatchedBridgeFactory.js的_createBridgedModule里,整个实现24行代码。
步骤S503:把JS的callback函数缓存在MessageQueue的一个成员变量里,用CallbackID代表callback。在通过保存在MessageQueue的模块配置表把上一步传进来的ModuleName和MethodName转为ModuleID和MethodID。
步骤S504:把得到的ModuleID、MethodId、CallbackID和其他参数argus传给KiteCore。
步骤S505:KiteCore接收到消息,通过模块配置表拿到对应的模块和方法。
实际上模块配置表已经经过处理了,跟JS一样,在初始化时KiteCore也对模块配置表上的每一个模块生成了对应的实例并缓存起来,模块上的每一个方法也都生成了对应的RCTModuleMethod对象,这里通过ModuleID和MethodID取到对应的Module实例和RCTModuleMethod实例进行调用。具体实现在_handleRequestNumber:moduleID:methodID:params:。
步骤S506:RCTModuleMethod对JS传过来的每一个参数进行处理。
RCTModuleMethod可以拿到KiteCore要调用的目标方法的每个参数类型,处理JS类型到目标类型的转换,所有JS传过来的数字都是NSNumber,这里会转成对应的int/long/double等类型,更重要的是会为block类型参数的生成一个block。
例如-(void)select:(int)index response:(RCTResponseSenderBlock)callback这个方法,拿到两个参数的类型为int,block,JS传过来的两个参数类型是NSNumber、NSString(CallbackID),这时会把NSNumber转为int,NSString(CallbackID)转为一个block,block的内容是把回调的值和CallbackID传回给JS。
这些参数组装完毕后,通过NSInvocation动态调用相应的KiteCore模块方法。
步骤S507:KiteCore模块方法调用完,执行block回调。
步骤S508:调用步骤S506说明的RCTModuleMethod生成的block。
步骤S509:block里带着CallbackID和block传过来的参数去调JS里MessageQueue的方法invokeCallbackAndReturnFlushedQueue。
步骤S510:MessageQueue通过CallbackID找到相应的JS callback方法。
步骤S511:调用callback方法,并把KiteCore带过来的参数一起传过去,完成回调。
整个流程可以简单概括为:JS函数调用转ModuleID/MethodID->callback转CallbackID->KiteCore根据ID拿到方法->处理参数->调用KiteCore方法->回调CallbackID->JS通过CallbackID拿到callback执行。
通过实现KiteCore三层结构的全部内容,可以使用JS脚本为应用***任意活动内容,这样就可以在不用发布新版本的情况下,为直播应用添加一个含Web视图的活动功能,当然也可以通过Kite-VersionManager随时修改它。
本发明实施例采用KiteCore可以灵活自由的通过JS脚本随时开启全新的活动玩法,几乎没有视图逻辑和数据逻辑的限制,但如果脚本一旦被恶意功能者篡改,这种强大可能会变成灾难,所以为了防止这种情况的发生,本发明实施例进一步增加了KiteCore的安全策略。首先,在网络传输中采用MD5_RSA效验的方式确保JS的唯一性,然后使用AES对下载到本地的JS脚本做执行前效验,确保本地脚本的唯一性。
具体地,本实施例在所述获取活动功能玩法的配置文件之后,在所述将所述JS脚本文件动态解析为所述直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处之前还包括:
对获取到的经过RSA公钥加密算法加密的JS脚本文件进行解密;
当解密通过后,执行后续操作。
下面对本发明实施例提供的直播应用中活动功能玩法的更新装置进行介绍,下文描述的直播应用中活动功能玩法的更新装置与上文描述的直播应用中活动功能玩法的更新方法可相互对应参照。
图6为本发明实施例提供的直播应用中活动功能玩法的更新装置的结构框图,参照图6直播应用中活动功能玩法的更新装置可以包括:
获取模块100,用于获取活动功能玩法的配置文件,所述配置文件中包含了活动功能玩法所要执行的JS脚本文件;
解析模块200,用于将所述JS脚本文件动态解析为所述直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处。
作为一种具体实施方式,本发明所提供的直播应用中活动功能玩法的更新装置中,所述获取模块包括:
获取单元,用于当所述直播应用运行时,获取服务器发送的配置文件;
比较单元,用于将本地存储的配置文件的版本号与服务器中当前版本号进行比较;
更新单元,用于在所述本地存储的配置文件的版本号与所述服务器中当前版本号不一致时,根据服务器中的所述配置文件,对本地存储的配置文件中的JS脚本作增量更新。
作为一种具体实施方式,本发明所提供的直播应用中活动功能玩法的更新装置中,所述获取模块包括:
接收单元,用于当服务器中活动功能玩法的配置文件存在更新时,接收所述服务器发送的更新后的配置文件;
实时更新单元,用于根据所述更新后的配置文件,对本地存储的配置文件中的JS脚本作增量更新。
本实施例的直播应用中活动功能玩法的更新装置用于实现前述的直播应用中活动功能玩法的更新方法,因此直播应用中活动功能玩法的更新装置中的具体实施方式可见前文中的直播应用中活动功能玩法的更新方法的实施例部分,例如,获取模块100,解析模块200,连分别用于实现上述直播应用中活动功能玩法的更新方法中步骤S101,S102,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
综上,本发明实施例在不用发布新版本的情况下,提供了时效性强并且可以灵活布局、支持实时响应变化的活动展示方案。在直播应用中可实现多人同步即时更新活动功能最新数据,为观看的直播的用户带来更多未知内容的可能和兴奋感。此外,还能够为公司运营战略抢占先机,并且不需要考虑当前应用是否能支持活动的形式多变,因为脚本的灵活性不用提前埋点即可创造任意新活动玩法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的直播应用中活动功能玩法的更新方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种直播应用中活动功能玩法的更新方法,其特征在于,包括:
获取活动功能玩法的配置文件,所述配置文件中包含了活动功能玩法所要执行的JS脚本文件;
将所述JS脚本文件动态解析为所述直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处。
2.如权利要求1所述的直播应用中活动功能玩法的更新方法,其特征在于,所述获取活动功能玩法的配置文件包括:
当所述直播应用运行时,获取服务器发送的配置文件;
将本地存储的配置文件的版本号与服务器中当前版本号进行比较;
在所述本地存储的配置文件的版本号与所述服务器中当前版本号不一致时,根据服务器中的所述配置文件,对本地存储的配置文件中的JS脚本作增量更新。
3.如权利要求1所述的直播应用中活动功能玩法的更新方法,其特征在于,所述获取所述活动功能解析库中的配置文件包括:
当服务器中活动功能玩法的配置文件存在更新时,接收所述服务器发送的更新后的配置文件;
根据所述更新后的配置文件,对本地存储的配置文件中的JS脚本作增量更新。
4.如权利要求3所述的直播应用中活动功能玩法的更新方法,其特征在于,在所述对本地存储的配置文件中的JS脚本作增量更新之后还包括:
通过与JS脚本的交接回调机制对所述直播应用的当前界面进行刷新。
5.如权利要求2至4任一项所述的直播应用中活动功能玩法的更新方法,其特征在于,所述服务器通过TCP网络发送所述配置文件。
6.如权利要求1至4任一项所述的直播应用中活动功能玩法的更新方法,其特征在于,在所述获取活动功能玩法的配置文件之后,在所述将所述JS脚本文件动态解析为所述直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处之前还包括:
对获取到的经过RSA公钥加密算法加密的JS脚本文件进行解密;
当解密通过后,执行后续操作。
7.如权利要求1至4任一项所述的直播应用中活动功能玩法的更新方法,其特征在于,在获取活动功能玩法的配置文件之后还包括:
当所述配置文件中更新参数指示为强制更新时,执行当前JS脚本。
8.一种直播应用中活动功能玩法的更新装置,其特征在于,包括:
获取模块,用于获取活动功能玩法的配置文件,所述配置文件中包含了活动功能玩法所要执行的JS脚本文件;
解析模块,用于将所述JS脚本文件动态解析为所述直播应用中展示的视图以及视图逻辑,并渲染到直播界面对应的原生视图位置处。
9.如权利要求8所述的直播应用中活动功能玩法的更新装置,其特征在于,所述获取模块包括:
获取单元,用于当所述直播应用运行时,获取服务器发送的配置文件;
比较单元,用于将本地存储的配置文件的版本号与服务器中当前版本号进行比较;
更新单元,用于在所述本地存储的配置文件的版本号与所述服务器中当前版本号不一致时,根据服务器中的所述配置文件,对本地存储的配置文件中的JS脚本作增量更新。
10.如权利要求8所述的直播应用中活动功能玩法的更新装置,其特征在于,所述获取模块包括:
接收单元,用于当服务器中活动功能玩法的配置文件存在更新时,接收所述服务器发送的更新后的配置文件;
实时更新单元,用于根据所述更新后的配置文件,对本地存储的配置文件中的JS脚本作增量更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611116584.4A CN108174302B (zh) | 2016-12-07 | 2016-12-07 | 一种直播应用中活动功能玩法的更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611116584.4A CN108174302B (zh) | 2016-12-07 | 2016-12-07 | 一种直播应用中活动功能玩法的更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108174302A true CN108174302A (zh) | 2018-06-15 |
CN108174302B CN108174302B (zh) | 2020-10-30 |
Family
ID=62526258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611116584.4A Active CN108174302B (zh) | 2016-12-07 | 2016-12-07 | 一种直播应用中活动功能玩法的更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108174302B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109618176A (zh) * | 2018-12-14 | 2019-04-12 | 广州虎牙信息科技有限公司 | 一种直播业务的处理方法、设备和存储介质 |
CN110020389A (zh) * | 2019-04-11 | 2019-07-16 | 广州市百果园信息技术有限公司 | 直播间显示页面的方法、装置、***、设备和存储介质 |
CN110347425A (zh) * | 2019-07-11 | 2019-10-18 | 广州虎牙科技有限公司 | 一种配置和使用模板页面的方法、装置、设备和存储介质 |
CN111045758A (zh) * | 2018-10-12 | 2020-04-21 | 北京密境和风科技有限公司 | 视图处理方法、装置、电子设备及计算机存储介质 |
CN111190657A (zh) * | 2020-01-07 | 2020-05-22 | 北京字节跳动网络技术有限公司 | 活动配置方法、装置、可读介质及电子设备 |
CN111273985A (zh) * | 2020-01-20 | 2020-06-12 | 北京无限光场科技有限公司 | 页面渲染方法、装置、电子设备及计算机可读存储介质 |
CN111479142A (zh) * | 2020-04-14 | 2020-07-31 | 深圳市鸿合创新信息技术有限责任公司 | 一种基于信息发布的节目内容更新方法和*** |
CN112163231A (zh) * | 2020-09-17 | 2021-01-01 | 北京一人一亩田网络科技有限公司 | iOS应用自动化打包预缓存数据的方法、装置、电子设备及计算机可读介质 |
CN113573081A (zh) * | 2021-07-16 | 2021-10-29 | 杭州时趣信息技术有限公司 | 直播间的玩法功能管理方法、***、电子设备及存储介质 |
CN113794891A (zh) * | 2021-07-30 | 2021-12-14 | 北京达佳互联信息技术有限公司 | 界面处理方法、电子设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020156688A1 (en) * | 2001-02-21 | 2002-10-24 | Michel Horn | Global electronic commerce system |
CN102567328A (zh) * | 2010-12-08 | 2012-07-11 | 腾讯科技(深圳)有限公司 | 增量更新的方法和装置 |
US20130174014A1 (en) * | 2012-01-03 | 2013-07-04 | Vistaprint Technologies Limited | Systems and methods for configuring a mobile-optimized website |
CN105354013A (zh) * | 2014-08-18 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 应用界面渲染方法及装置 |
CN105354014A (zh) * | 2014-08-18 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 应用界面渲染展示方法及装置 |
CN105487889A (zh) * | 2015-11-26 | 2016-04-13 | 小米科技有限责任公司 | 应用界面更新方法及装置 |
CN106126249A (zh) * | 2016-06-29 | 2016-11-16 | 武汉斗鱼网络科技有限公司 | 一种在前端实现行为、数据、视图联动的方法及*** |
-
2016
- 2016-12-07 CN CN201611116584.4A patent/CN108174302B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020156688A1 (en) * | 2001-02-21 | 2002-10-24 | Michel Horn | Global electronic commerce system |
CN102567328A (zh) * | 2010-12-08 | 2012-07-11 | 腾讯科技(深圳)有限公司 | 增量更新的方法和装置 |
US20130174014A1 (en) * | 2012-01-03 | 2013-07-04 | Vistaprint Technologies Limited | Systems and methods for configuring a mobile-optimized website |
CN105354013A (zh) * | 2014-08-18 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 应用界面渲染方法及装置 |
CN105354014A (zh) * | 2014-08-18 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 应用界面渲染展示方法及装置 |
CN105487889A (zh) * | 2015-11-26 | 2016-04-13 | 小米科技有限责任公司 | 应用界面更新方法及装置 |
CN106126249A (zh) * | 2016-06-29 | 2016-11-16 | 武汉斗鱼网络科技有限公司 | 一种在前端实现行为、数据、视图联动的方法及*** |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045758A (zh) * | 2018-10-12 | 2020-04-21 | 北京密境和风科技有限公司 | 视图处理方法、装置、电子设备及计算机存储介质 |
CN109618176A (zh) * | 2018-12-14 | 2019-04-12 | 广州虎牙信息科技有限公司 | 一种直播业务的处理方法、设备和存储介质 |
CN110020389A (zh) * | 2019-04-11 | 2019-07-16 | 广州市百果园信息技术有限公司 | 直播间显示页面的方法、装置、***、设备和存储介质 |
CN110347425A (zh) * | 2019-07-11 | 2019-10-18 | 广州虎牙科技有限公司 | 一种配置和使用模板页面的方法、装置、设备和存储介质 |
CN111190657A (zh) * | 2020-01-07 | 2020-05-22 | 北京字节跳动网络技术有限公司 | 活动配置方法、装置、可读介质及电子设备 |
CN111273985A (zh) * | 2020-01-20 | 2020-06-12 | 北京无限光场科技有限公司 | 页面渲染方法、装置、电子设备及计算机可读存储介质 |
CN111479142A (zh) * | 2020-04-14 | 2020-07-31 | 深圳市鸿合创新信息技术有限责任公司 | 一种基于信息发布的节目内容更新方法和*** |
CN112163231A (zh) * | 2020-09-17 | 2021-01-01 | 北京一人一亩田网络科技有限公司 | iOS应用自动化打包预缓存数据的方法、装置、电子设备及计算机可读介质 |
CN113573081A (zh) * | 2021-07-16 | 2021-10-29 | 杭州时趣信息技术有限公司 | 直播间的玩法功能管理方法、***、电子设备及存储介质 |
CN113573081B (zh) * | 2021-07-16 | 2024-01-26 | 杭州时趣信息技术有限公司 | 直播间的玩法功能管理方法、***、电子设备及存储介质 |
CN113794891A (zh) * | 2021-07-30 | 2021-12-14 | 北京达佳互联信息技术有限公司 | 界面处理方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108174302B (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108174302A (zh) | 一种直播应用中活动功能玩法的更新方法及装置 | |
US9451043B2 (en) | Remote virtualization of mobile apps | |
ES2922476T3 (es) | Editor de aplicaciones web interactivo | |
KR102230426B1 (ko) | 부가기능의 관리 | |
CN108259409A (zh) | 信息处理方法、终端及*** | |
CN103312761B (zh) | 用于优化可下载内容传输的***和方法 | |
CN103631587B (zh) | 一种软件安装包的定制方法和一种服务器 | |
JP2017056193A (ja) | ブロードキャスタを有するリモートレンダリングサーバ | |
CN109937575A (zh) | 中断经不可侵犯清单协议提供的流传输内容的***和方法 | |
CN107241428B (zh) | 一种在基于容器的共享虚拟主机中实现https的方法和装置 | |
CN104317648B (zh) | 一种监测广告的方法和装置 | |
CN102395123B (zh) | 管理服务器,以及移动终端的应用程序管理方法 | |
CN110602543A (zh) | 素材的显示方法和装置、存储介质及电子装置 | |
CN105516741A (zh) | 在直播间嵌入游戏的方法及装置 | |
CN106714920A (zh) | 对媒体内容的智能流传输 | |
CN107147806A (zh) | 应用资源提供方法、设备及*** | |
WO2016150390A1 (zh) | 界面处理方法、装置及*** | |
CN108174227A (zh) | 虚拟物品的显示方法、装置及存储介质 | |
CN105468402B (zh) | 用于提供启动应用的时段的方法和装置 | |
CN110191351A (zh) | 直播道具发放方法、可读存储介质及计算机设备 | |
US9471299B1 (en) | Updating code within an application | |
CN106790369A (zh) | 一种多媒体应用界面装扮方法及装置 | |
CN107817983A (zh) | 一种增强现实软件更新的方法及装置 | |
KR20070047592A (ko) | 개인 미디어 컨텐츠 서비스 방법 및 시스템 | |
CN103118122A (zh) | 一种用户生产内容的处理方法、装置和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210108 Address after: 510000 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd. Address before: 28th floor, block B1, Wanda Plaza, Nancun Town, Panyu District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |