一种RePlugin框架的应用系统和方法与流程

文档序号:32042793发布日期:2022-11-03 05:53阅读:263来源:国知局
一种RePlugin框架的应用系统和方法与流程
一种replugin框架的应用系统和方法
技术领域
1.本发明涉及iptv应用领域,具体而言,涉及一种在iptv环境下replugin框架的应用系统和方法。


背景技术:

2.多数iptv智能机顶盒采用android系统实现,启动机顶盒首先加载应用程序展示运营商的epg大厅,epg大厅由盒子运营商进行运营管理,例如国内三大运营商都有自己的iptv业务,也都有自己发行的机顶盒以及配套软件。对于运营商合作伙伴提供的应用则通过提供epg应用页面地址或独立apk安装包上架到应用市场进行分发,应用市场由运营商负责运营与管理。机顶盒中接入应用需要满足以下条件:需要一个应用大厅对合作方的各种应用程序进行管理,部分应用,如小游戏一般基于行业内独立的第三方游戏引擎(如cocos2dx)开发,使用电视盒子本地api进行渲染,由于epg能力受限,所以在应用封包的时候会采用apk的形式,因此不同厂商的每个应用会封包为一个独立的apk。而运营商一般不会将每个应用,特别是小游戏独立引入上架并独立计费。
3.为解决这个问题,在同类市场中将独立厂家的多个应用(小游戏)合并为一个apk包,通过软件授权的形式引入,启动时传递参数来实现加载不同的应用。但是对于电视盒子运营商来说,需要上架的apk数量越多,运营维护成本越高,而对于厂商来说,每款应用都是独立的一个apk,且无法联合多个厂商的应用打包为一个apk。对于用户来说,下载集成了多个应用的全量apk会浪费启动时间和机顶盒的存储空间。
4.因此,需要一种技术方案,在电视盒子端对各个小游戏、应用程序进行统一管理,提供下载、更新、启动、卸载服务,用户指定应用程序时,按需要下载和启动。


技术实现要素:

5.为实现上述目的,本技术提供了一种replugin框架的应用系统,运行于iptv局域网机顶盒端,包括应用清单展示模块和应用启动模块;
6.其中,应用清单展示模块通过replugin宿主加载应用内容,提供应用内容下载和安装入口;
7.应用启动模块通过replugin框架调用cocos2dx引擎启动应用;
8.其中,应用清单展示模块中的应用支持使用ark插件安装。
9.进一步的,应用启动模块包括:
10.apk插件准备单元:用于判断指定apk插件准备情况,包括版本是否有效的信息;
11.cocos2dx引擎启动单元:用于启动replugin宿主程序加载apk插件,运行cocos2dx引擎,以实现启动应用。
12.其中,应用启动模块还包括引擎适配单元,用于实现动态库匹配、加载类调整,用于解决cocos2dx引擎与replugin框架的启动兼容性问题。
13.引擎适配单元还用于实现显示兼容性调整和样式调整,用于解决cocos2dx引擎与
replugin框架的显示兼容性问题。
14.进一步的,应用清单展示模块内容通过服务器端的管理服务接口管理。
15.另一方面,本技术提供了一种replugin框架的应用方法,运行于iptv局域网机顶盒端,包括以下步骤:
16.通过replugin宿主加载应用清单,对选定应用提供下载和安装;
17.指定应用,通过replugin框架调用cocos2dx引擎启动所述应用;
18.其中,所述对选定应用提供下载和安装,支持使用apk插件安装。
19.进一步的,通过replugin框架调用cocos2dx引擎启动所述应用包括:
20.判断指定apk插件准备情况,包括版本是否有效的信息;
21.启动replugin宿主程序,加载apk插件,运行cocos2dx引擎,实现启动应用。
22.其中,通过replugin框架调用cocos2dx引擎启动应用前,执行replugin框架与cocos2dx引擎的启动适配调整,包括动态库匹配、加载类调整。
23.进一步的,执行replugin与cocos2dx引擎的启动适配调整完成后,还执行显示兼容性调整和样式调整,用于解决cocos2dx引擎与repluginapk的显示兼容性问题。
24.进一步的,应用清单内容通过服务器端的管理服务接口管理。
25.根据本发明提供的replugin框架的应用系统和方法,在iptv端运行一个replugin宿主程序,集成多家应用开发商的应用、小游戏的插件安装和启动,加强了运营商的集成管理,减轻了运营负担,解决replugin插件和cocos2dx引擎的兼容问题,也提升了用户体验。
附图说明
26.图1是根据本发明实施例提供的replugin框架应用系统结构图;
27.图2是根据本发明实施例提供的replugin框架应用系统应用场景结构图;
28.图3是根据本发明实施例提供的replugin框架应用方法流程图;
29.图4是根据本发明实施例提供的replugin框架应用方法中replugin与cocos2dx引擎的启动适配调整示意图;
30.图5是根据本发明实施例提供的replugin框架应用方法应用场景执行时序图。
具体实施方式
31.本技术中,对iptv系统中管理大量的应用程序,特别是基于电视盒子的小游戏,采用了基于replugin框架插件化的管理方案:通过replugin框架提供游戏大厅中对各种应用进行下载、更新、启动、卸载,其中应用可以通过插件的方式静默安装。
32.插件化技术源于免安装运行apk的目的,这个免安装的apk即定义为插件,如各种小游戏插件;支持插件的app应用定义为宿主,如replugin框架下的游戏大厅为replugin宿主。
33.通过replugin框架执行游戏插件的实现过程中,由于开发商、开发规范不同,replugin与cocos2dx的插件化不能兼容,在本技术中又提出了引擎适配的技术方案,使replugin框架能够支持cocos2dx引擎功能。
34.下面结合说明书附图对本发明的具体实现方式做一详细描述。
35.图1是本发明实施例中replugin框架的应用系统结构图,本系统在iptv局域网机
顶盒中运行,与运营服务商的管理平台交互,与各应用(如游戏)提供商交互。图2是本发明实施例应用在iptv游戏场景的结构图,如图1所示,本技术的replugin框架的应用系统包括以下模块:
36.p100应用清单展示模块:应用清单展示模块中的内容,是通过服务器端的管理服务接口管理确定的,例如iptv运营商在管理平台中确定在iptv游戏大厅中可运行的游戏名称、版本信息、有效期、用户权限等信息,在应用清单展示模块中加载当前该用户可展示的信息。
37.在图2中可见,本技术应用在iptv运营商提供的游戏大厅中,在电视机顶盒的lancher程序页面,可提供各种应用入口供用户选择进入;界面中包括游戏业务合作方开发的epg游戏大厅封套,用来展示提供的多种游戏情况以及提供游戏操作入口,并提供这些游戏的安装程序普通的下载链接,通过本技术的replugin框架,支持通过合作方apk跳板,使用插件的方式供用户下载和启动。
38.在本应用场景下的厂商单品游戏apk,通过replugin框架的gradle插件实现打包成apk形式,支持传统的纯android单品安装方式,也支持本技术中的ark插件安装。
39.因此,应用清单展示模块中包括p101:replugin宿主单元,即一个集成了replugin宿主来管理replugin游戏插件的纯apk应用,在iptv电视盒子运行。在本系统中,通过replugin宿主加载使用插件的方式下载的应用内容,即插件应用清单,在清单中提供各种应用内容的下载、安装、更新,启动等功能,在replugin框架下,应用清单展示模块中的应用支持使用apk插件安装,即不需要下载独立的apk安装包即可独立安装。
40.p110:应用启动模块:应用启动模块通过replugin框架调用cocos2dx引擎启动指定应用,例如指定的小游戏;
41.在应用启动模块中启动指定应用,需要模块中的以下单元支持:
42.p111:apk插件准备单元:用于判断指定apk插件准备情况,包括版本是否有效的信息;
43.在应用场景中,用户通过点击运营商epg大厅的游戏推荐位进入游戏,进入时携带游戏标识与游戏启动时的各种参数,合作方epg封套跳转到对应游戏的详情页面,再次点击启动时,需要判断电视盒子的运行环境是否可以启动,在apk插件准备单元中执行运行环境的判断和处理:
44.例如,为合作方epg封套与js api交互,判断合作方apk跳板应用是否安装或者判断是否需要升级,如果未安装或有新版本存在,则引导用户跳转到运营商应用市场后由用户选择下载或升级,如果已经安装并为最新版本则无需升级;
45.还可以通过replugin框架为宿主程序提供的相应api判断这个单品游戏插件apk是否存在,如果不存在或需要升级,则自动下载apk插件,下载完成以后进行安装。判断的方式包括比对插件的版本号,调用游戏厂商的服务器接口获取版本信息。
46.p112:cocos2dx引擎启动单元:用于启动replugin宿主程序加载apk插件,运行cocos2dx引擎,以实现启动应用。
47.在应用场景中,apk插件准备单元判断指定游戏的运行环境是否就绪,版本有效的情况下,replugin宿主程序加载游戏的apk插件并运行游戏引擎,用户正式进入游戏。
48.p113:引擎适配单元:用于实现动态库匹配、加载类调整,解决cocos2dx引擎与
replugin框架的启动兼容性问题,还用于进行显示兼容性调整和样式调整,解决cocos2dx引擎与replugin框架的显示兼容性问题。
49.replugin和cocos2dx属于不同厂家,应用范围和规范也不相同,因此在本技术中,提供引擎适配单元,对replugin和cocos2dx进行调整,以解决在实际开发和执行过程中遇到的问题,具体如图4所示:
50.s410:动态库匹配,避免在cocos2dx以插件运行时找不到动态库导致加载动态库异常,需要进行动态库匹配。
51.引擎适配单元确认和获取replugin动态库名,确认和更新cocos2dx中的动态库加载路径,例如修改cocos2dx的动态库加载部分的源码,直接加载动态库名。
52.s420:加载类调整,避免在运行过程中引用cocos2dx类失败:
53.cocos2dx的核心动态库中使用了android的context对象,且反调用context对象的getclassloader获取类加载器,调用动态库绘制渲染时传入了android的activity作为context对象;而replugin框架的核心为重写插件的dexclassloader,因此会产生找不到cocos2dxrenderer类的情况。
54.引擎适配单元可更新游戏启动首页的getclassloader方法获取插件的classloader并注入到cocos2dx动态库,替换cocos2dx动态库中的classloader变量。
55.如对应用程序主类org.cocos2dx.cpp.appactivity重载,代码如下:
[0056][0057][0058]
s430:实现显示兼容调整,特别是针对横竖屏的显示:
[0059]
replugin框架常用为手机端的android应用,因此默认采用了竖屏模式,而电视端机顶盒上的游戏应该采用的是横屏模式。
[0060]
引擎适配单元更新replugin编译gradle插件为默认横屏landscape,以解决乱屏问题。
[0061]
s440:样式调整,优化游戏插件启动过程界面:
[0062]
通常启动新的activity时,等待时间较长,因此产生黑屏现象。通常情况下,设置背景色透明解决等待过程中的黑屏界面,但是replugin框架采用了坑位的方式实现,对于appcompact不支持背景色透明配置。
[0063]
引擎适配单元更换activity父类,设置activity的主题背景全透明,实现过程中,
在插件apk的androidmanifest文件中进行声明后,此配置可被宿主apk读取并且生效。
[0064]
设置方法如下:
[0065]
《activity android:name=".touming1activity"android:theme=
[0066]“@android:style/theme.translucent.notitlebar.fullscreen”/》。
[0067]
与replugin框架的应用系统对应,本技术还提供了replugin框架的应用方法,本技术提出的应用方法在iptv局域网机顶盒端运行,可以应用于iptv游戏大厅中单品游戏分发的实现,应用方法步骤如图3所示,包括:
[0068]
步骤s310:通过replugin宿主加载应用清单,对选定应用提供下载和安装;
[0069]
应用清单内容通过服务器端的管理服务接口管理。
[0070]
其中,所述对选定应用提供下载和安装入口,支持使用apk插件安装。
[0071]
步骤s320:指定应用,通过replugin框架调用cocos2dx引擎启动所述应用;
[0072]
步骤s322:判断指定apk插件准备情况,包括版本是否有效的信息;
[0073]
步骤s323:启动replugin宿主程序,加载apk游戏插件,运行cocos2dx引擎,实现启动应用。
[0074]
通过replugin框架调用cocos2dx引擎启动所述应用前,执行步骤s321:replugin与cocos2dx引擎的启动适配调整,包括动态库匹配、加载类调整。
[0075]
执行replugin与cocos2dx引擎的启动适配调整完成后,还执行显示兼容性调整和样式调整,用于解决cocos2dx引擎与replugin框架的显示兼容性问题。
[0076]
本技术提供的应用方法,可以用于iptv游戏大厅中单品游戏分发,如图5所示:
[0077]
首先,涉及以下内容提供端:
[0078]
运营商epg大厅:电视机顶盒的lancher程序页面,可配置各种应用入口供用户选择进入;
[0079]
合作方epg封套:游戏业务合作方开发的epg游戏大厅封套,用来展示提供的多种游戏情况以及提供游戏操作入口;
[0080]
运营商应用市场:机顶盒运营商提供的应用市场,一般合作方的apk需要上架到应用市场才能提供给用户下载使用;
[0081]
合作方apk跳板:是一个集成了replugin宿主来管理replugin游戏插件的机顶盒应用纯apk,需要在应用市场上架;
[0082]
厂商游戏apk下载地址:厂商提供的自己游戏的apk下载地址,用于静默获取apk安装包;
[0083]
厂商单品游戏apk:某个厂商开发的具体单品游戏,通过replugin框架的gradle插件实现打包成apk形式,支持纯android单品安装和apk插件安装两种形态。
[0084]
通过本技术提供的方法,在电视机顶盒端执行,涉及运营商epg大厅和合作方epg封套。
[0085]
用户从运营商epg大厅启动某个游戏的具体流程如下:
[0086]
运营方所在服务器端的管理服务接口,管理epg大厅的游戏推荐内容,用户加载epg大厅时,启动本方法的步骤s310,通过replugin宿主加载应用清单,支持对选定应用提供下载和安装;
[0087]
用户通过点击运营商epg大厅的游戏推荐位进入游戏,进入时携带游戏标识与游
戏启动时的各种参数,合作方epg封套跳转到此游戏的详情页面,再次点击启动时,即触发步骤s320,准备启动该游戏;
[0088]
启动该游戏时,需要进行步骤s322,即判断指定apk插件或者应用的准备情况。由于基于replugin框架,应用打包的时候根据不同的编译选项可编译出合作方apk跳板应用以及具体某个游戏apk插件,同一个游戏apk可以以插件运行在合作方apk跳板中,也可以以单品直接运行在android系统中,因此本技术中可以支持apk应用准备判断也支持插件apk准备判断。
[0089]
apk应用准备判断指:合作方epg封套通过epg平台提供的js api判断合作方apk跳板应用是否安装、如果已经安装,版本是否有效,如果未安装或版本无效,则引导用户跳转到运营商应用市场后由用户选择下载或升级;插件apk准备判断指:根据宿主程序提供的相应api,判断这个单品游戏插件apk是否存在,如果不存在或需要升级,则自动下载apk插件,下载完成以后进行安装。
[0090]
准备完成后,则执行步骤s323:则直接进行apk应用或者apk插件的启动。本技术中支持由replugin宿主程序加载replugin游戏插件并运行cocos2dx游戏引擎,用户正式进入游戏。
[0091]
另一方面,replugin框架支持插件游戏的卸载,用户进入合作方epg封套的游戏详情页,通过传递参数调用合作方apk跳板,进而调用replugin宿主程序对apk游戏插件进行删除,从而释放机顶盒的内存空间。
[0092]
在本发明中,通过replugin框架进行游戏大厅(宿主)下载、更新、启动、卸载单个小游戏,实现基于iptv电视盒子的应用管理,实现游戏插件的apk静默安装,并解决replugin与cocos2dx的插件化集成的兼容。在开发方来说,可以将各种游戏和游戏管理功能模块化;运营方来说,无需进入第三方应用市场也可实现插件包控制独立分发控制;对于最终用户,不需要再三确认和认证,即可实现免下载启动,提升了用户体验。
[0093]
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1