CN111966275B - 程序试用方法、系统、装置、设备及介质 - Google Patents

程序试用方法、系统、装置、设备及介质 Download PDF

Info

Publication number
CN111966275B
CN111966275B CN202010968247.8A CN202010968247A CN111966275B CN 111966275 B CN111966275 B CN 111966275B CN 202010968247 A CN202010968247 A CN 202010968247A CN 111966275 B CN111966275 B CN 111966275B
Authority
CN
China
Prior art keywords
trial
program
image frame
sdk
cloud server
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.)
Active
Application number
CN202010968247.8A
Other languages
English (en)
Other versions
CN111966275A (zh
Inventor
许兆博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010968247.8A priority Critical patent/CN111966275B/zh
Publication of CN111966275A publication Critical patent/CN111966275A/zh
Application granted granted Critical
Publication of CN111966275B publication Critical patent/CN111966275B/zh
Priority to PCT/CN2021/117484 priority patent/WO2022057722A1/zh
Priority to US17/956,284 priority patent/US20230013601A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/13Digital output to plotter ; Cooperation and interconnection of the plotter with other functional units
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an MPEG-stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/61Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor using advertising information
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/69Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G06F3/1462Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay with means for detecting differences between the image stored in the host and the images displayed on the remote displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Abstract

本申请公开了一种程序试用方法、系统、装置、设备及介质,应用于云游戏领域。该方法包括:显示第一程序的用户界面;响应于在第一程序的运行过程中触发试用事件,在第一程序的用户界面上叠加显示第一试用图像帧序列中的试用图像帧,第一试用图像帧序列是试用第二程序的指定程序逻辑得到的试用图像帧,指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;响应于在试用图像帧上接收到操作事件,在第一程序的用户界面上叠加显示第二试用图像帧序列中的试用图像帧,第二试用图像帧序列是第二程序响应于操作事件得到的试用图像帧。该方法可以丰富程序的展示方式和展示内容。

Description

程序试用方法、系统、装置、设备及介质
技术领域
本申请涉及云游戏领域,特别涉及一种程序试用方法、系统、装置、设备及介质。
背景技术
为了引导用户下载程序,程序运营方会与其他应用程序的运营方合作,在其他应用程序中嵌入程序广告。用户通过观看广告中对程序的介绍或宣传内容,来了解程序,进而引导用户下载程序。
相关技术中,程序广告为文字介绍或宣传视频。以宣传视频为例,程序B的运营方会提前制作好程序宣传视频,将程序宣传视频提供给应用程序A,当用户在应用程序A中进行指定操作,或,触发指定事件时,其他应用程序会播放程序B的宣传视频。
通过宣传视频向用户展示程序,所能够展示的内容有限且单一。
发明内容
本申请实施例提供了一种程序试用方法、系统、装置、设备及介质,可以丰富程序的展示方式和展示内容。所述技术方案包括如下方案。
根据本申请的一方面,提供了一种程序试用方法,所述方法包括:
显示第一程序的用户界面;
响应于在所述第一程序的运行过程中触发试用事件,在所述第一程序的所述用户界面上叠加显示第一试用图像帧序列中的试用图像帧,所述第一试用图像帧序列是试用第二程序的指定程序逻辑得到的试用图像帧,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;
响应于在所述试用图像帧上接收到操作事件,在所述第一程序的所述用户界面上叠加显示第二试用图像帧序列中的试用图像帧,所述第二试用图像帧序列是所述第二程序响应于所述操作事件得到的试用图像帧。
根据本申请的另一个方面,提供了一种程序试用方法,所述方法包括:
接收试用SDK发送的试用请求,运行所述第二程序的指定程序逻辑得到第一试用图像帧序列,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;所述试用请求是所述试用SDK响应于第一程序在运行过程中发送的调用指令发送的,所述试用请求用于请求试用第二程序,所述第一程序和所述试用SDK运行在同一终端上;
向所述试用SDK发送所述第一试用图像帧序列,所述第一试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
接收所述试用SDK发送的操作事件,控制所述第二程序响应所述操作事件得到第二试用图像帧序列,所述操作事件是所述试用SDK在所述试用图像帧上接收到的;
向所述试用SDK发送所述第二试用图像帧序列,所述第二试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧。
在一个可选的实施例中,所述运行所述第二程序的指定程序逻辑得到第一试用图像帧序列,包括:
根据所述试用请求,确定所述指定程序逻辑的指引文件;
根据所述指引文件运行所述第二程序的所述指定程序逻辑得到所述第一试用图像帧序列。
在一个可选的实施例中,所述调用指令包括所述第一程序的程序标识,所述试用请求包括所述程序标识;
所述根据所述试用请求,确定所述指定程序逻辑的指引文件,包括:
根据所述试用请求中的所述程序标识确定所述第二程序和所述指定程序逻辑的所述指引文件的存储路径;
根据所述存储路径获取所述指定程序逻辑的所述指引文件。
在一个可选的实施例中,所述调用指令还包括所述第一程序试用渠道场景的渠道场景信息,所述试用请求还包括所述渠道场景信息;
所述根据所述试用请求,确定所述指定程序逻辑的指引文件,包括:
根据所述试用请求中的所述程序标识和所述渠道场景信息,确定所述第二程序和所述指定程序逻辑。
在一个可选的实施例中,所述调用指令还包括所述第一程序中存储的用户信息,所述试用请求还包括所述用户信息;
所述根据所述试用请求,确定所述指定程序逻辑的指引文件,包括:
根据所述试用请求中的所述程序标识和所述用户信息确定所述第二程序和所述指定程序逻辑。
在一个可选的实施例中,所述调用指令还包括所述第一程序的界面截图,所述试用请求还包括所述界面截图;
所述根据所述试用请求,确定所述指定程序逻辑的指引文件,包括:
识别所述界面截图得到识别结果;
根据所述识别结果和所述试用请求中的所述程序标识确定所述第二程序和所述指定程序逻辑。
在一个可选的实施例中,响应于所述第二程序是本地存档的程序,所述指引文件包括存档文件;
响应于所述第二程序是网络存档的程序,所述指引文件包括配置文件。
在一个可选的实施例中,所述方法还包括:
向所述试用SDK发送所述第二程序的程序简介信息,所述程序简介信息用于显示所述第二程序的演示图像帧。
在一个可选的实施例中,所述演示图像帧上显示有试用控件;
所述向所述试用SDK发送所述第一试用图像帧序列,包括:
响应于接收到视频获取请求,向所述试用SDK发送所述第一试用图像帧序列,所述视频获取请求是所述试用SDK响应于接收到所述试用控件上的触发操作发送的。
在一个可选的实施例中,所述方法还包括:
响应于在所述试用图像帧中检测到第一关键帧,控制所述第二程序响应所述第一关键帧对应的操作指令,所述操作指令用于完成所述第二程序中的指定操作,所述试用图像帧是所述第一试用图像帧序列或所述第二试用图像帧序列中的试用图像帧;
响应于在所述试用图像帧中检测到第二关键帧,获取所述第二关键帧对应的蒙层信息,在向所述试用SDK发送所述第二关键帧的同时向所述试用SDK发送所述蒙层信息,所述蒙层信息用于控制所述试用SDK在所述第二关键帧上显示自定义蒙层。
在一个可选的实施例中,所述方法还包括:
响应于接收到所述试用SDK发送的所述第二程序的下载请求,向所述试用SDK发送所述第二程序。
在一个可选的实施例中,所述方法还包括:
响应于接收到所述试用SDK发送的结束指令,停止运行所述第二程序。
在一个可选的实施例中,所述第一程序是游戏程序,所述调用指令是所述第一程序响应于触发第一试用事件发送的,所述第一试用事件包括:游戏角色阵亡、完成指定关卡、游戏暂停、请求获得指定道具、游戏角色胜利、请求进入指定关卡、指定道具数量为零、请求解锁指定游戏内容中的至少一种;
或,
所述第一程序是内容浏览程序,所述调用指令是所述第一程序响应于触发第二试用事件发送的,所述第二试用事件包括:浏览指定内容、浏览时长达到指定时长、请求解锁指定功能、请求浏览指定内容中的至少一种;
或,
所述第一程序是视频播放程序,所述调用指令是所述第一程序响应于触发第三试用事件发送的,所述第三试用事件包括:播放时长达到指定时长、播放指定视频、请求缩短广告时间、请求播放指定视频中的至少一种。
在一个可选的实施例中,所述方法还包括:
接收所述第二程序,生成所述第二程序的程序标识;
在目标板卡上安装所述第二程序;
生成所述第二程序的运行信息,所述运行信息包括服务器标识、安装所述第二程序的所述目标板卡的板卡标识、所述第二程序的程序标识中的至少一种。
在一个可选的实施例中,所述方法还包括:
配置所述第二程序的运营信息,所述运营信息包括所述第二程序的渲染分辨率、渠道场景信息、试用时长中的至少一种。
在一个可选的实施例中,所述方法还包括:
接收所述第二程序的指引信息,所述指引信息包括指引文件、关键帧检测逻辑中的至少一种;
生成所述第二程序的广告信息,所述广告信息包括广告类型、广告标识中的至少一种。
根据本申请的另一个方面,提供了一种程序试用系统,所述系统包括:试用SDK和云服务器;
所述试用SDK,用于响应于接收到第一程序在运行过程中发送的调用指令,向所述云服务器发送试用请求,所述试用请求用于请求试用第二程序,所述第一程序和所述试用SDK运行在同一终端上;
所述云服务器,用于接收所述试用请求,运行所述第二程序的指定程序逻辑得到第一试用图像帧序列,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;向所述试用SDK发送所述第一试用图像帧序列;
所述试用SDK,还用于接收所述第一试用图像帧序列,在所述第一程序的用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
所述试用SDK,还用于接收所述试用图像帧上的操作事件,向所述云服务器发送所述操作事件;
所述云服务器,还用于接收所述操作事件,控制所述第二程序响应所述操作事件得到第二试用图像帧序列;向所述试用SDK发送所述第二试用图像帧序列;
所述试用SDK,还用于接收所述第二试用图像帧序列,在所述第一程序的所述用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧。
在一个可选的实施例中,所述云服务器,还用于根据所述试用请求,获取所述指定程序逻辑的指引文件;根据所述指引文件运行所述第二程序的所述指定程序逻辑得到所述第一试用图像帧序列;向所述试用SDK发送所述第一试用图像帧序列。
在一个可选的实施例中,所述调用指令包括所述第一程序的程序标识,所述试用请求包括所述程序标识;
所述云服务器,还用于根据所述试用请求中的所述程序标识确定所述第二程序和所述指定程序逻辑;根据所述指定程序逻辑的所述指引文件的存储路径获取所述指引文件;根据所述第二程序的运行信息和所述指引文件运行所述第二程序的所述指定程序逻辑得到所述第一试用图像帧序列。
在一个可选的实施例中,所述调用指令还包括所述第一程序试用场景的渠道场景信息,所述试用请求还包括所述渠道场景信息;
所述云服务器,还用于根据所述试用请求中的所述程序标识和所述渠道场景信息,确定所述第二程序和所述指定程序逻辑。
在一个可选的实施例中,所述调用指令还包括所述第一程序中存储的用户信息,所述试用请求还包括所述用户信息;
所述云服务器,还用于根据所述试用请求中的所述程序标识和所述用户信息确定所述第二程序和所述指定程序逻辑。
在一个可选的实施例中,所述调用指令还包括所述第一程序的界面截图,所述试用请求还包括所述界面截图;
所述云服务器,还用于识别所述界面截图得到识别结果;根据所述识别结果和所述试用请求中的所述程序标识确定所述第二程序和所述指定程序逻辑。
在一个可选的实施例中,响应于所述第二程序是本地存档的程序,所述指引文件包括存档文件;
响应于所述第二程序是网络存档的程序,所述指引文件包括配置文件。
在一个可选的实施例中,所述云服务器,还用于向所述试用SDK发送所述第二程序的程序简介信息;
所述试用SDK,还用于接收所述程序简介信息,根据所述程序简介信息显示所述第二程序的演示图像帧。
在一个可选的实施例中,所述演示图像帧上显示有试用控件;
所述试用SDK,还用于响应于接收到所述试用控件上的触发操作,向所述云服务器发送图像帧获取请求;
所述云服务器,还用于响应于接收到所述图像帧获取请求,向所述试用SDK发送所述第一试用图像帧序列。
在一个可选的实施例中,所述云服务器,还用于:
响应于在所述试用图像帧中检测到第一关键帧,控制所述第二程序响应所述第一关键帧对应的操作指令,所述操作指令用于完成所述第二程序中的指定操作,所述试用图像帧是所述第一试用图像帧序列或所述第二试用图像帧序列中的试用图像帧;
响应于在所述试用图像帧中检测到第二关键帧,获取所述第二关键帧对应的蒙层信息,在向所述试用SDK发送所述第二关键帧的同时向所述试用SDK发送所述蒙层信息,所述蒙层信息用于控制所述试用SDK在所述第二关键帧上显示自定义蒙层。
在一个可选的实施例中,所述试用SDK,还用于在所述试用图像帧上显示第一下载蒙层,所述第一下载蒙层包括第一下载控件;
所述试用SDK,还用于响应于接收到所述第一下载控件上的触发操作,调用所述第一程序下载所述第二程序,或,向所述云服务器发送下载所述第二程序的下载请求,或,调用第三方程序下载所述第二程序。
在一个可选的实施例中,所述试用SDK,还用于:
计时所述第二程序的试用时间;响应于所述试用时间达到试用时长,向所述云服务器发送结束指令,结束试用进程;
或,
计时所述第二程序的试用时间;响应于所述试用时间达到试用时长,显示第二下载蒙层,所述第二下载蒙层包括第二下载控件和第一退出控件;响应于接收到所述第二下载控件或所述第一退出控件上的触发操作,向所述云服务器发送所述结束指令,结束所述试用进程;
或,
响应于显示第三关键帧,向所述云服务器发送所述结束指令,结束所述试用进程;
或,
响应于显示第三关键帧,显示所述第三关键帧对应的第三下载蒙层,所述第三下载蒙层包括第三下载控件和第二退出控件;响应于接收到所述第三下载控件或所述第二退出控件上的触发操作,向所述云服务器发送所述结束指令,结束所述试用进程;
所述云服务器,还用于响应于接收到所述结束指令,停止运行所述第二程序。
在一个可选的实施例中,所述第一程序是游戏程序,所述调用指令是所述第一程序响应于触发第一试用事件发送的,所述第一试用事件包括:游戏角色阵亡、完成指定关卡、游戏暂停、请求获得指定道具、游戏角色胜利,请求进入指定关卡中的至少一种;
或,
所述第一程序是内容浏览程序,所述调用指令是所述第一程序响应于触发第二试用事件发送的,所述第二试用事件包括:浏览指定内容、浏览时长达到指定时长、请求解锁指定功能、请求浏览指定内容中的至少一种;
或,
所述第一程序是视频播放程序,所述调用指令是所述第一程序响应于触发第三试用事件发送的,所述第三试用事件包括:播放时长达到指定时长、播放指定视频、请求缩短广告时间、请求播放指定视频中的至少一种。
在一个可选的实施例中,所述系统还包括管理后台;
所述管理后台,用于接收所述第二程序,生成所述第二程序的程序标识;
所述云服务器,还用于在目标板卡上安装所述第二程序;
所述管理后台,还用于生成所述第二程序的运行信息,所述运行信息包括服务器标识、安装所述第二程序的所述目标板卡的板卡标识、所述第二程序的程序标识中的至少一种。
在一个可选的实施例中,所述管理后台,还用于配置所述第二程序的运营信息,所述运营信息包括所述第二程序的渲染分辨率、渠道场景信息、试用时长中的至少一种。
在一个可选的实施例中,所述管理后台,还用于接收所述第二程序的指引信息,所述指引信息包括指引文件、关键帧检测逻辑中的至少一种;生成所述第二程序的广告信息,所述广告信息包括广告类型、广告标识中的至少一种。
根据本申请的另一个方面,提供了一种程序试用装置,所述装置包括:
第一接收模块,用于接收试用SDK发送的试用请求;
运行模块,用于运行所述第二程序的指定程序逻辑得到第一试用图像帧序列,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;所述试用请求是所述试用SDK响应于第一程序在运行过程中发送的调用指令发送的,所述试用请求用于请求试用第二程序,所述第一程序和所述试用SDK运行在同一终端上;
第一发送模块,用于向所述试用SDK发送所述第一试用图像帧序列,所述第一试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
所述第一接收模块,还用于接收所述试用SDK发送的操作事件;
所述运行模块,还用于控制所述第二程序响应所述操作事件得到第二试用图像帧序列,所述操作事件是所述试用SDK在所述试用图像帧上接收到的;
所述第一发送模块,还用于向所述试用SDK发送所述第二试用图像帧序列,所述第二试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧。
根据本申请的另一个方面,提供了一种程序试用装置,所述装置包括:
显示模块,用于显示第一程序的用户界面;
所述显示模块,还用于响应于在所述第一程序的运行过程中触发试用事件,在所述第一程序的所述用户界面上叠加显示第一试用图像帧序列中的试用图像帧,所述第一试用图像帧序列是试用第二程序的指定程序逻辑得到的试用图像帧,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;
交互模块,用于接收在所述试用图像帧上的操作事件;
所述显示模块,还用于响应于在所述试用图像帧上接收到操作事件,在所述第一程序的所述用户界面上叠加显示第二试用图像帧序列中的试用图像帧,所述第二试用图像帧序列是所述第二程序响应于所述操作事件得到的试用图像帧。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的程序试用方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的程序试用方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行以实现如上方面所述的程序试用方法。
本申请实施例提供的技术方案带来的有益效果至少包括如下效果。
通过程序试用的方式来向用户展示程序的一段指定程序逻辑,让用户试用程序的一种功能、一段进度或一个场景,从而使用户可以通过试用程序来直观了解程序。该方法基于云技术,在云服务器中运行试用程序的指定程序逻辑,由云服务器根据运行结果生成试用图像帧,将试用图像帧发送给终端。由终端上的试用SDK对试用图像帧进行解码并显示,从而使终端上无需安装试用程序就可以展示试用程序的画面。当终端接收到用户在试用画面上的操作时,由SDK将操作上传给云服务器,云服务器控制第二程序响应用户操作生成新的试用图像帧,使用户可以控制第二程序、试用第二程序。该方法可以使第一程序通过调用SDK的方式显示第二程序的试用画面,并对第二程序进行试用,相比于传统的视频广告,通过试用的范式来宣传第二程序,可以丰富第二程序的展示方式和展示内容,让用户切实体验到第二程序,且相较于传统的程序试用方式,该方法使终端无需下载安装第二程序,而是由云服务器运行第二程序并向终端传输运行得到的画面,减少了终端试用程序所需的成本,提高试用效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的计算机系统的框图;
图2是本申请另一个示例性实施例提供的计算机系统的框图;
图3是本申请另一个示例性实施例提供的计算机系统的框图;
图4是本申请另一个示例性实施例提供的程序试用方法的流程图;
图5是本申请另一个示例性实施例提供的程序试用方法的用户界面示意图;
图6是本申请另一个示例性实施例提供的程序试用方法的用户界面示意图;
图7是本申请另一个示例性实施例提供的程序试用方法的用户界面示意图;
图8是本申请另一个示例性实施例提供的程序试用方法的用户界面示意图;
图9是本申请另一个示例性实施例提供的程序试用方法的流程图;
图10是本申请另一个示例性实施例提供的程序试用方法的流程图;
图11是本申请另一个示例性实施例提供的程序试用方法的用户界面示意图;
图12是本申请另一个示例性实施例提供的程序试用方法的流程图;
图13是本申请另一个示例性实施例提供的程序试用方法的用户界面示意图;
图14是本申请另一个示例性实施例提供的程序试用方法的流程图;
图15是本申请另一个示例性实施例提供的程序试用方法的流程图;
图16是本申请另一个示例性实施例提供的程序试用方法的用户界面示意图;
图17是本申请另一个示例性实施例提供的程序试用方法的用户界面示意图;
图18是本申请另一个示例性实施例提供的程序试用方法的用户界面示意图;
图19是本申请另一个示例性实施例提供的程序试用方法的效果示意图;
图20是本申请另一个示例性实施例提供的程序试用方法的流程图;
图21是本申请另一个示例性实施例提供的程序试用装置的示意图;
图22是本申请另一个示例性实施例提供的程序试用装置的示意图;
图23是本申请一个示例性实施例提供的服务器的框图;
图24是本申请一个示例性实施例提供的终端的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行介绍。
云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
SDK(Software Development Kit,软件工具开发包)是软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发工具广义上指辅助开发某一类软件的相关文档、范例和工具的集合。软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口API(Application Programming Interface,应用编程接口)的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
UI(User Interface,用户界面)控件,在应用程序的用户界面上能够看见的任何可视控件或元素,比如,图片、输入框、文本框、按钮、标签等控件,其中一些UI控件响应用户的操作,比如,下载控件,被触发后可以下载第二程序。本申请实施例中涉及的UI控件,包括但不限于:下载控件、试用控件。
图1示出了本申请一个示例性实施例提供的计算机系统的结构示意图,该计算机系统包括终端120和云服务器140。
终端120与云服务器140之间通过有线或者无线网络相互连接。
终端120可以包括智能手机、笔记本电脑、台式电脑、平板电脑、智能音箱、智能机器人中的至少一种。
终端120包括显示器;显示器用于显示试用图像帧。
终端120包括第一存储器和第一处理器。第一存储器中存储有第一程序和试用SDK;上述第一程序和试用SDK被第一处理器调用执行以实现程序试用方法。示例性的,第一程序和试用SDK具有关联关系,第一程序在需要使用程序试用功能时,调用试用SDK来完成程序试用。示例性的,试用SDK嵌入在第一程序中。示例性的,第一程序和试用SDK在运行时分别运行在不同的进程中。第一存储器可以包括但不限于以下几种:随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除只读存储器(Erasable ProgrammableRead-Only Memory,EPROM)、以及电可擦除只读存储器(Electric Erasable ProgrammableRead-Only Memory,EEPROM)。
第一处理器可以是一个或者多个集成电路芯片组成。可选地,第一处理器可以是通用处理器,比如,中央处理器(Central Processing Unit,CPU)或者网络处理器(NetworkProcessor,NP)。可选地,第一处理器可以通过调用试用SDK实现本申请提供的程序试用方法。
云服务器140包括第二存储器和第二处理器。第二存储器中存储有第二程序,上述第二程序被第二处理器调用来实现本申请提供的程序试用方法。示例性的,第二存储器可以包括但不限于以下几种:RAM、ROM、PROM、EPROM、EEPROM。示例性的,第二处理器可以是通用处理器,比如,CPU或者NP。
云服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及云服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一种可选的实施例中,该计算机系统还包括管理后台,管理后台是一种计算机设备,例如,管理后台可以是台式电脑、智能手机、笔记本电脑、平板电脑、智能音箱、智能机器人中的至少一种。管理后台与云服务器140之间通过有线或者无线网络相互连接。管理后台用于管理云服务器,为云服务器配置相关参数,上传数据等。
示例性的,图2示出了本申请另一个示例性实施例提供的计算机系统的结构示意图,该计算机系统包括:终端120、云服务器140和管理后台150。其中,终端120上运行有第一程序160和试用SDK130,示例性的,第一程序160中嵌入有试用SDK130,第一程序160通过调用指令调用试用SDK130,从而通过试用SDK130与云服务器140进行数据交互。云服务器140上运行有第二程序。示例性的,终端120与云服务器140之间通过有线或者无线网络相互连接。云服务器140和管理后台150之间通过有线或者无线网络相互连接。
示例性的,在一种可选的实现方式中,云服务器140包括三个物理服务器:广告服务器、运行服务器和配置服务器,由三个物理服务器来实现本申请所提供的程序试用方法。示例性的,三个物理服务器可以共用一个数据库,也可以每个物理服务器设置有一个数据库。广告服务器和运行服务器之间通过有线或者无线网络相互连接,运行服务器和配置服务器之间通过有线或者无线网络相互连接,广告服务器和配置服务器之间通过有线或者无线网络相互连接。示例性的,管理后台与三个物理服务器之间通过有线或者无线网络相互连接。终端与广告服务器之间通过有线或者无线网络相互连接,终端与运行服务器之间通过有线或者无线网络相互连接。
当然,云服务器140的组成不限于上述举例的三个物理服务器,云服务器可以包括更多或更少的物理服务器,来实现本申请所提供的程序试用方法。
示例性的,给出一种云服务器和终端内的模块划分方式,图3示出了本申请另一个示例性实施例提供的计算机系统的结构示意图,该计算机系统包括:云服务器140和终端120。
其中,云服务器140中运行有第二程序,第二程序101利用图形库102通过GPU(Graphics Processing Unit,图形处理器)103在第一显示屏104上生成第二程序101的试用图像帧(程序画面)。然后对试用图像帧进行视频编码105生成视频数据,通过第一网络传输模块106将视频数据传输给终端120。终端120通过第二网络传输模块107接收服务器发送的视频数据,然后对接收到的视频数据进行视频解码108,将解码后得到的试用图像帧显示在第二显示屏109上。当终端120接收到试用图像帧上的点击事件121(操作事件)时,将点击事件121通过第二网络传输模块107发送给云服务器140。云服务器通过第一网络传输模块106接收点击事件121,然后将点击事件121输入第二程序101的图像库102,根据点击事件121生成OpenGL(Open Graphics Library,开放图形库)指令122,GPU103根据OpenGL指令122生成第二程序101的试用图像帧,再通过视频编码105和第一网络传输模块106,将新的试用图像帧传输给终端120进行显示,形成视频流。
示意性的,本申请提供的程序试用方法可用于程序试用、程序推广、程序广告等场景中。
示例性的,本申请所提供的实施例中,由试用SDK所执行的步骤还可以理解为由嵌入有试用SDK的第一程序来执行,或,理解为由终端来执行。
图4示出了本申请一个示例性实施例提供的程序试用方法的流程图。该方法可以由图1、图2或图3所示的计算机系统来执行。计算机系统包括:终端和云服务器,其中,终端上运行有第一程序和试用SDK。所述方法包括如下步骤。
步骤201,试用SDK接收第一程序在运行过程中发送的调用指令。
示例性的,第一程序和试用SDK运行在同一终端上,终端上运行有第一程序,当第一程序需要试用第二程序时,第一程序调用试用SDK,通过试用SDK与云服务器进行数据交互,获取第二程序的运行画面(试用图像帧)。示例性的,第一程序与试用SDK相关联,试用SDK嵌入在第一程序中,第一程序通过调用指令调用试用SDK。示例性的,试用SDK中提供有适用于多种操作系统的API,即,试用SDK可以嵌入到任意程序中为该程序提供程序试用功能。
示例性的,第一程序与试用SDK运行在不同的进程中,例如,第一程序运行在第一进程中,当第一程序需要试用第二程序时,第一程序发送调用指令,启动试用SDK,试用SDK运行在第二进程中,使试用SDK向云服务器发送试用请求。
示例性的,当该方法用于实现试用第二程序的广告时,第一程序是广告的宿主程序,试用SDK是广告SDK或试玩SDK,第二程序是广告程序。
示例性的,调用指令用于启动试用SDK,并通过试用SDK向云服务器发送试用请求。示例性的,调用指令中包括请求试用第二程序所需的相关信息,例如,调用指令中包括:第一程序的程序标识、第一程序的当前运行场景、广告标识、广告类型、第二程序的程序标识中的至少一种。
示例性的,调用指令是在第一程序中触发试用事件时,第一程序向试用SDK发送的。试用事件可以是发生在第一程序中的任意事件。示例性的,试用事件可以是用户进行了指定的触发操作,或,第一程序自动触发了指定事件。
例如,当第一程序是游戏程序时,试用事件包括第一试用事件,第一试用事件包括:游戏角色阵亡、完成指定关卡、游戏暂停、请求获得指定道具、游戏角色胜利、请求进入指定关卡、指定道具数量为零、请求解锁指定游戏内容、完成指定成就、击杀指定人物、做指定游戏任务、打开广告页面中的至少一种。例如,如图5所示,是一种益智类逃亡游戏的游戏界面301,当游戏角色死亡时,显示复活弹窗302,在复活弹窗中提供了两种复活游戏角色的方式,一种是:点击第一控件303,花费钻石(游戏币)来复活虚拟角色,一种是:点击第二控件304,试用第二程序来免费复活虚拟角色。示例性的,当用户点击第二控件304时,即为触发试用事件,第一程序(该益智类逃亡游戏)向试用SDK发送调用指令,启动试用SDK。
再如,当第一程序是内容浏览程序时,例如,新闻程序、资讯程序、阅读程序、社交程序、论坛程序、搜索引擎程序等,试用事件包括第二试用事,第二试用事件包括:浏览指定内容、浏览时长达到指定时长、请求解锁指定功能、请求浏览指定内容、请求屏蔽广告中的至少一种。例如,如图6所示,是一种搜索引擎程序的资讯页面305,当用户点击第三控件306来关闭页面上的广告时,弹出广告屏蔽页面307,广告屏蔽页面上提供了两种屏蔽广告的方式,一种是:触发第四控件308,开通该搜索引擎程序的会员来去除页面中的广告;一种是:触发第五控件309,试用第二程序来去除页面中的广告。示例性的,当用户点击第五控件309时,即为触发试用事件,第一程序(该搜索引擎程序)向试用SDK发送调用指令,启动试用SDK。
再如,当第一程序是视频播放程序时,试用事件包括第三试用事件,第三试用事件包括:播放时长达到指定时长、播放指定视频、请求缩短广告时间、请求播放指定视频中的至少一种。例如,如图7所示,是一种视频播放程序的视频播放界面310,当前视频是只有试用第二程序才能进行观看的视频,则当用户点击播放控件311时,即为触发试用事件,第一程序(该视频播放程序)向试用SDK发送调用指令,启动试用SDK。
步骤202,试用SDK向云服务器发送试用请求。
示例性的,试用SDK响应于接收到第一程序在运行过程中发送的调用指令,向云服务器发送试用请求,试用请求用于请求试用第二程序。
示例性的,试用请求是根据调用请求生成的,试用请求中的数据包括调用请求中的数据中的至少一个。例如,试用请求中的数据包括:第一程序的程序标识、第一程序的当前运行场景、广告标识、广告类型、第二程序的程序标识中的至少一种。
在一种可选的实施例中,终端向云服务器发送的数据包内包括进程标识,可以根据数据包内的进程标识,来确定该数据包是由试用SDK所在的进程向云服务器发送的。
步骤203,云服务器接收试用请求,运行第二程序的指定程序逻辑得到第一试用图像帧序列。
示例性的,云服务器中存储有试用信息,云服务器根据试用请求中所携带的数据确定需要试用的程序以及该程序的指定程序逻辑,进而运行程序得到试用图像帧。
示例性的,本实施例所提供的程序试用方法,可以让用户试用第二程序中的指定内容。指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种。示例性的,当第二程序的目标是完成某个事件时,该事件具有完成进度,用户可以从指定的进度开始进行该事件。例如,当第二程序是游戏程序时,指定进度可以是指定游戏进度,游戏进度即游戏内容的游玩进度,就像阅读一本小说一样,当进入游戏时进度是0%,当游玩通关时即表示游戏体验进度已达到100%。游戏的进度通常是有多线程和多分支的,比如角色等级是一项线程,满级时则等级的游戏进度是100%;角色的武器和装备是多种多样的,当收集完所有的装备时,则装备收集的进度是100%;因此,游戏进度可以是一个根据游玩时间、操作进展等综合因素确定的直观的感知结果。例如,第二程序可以是闯关游戏,闯关游戏提供有多个游戏关卡,云服务器运行第二程序的指定程序逻辑可以是:云服务器运行闯关游戏的第三关,让用户试玩闯关游戏的第三关。再如,当第二程序是图片处理软件时,指定进度可以是指定任务进度,例如,第二程序对图片的处理包括三个步骤:剪裁、美化和滤镜,则可以将美化作为指定任务进度,使用户跳过第一步的剪裁步骤,直接试用美化步骤。
此外,还可以指定第二程序的某个功能,让用户试用该功能。例如,第二程序是文档编辑程序,提供有Word编辑功能、Excel编辑功能、PowerPoint编辑功能,云服务器运行第二程序的指定程序逻辑可以是:云服务器运行文档编辑程序的Excel编辑功能,打开试用的Excel文档,让用户试用Excel编辑功能。
或,当第二程序是游戏程序时,部分游戏程序将游戏划分为不同的游戏场景、游戏模式或游戏地图,还可以通过指定场景,来让用户进入指定的游戏场景、游戏模式或游戏地图,来试用第二程序。即,指定场景包括指定游戏场景和指定游戏模式中的至少一种。例如,第二程序可以是角色扮演游戏(Role-Playing Game,RPG),在角色扮演游戏中用户可以控制游戏角色进入不同的游戏场景,例如,游戏场景包括:伊米高原、冰封森林、迷雾沼泽等,虚拟角色进入不同的游戏场景可以体验不同的游戏内容,例如,在部分游戏场景中游戏角色可以击杀野怪,在部分游戏场景中游戏角色可以采集物资,在部分游戏场景中游戏角色可以交易商品等等。云服务器运行第二程序的指定程序逻辑可以是:云服务器运行角色扮演游戏,控制游戏角色进入迷雾沼泽场景,让用户控制游戏角色在迷雾沼泽场景中活动。再如,第二程序可以是射击游戏,在射击游戏中提供有不同的游戏模式,例如,游戏模式包括:经典模式、战争模式、狙击模式、娱乐模式等等,不同的游戏模式具有不同的游戏玩法。云服务器运行第二程序的指定程序逻辑可以是:云服务器运行射击游戏,控制游戏角色进入经典模式的对局中,让用户试玩射击游戏的经典模式。
第一试用图像帧序列包括至少一个试用图像帧。试用图像帧是云服务器运行第二程序得到的第二程序的显示画面。云服务器顺序截取第二程序运行时的画面,得到试用图像帧序列,试用SDK顺序播放试用图像帧序列即可得到第二程序运行的视频。示例性的,每个试用图像帧都对应有时间戳,云服务器根据试用图像帧的时间戳顺序地向试用SDK发送试用图像帧序列。
步骤204,云服务器向试用SDK发送第一试用图像帧序列。
示例性的,云服务器在生成试用图像帧后,会实时地向试用SDK发送试用图像帧,形成视频流。
示例性的,云服务器会对第一试用图像帧序列进行视频编码,得到视频数据,向试用SDK发送该视频数据。试用SDK对视频数据进行视频解码即可获得第一试用图像帧序列。示例性的,云服务器进行视频编码的方式可以是将试用图像帧序列压缩成H.264格式。
步骤205,试用SDK接收第一试用图像帧序列,在第一程序的用户界面上叠加显示第一试用图像帧序列中的试用图像帧。
试用SDK在接收到第一试用图像帧序列后,将第一试用图像帧序列渲染至终端的显示屏上显示。示例性的,叠加显示是指:试用SDK的显示优先级高于第一程序的显示优先级,试用SDK的试用图像帧会显示在第一程序的用户界面的上层。示例性的,试用SDK的试用图像帧可以覆盖第一程序全部的用户界面,也可以覆盖第一程序的用户界面的一部分。示例性的,也可以通过调整试用图像帧的透明度,使用户可以透过试用图像帧看到第一程序的用户界面。例如,如图5所示,为一种第一程序的用户界面,在用户点击第二控件304后,如图8所示,显示第二程序的试用图像帧312,试用图像帧132秀按时在第一程序的用户界面的上层,且完全覆盖第一程序的用户界面。
步骤206,试用SDK接收试用图像帧上的操作事件。
示例性的,由于第二程序运行在云服务器,因此,试用SDK需要记录用户在终端上的触发操作,将触发操作发送给云服务器,由云服务器根据触发操作来控制第二程序运行。
示例性的,操作事件用于确定用户在试用图像帧上的触发操作。操作事件是根据用户的触发操作生成的。示例性的,试用SDK记录用户在试用图像帧上的操作,生成操作事件。试用SDK记录操作事件的方式可以是:周期性地记录用户触摸显示屏生成的触点的位置信息,例如,每隔0.01s记录一次触点的位置信息,生成操作事件。示例性的,试用SDK可以以平行于显示屏边框的方向为xy轴,以显示屏上的任意一点作为原点,建立直角坐标系,记录触点在直角坐标系上的位置坐标。
示例性的,试用SDK也可以对用户的触发操作进行识别,当用户的触发操作是有效操作时,将有效操作作为操作事件上传给云服务器。例如,试用SDK可以根据触点在一段时间内的运动轨迹,识别出点击操作、双击操作、滑动操作、拖动操作等有效操作。
例如,如图8所示,当用户点击试用图像帧上的技能控件313时,试用SDK根据用户的点击操作记录,用户点击的位置坐标,生成操作事件,向云服务器发送操作事件。
步骤207,试用SDK向云服务器发送操作事件。
步骤208,云服务器接收操作事件,控制第二程序响应操作事件得到第二试用图像帧序列。
云服务器在接收到操作事件后,根据操作事件生成对应的控制指令,根据控制指令来控制第二程序响应用户操作。示例性的,第二程序响应操作事件,第二程序的画面改变,得到第二试用图像帧序列。
第二试用图像帧序列包括至少一帧试用图像帧序列。第二试用图像帧序列所对应的时间戳晚于第一试用图像帧序列。
例如,如图8所示,云服务器接收到用户点击技能控件313的操作事件后,控制第二程序响应操作事件,第二程序响应操作事件控制虚拟角色使用技能,生成虚拟角色使用技能的画面,得到第二试用图像帧序列。
步骤209,云服务器向试用SDK发送第二试用图像帧序列。
步骤210,试用SDK接收第二试用图像帧序列,在第一程序的用户界面上叠加显示第二试用图像帧序列中的试用图像帧。
示例性的,云服务器实时将生成的试用图像帧发送给试用SDK,试用SDK实时显示试用图像帧,将运行在云服务器中的第二程序的画面,实时显示在终端上。
综上所述,本实施例提供的方法,通过程序试用的方式来向用户展示程序的一段指定程序逻辑,让用户试用程序的一种功能、一段进度或一个场景,从而使用户可以通过试用程序来直观了解程序。该方法基于云技术,在云服务器中运行试用程序的指定程序逻辑,由云服务器根据运行结果生成试用图像帧,将试用图像帧发送给终端。由终端上的试用SDK对试用图像帧进行解码并显示,从而使终端上无需安装试用程序就可以展示试用程序的画面。当终端接收到用户在试用画面上的操作时,由SDK将操作上传给云服务器,云服务器控制第二程序响应用户操作生成新的试用图像帧,使用户可以控制第二程序、试用第二程序。该方法可以使第一程序通过调用SDK的方式显示第二程序的试用画面,并对第二程序进行试用,相比于传统的视频广告,通过试用的范式来宣传第二程序,可以丰富第二程序的展示方式和展示内容,让用户切实体验到第二程序,且相较于传统的程序试用方式,该方法使终端无需下载安装第二程序,而是由云服务器运行第二程序并向终端传输运行得到的画面,减少了终端试用程序所需的成本,提高试用效率。
示例性的,利用试用SDK可以试用多种程序,云服务器根据试用请求来确定本次试用的程序。
图9示出了本申请一个示例性实施例提供的程序试用方法的流程图。该方法可以由图1、图2或图3所示的计算机系统来执行。计算机系统包括:终端和云服务器,其中,终端上运行有第一程序和试用SDK。基于图4所示的示例性实施例,步骤201之前还包括步骤401至步骤403,步骤203还包括步骤2031至步骤2032。
步骤401,终端显示第一程序的用户界面。
步骤402,终端触发试用事件。
示例性的,终端在第一程序的用户界面上触发试用事件,即,终端在第一程序中触发试用事件。
当第一程序是游戏程序,调用指令是第一程序响应于触发第一试用事件发送的,第一试用事件包括:游戏角色阵亡、完成指定关卡、游戏暂停、请求获得指定道具、游戏角色胜利、请求进入指定关卡、指定道具数量为零、请求解锁指定游戏内容中的至少一种;
当第一程序是内容浏览程序,调用指令是第一程序响应于触发第二试用事件发送的,第二试用事件包括:浏览指定内容、浏览时长达到指定时长、请求解锁指定功能、请求浏览指定内容中的至少一种;
当第一程序是视频播放程序,调用指令是第一程序响应于触发第三试用事件发送的,第三试用事件包括:播放时长达到指定时长、播放指定视频、请求缩短广告时间、请求播放指定视频中的至少一种。
步骤403,第一程序向试用SDK发送调用指令。
示例性的,调用指令中的数据用于通过试用SDK发送给云服务器,使云服务器根据这些数据确定本次试用的程序和指定程序逻辑。
步骤2031,云服务器根据试用请求,获取指定程序逻辑的指引文件。
示例性的,云服务器通过替换指引文件的方式来运行第二程序的指定程序逻辑。指引文件用于存储第二程序的运行进度,或,用于指定第二程序运行的功能。
以指引文件用于存储第二程序的运行进度为例,当第二程序是本地存档的程序时,指引文件包括存档文件;当第二程序是网络存档的程序时,指引文件包括配置文件。
示例性的,当第二程序是在网络上进行存档的程序时,云服务器通过替换程序的配置文件来运行指定程序逻辑。例如,第二程序的配置文件位于“Android\data\...... \Saved\Paks”文件夹,在配置第二程序的指定程序逻辑时,可以根据第二程序的特定内容/环境/玩法,生成指定某一程序逻辑的配置文件,例如,云服务器将生成的配置文件存储至指定位置,当云服务器需要运行该制定程序逻辑时,云服务器获取该配置文件,并将其添加到“Android\data\...... \Saved\Paks”文件夹中,然后启动第二程序激活配置文件所对应的程序逻辑。示例性的,云服务器也可以直接调用第二程序的服务器提供的API接口,直接激活指定程序逻辑,进入对应的进度、功能或场景中。
示例性的,当第二程序时本地存档的程序时,云服务器通过替换存档文件的方式来运行指定程序逻辑。例如,第二程序的存档文件位于“\data\data\peg-name\”文件夹,在配置第二程序的指定程序逻辑时,配置指定程序逻辑的存档文件,并存储该存档文件。当需要运行该指定程序逻辑时,云服务器获取该存档文件,将其存入“\data\data\peg-name\”文件夹替换掉原有的本地存档文件,然后运行第二程序,即可运行指定程序逻辑。
示例性的,云服务器中会对应的存储第二程序的相关信息,云服务器根据试用请求中的数据来对应地寻找本次试用的程序以及指定程序逻辑。
例如,调用指令包括第一程序的程序标识,试用请求包括程序标识;云服务器,还用于根据试用请求中的程序标识确定第二程序和指定程序逻辑;根据指定程序逻辑的指引文件的存储路径获取指引文件;根据第二程序的运行信息和指引文件运行第二程序的指定程序逻辑得到第一试用图像帧序列。
示例性的,云服务器中存储有试用程序投放信息,记录有宿主程序(第一程序)、试用程序(第二程序)、指定程序逻辑的对应关系。不同的宿主程序对应有不同的试用程序。第一程序在调用试用SDK时会向试用SDK发送第一程序的程序标识,然后试用SDK向云服务器发送的试用请求中也会携带该程序标识。云服务器在收到试用请求后,根据第一程序的程序标识,确定与第一程序对应的试用程序:第二程序,同时确定第二程序的指定程序逻辑,然后确定该指定程序逻辑所对应的指引文件的存储路径,进而获取指引文件,并将指引文件存入指定文件夹。然后运行第二程序,即可运行第二程序的指定程序逻辑。
再如,调用指令还包括第一程序试用场景的渠道场景信息,试用请求还包括渠道场景信息;云服务器,还用于根据试用请求中的程序标识和渠道场景信息,确定第二程序和指定程序逻辑。
示例性的,云服务器还会存储宿主程序的渠道场景信息,从宿主程序的不同渠道场景发起试用,会试用不同的试用程序,或,会试用同一试用程序的不同程序逻辑。例如,第一程序是闯关游戏,游戏角色在阵亡后用户可以通过试用第二程序来复活游戏角色,其中,第一关对应一个渠道场景信息(第一渠道场景标识),第二关对应一个渠道场景信息(第二渠道场景标识),游戏角色在第一关阵亡时发送的调用指令中包括第一渠道场景标识,试用请求中包括第一渠道场景标识,云服务器根据第一渠道场景标识确定第一程序的第二关对应的试用程序和指定程序逻辑,找到其对应的指引文件,进行指引文件的替换。
再如,调用指令还包括第一程序中存储的用户信息,试用请求还包括用户信息;云服务器,还用于根据试用请求中的程序标识和用户信息确定第二程序和指定程序逻辑。
示例性的,一个宿主程序可以对应多个试用程序,第一程序在调用试用SDK时,调用指令中会包含用户信息,试用SDK通过试用请求将用户信息发给云服务器,云服务器可以根据用户信息来从第一程序对应的多个试用程序中选出一个作为本次试用的试用程序,或,根据用户信息来从试用程序的多个程序逻辑中选出一个作为本次试用的指定程序逻辑。例如,用户信息中可以包含性别信息,当用户性别为男时,可以从多个试用程序中选出射击游戏或体育赛事程序作为本次试用的试用程序;当用户性别为女时,可以从多个试用程序中选出购物程序作为本次试用的试用程序,或,将益智游戏的换装关卡作为本次试用的指定程序逻辑。示例性的,用户信息使第一程序中存储的用户信息,例如,在第一程序中登录的用户帐号的用户信息。当第一程序中未登录用户信息时,也可以将用户在第一程序上的历史记录作为用户信息,例如,将用户浏览的网页作为用户信息。示例性的,用户信息可以包括:用户名、用户标识、性别、注册时间、历史记录、头像、年龄、兴趣、好友列表中的至少一种。示例性的,云服务器可以根据用户信息生成用户画像,根据用户画像从多个试用程序中选出本次试用的试用程序,或,从多个程序逻辑中选出本次试用的指定程序逻辑。示例性的,云服务器还可以存储该用户信息,当再次接收到该用户的试用请求时,将该用户历史试用的情况作为参考向该用户推荐试用程序。
再如,调用指令还包括第一程序的界面截图,试用请求还包括界面截图;云服务器,还用于识别界面截图得到识别结果;根据识别结果和试用请求中的程序标识确定第二程序和指定程序逻辑。
示例性的,第一程序还可以用户界面截图得到界面截图,向试用SDK发送界面截图,试用SDK通过试用请求向云服务器发送界面截图。云服务器对界面截图进行图像识别,得到识别结果,根据识别结果来确定本次试用的试用程序和指定程序逻辑。例如,当云服务器识别到界面截图中包括“胜利”字样,则将第二程序作为试用程序,当云服务器识别到界面截图中包括“失败”字样,则将第三程序作为试用程序。示例性的,云服务器也可以将界面截图与样板截图作对比,若界面截图与样本截图具有80%以上的像素点相同,则将样本截图对应的试用程序或程序逻辑作为本次试用的试用程序和指定程序逻辑。即,云服务器可以预先存储第一程序的几个样板截图,每个样板截图对应一个试用程序和指定程序逻辑,利用样板截图来识别第一程序当前所运行的场景,进而确定试用程序和指定程序逻辑。
步骤2032,云服务器根据指引文件运行第二程序的指定程序逻辑得到第一试用图像帧序列。
示例性的,云服务器将指引文件存入指定位置,然后运行第二程序,即可运行第二程序的指定程序逻辑。
示例性的,在试用SDK向云服务器发送试用请求后,云服务器会向试用SDK返回第二程序的程序简介信息,从而使试用SDK显示第二程序的演示图像帧。如图10所示,该方法还包括步骤501和步骤502,步骤601和步骤602。
步骤501,云服务器向试用SDK发送第二程序的程序简介信息。
程序简介信息用于显示第二程序的演示图像帧。示例性的,程序简介信息包括演示图像帧上可能会显示的第二程序的图标、名称、简介、图片、宣传语中的至少一种信息。示例性的,程序简介信息中还可以携带其他信息,例如,携带本次试用的试用程序的程序标识(第二程序的程序标识)、广告类型、试用时长中的至少一种。
示例性的,本实施例并不限制步骤501与步骤203的时序顺序,可以在步骤203之前执行步骤501至步骤602,也可以在之后。示例性的,步骤203和步骤501至步骤602是同步执行的步骤。示例性的,步骤501、步骤502、步骤601、步骤602在步骤202之后步骤204之前执行,示例性的,可以只执行步骤501和步骤502,也可以步骤501、步骤502、步骤601、步骤602都执行。
步骤502,试用SDK接收程序简介信息,根据程序简介信息显示第二程序的演示图像帧。
试用SDK响应于接收到云服务器发送的第二程序的程序简介信息,根据程序简介信息在第一程序的用户界面上叠加显示第二程序的演示图像帧。
示例性的,试用SDK在第一程序的用户界面之上叠加显示第二程序的演示图像帧。示例性的,演示图像帧是第二程序的简介图像,用于介绍第二程序。示例性的,演示图像帧是用户开始实际试用第二程序前,向用户展示的页面,该页面不属于第二程序的指定程序逻辑所对应的画面。通常演示图像帧上显示有第二程序的信息,例如,第二程序的图标、名称、宣传语、功能、玩法、操作演示等信息。在一种演示图像帧中,演示图像帧上设置有试用控件,当终端接收到试用控件上的触发操作时,开始试用第二程序,终端向云服务器发送试用图像帧获取请求,开始接收云服务器发送的试用图像帧序列在另一种演示图像帧中,演示图像帧上不设有试用控件,且演示图像帧上不设置有能够与用户进行交互的触发区域,用户只能观看演示图像帧,在此期间,当终端接收到云服务器发送的试用图像帧序列时,终端开始显示试用图像帧序列,开始试用第二程序。示例性的,演示图像帧是一帧画面,不具有连续的前后帧画面(演示图像帧上可能会有简单的动画,或,短视频,简单动画和短视频的前后帧不考虑),而试用图像帧是试用画面,试用图像帧序列可以组成试用视频,具有连续的前后帧画面。例如,如图11所示,给出了一种第二程序的演示图像帧,在演示图像帧314上显示有第二程序的图标315、第二程序的名称316以及第二程序的宣传语317。
示例性的,程序简介信息是提前配置好存储在云服务器中的,云服务器在接收到试用请求后,可以立即向试用SDK返回第二程序的程序简介信息,无需运行第二程序。即,在运行第二程序之前,云服务器就可以向试用SDK返回第二程序的程序简介信息。
步骤601,试用SDK接收试用控件上的触发操作。
示例性的,演示图像帧上显示有试用控件。试用控件用于向云服务器发送图像帧获取请求,从而使云服务器发送第二程序的试玩图像帧。
试用SDK响应于接收到试用控件上的触发操作,通过试用SDK向云服务器发送视频获取请求,视频获取请求用于请求获取第一试用图像帧序列。
例如,如图11所示,在演示图像帧上显示有试用控件318,当用户点击试用控件318时,试用SDK接收试用控件318上的触发操作(点击操作)。
步骤602,试用SDK向云服务器发送图像帧获取请求。
示例性的,云服务器在接收到试用SDK发送的图像帧获取请求后,开始向试用SDK发送试用图像帧(第一试用图像帧序列)。示例性的,演示图像帧上也可以不设置试用控件,云服务器生成第一试用图像帧序列就即时地向试用SDK发送第一试用图像帧序列。综上所述,本实施例提供的方法,通过在第一程序触发试用事件时,向试用SDK发送调用指令,试用SDK根据调用指令向云服务器发送试用请求,第一程序可以设置试用的触发条件,在多种触发条件下都可以调用试用SDK试用其他程序,适用于多种应用场景。
本实施例提供的方法,通过根据指定程序逻辑的指引文件,来运行第二程序的指定程序逻辑,可以通过更换指引文件来更滑指引程序逻辑,可以通过轻量级调整,随时更换广告中程序试用的进度/关卡/内容,极大降低广告投放试错成本。
本实施例提供的方法,云服务器根据试用请求中的数据,来确定本次试用的试用程序和指定程序逻辑,使一个宿主程序可以对应多个不同的试用程序,或,多个不同的程序逻辑,为程序提供了试用多个程序的可能。
示例性的,云服务器在运行第二程序的过程中,还会通过对试用图像帧进行关键帧检测,在检测到关键帧时执行指定操作。例如,云服务器可以在试用图像帧上添加蒙层,来显示文字、图片或控件。用户可以通过点击蒙层上的下载控件下载第二程序。
图12示出了本申请一个示例性实施例提供的程序试用方法的流程图。该方法可以由图1、图2或图3所示的计算机系统来执行。计算机系统包括:终端和云服务器,其中,终端上运行有第一程序和试用SDK。该方法包括以下步骤。
步骤801,云服务器运行第二程序,得到试用图像帧。
示例性的,云服务器在接收到试用SDK发送的试用请求后,运行第二程序,截取第二程序的界面截图得到试用图像帧。
步骤802,云服务器响应于在试用图像帧中检测到第一关键帧,控制第二程序响应第一关键帧对应的操作指令,操作指令用于完成第二程序中的指定操作,试用图像帧是第一试用图像帧序列或第二试用图像帧序列中的试用图像帧。
示例性的,在第二程序运行的某些时刻,云服务器需要自动操作第二程序进行相应操作,或,云服务器需要对该帧试用图像帧进行处理,以呈现新的画面给用户。因此,云服务器检测生成的试用图像帧,从中找到关键帧,根据关键帧的类型来做出相应的操作。
示例性的,服务器可以通过图像识别来找到关键帧,例如,根据指定的文字、图案、图形信息来识别关键帧,当试用图像帧中包括指定的文字、图案、图形、色块时,该帧试用图像帧即为关键帧。示例性的,服务器也可以通过调用图像识别模型来识别关键帧。
例如,云服务器在试用图像帧中监测第一关键帧,在监测到第一关键帧时,根据第一关键帧对应的操作指令控制第二程序完成指定操作。例如,第一关键帧是包含关键词“登录”的试用图像帧,当云服务器检测到第一关键帧时,自动控制第二程序登录指定的用户帐号。再如,云服务器根据关键帧来识别发送给试用SDK的第一帧试用图像帧,或,确定程序试用的结束时刻,或,调用指定接口,或,调用指定功能,或,自动进行触发操作,或,自动退出程序。
步骤803,云服务器响应于在试用图像帧中检测到第二关键帧,获取第二关键帧对应的蒙层信息,蒙层信息用于控制试用SDK在第二关键帧上显示自定义蒙层。
示例性的,云服务器还可以通过检测关键帧,在关键帧的图像上覆盖自定义蒙层,自定义蒙层上可以显示图片、文字、UI控件中的至少一种。
示例性的,蒙层上显示的内容可以自定义,例如,蒙层上的信息可以设置为引导用户下载第二程序的文字、图片和下载控件。示例性的,关键帧的识别逻辑和在关键帧上增加的蒙层信息可以通过管理后台来配置。
示例性的,自定义蒙层显示在试用关键帧的上层,即,自定义蒙层叠加显示在试用关键帧上。
示例性的,蒙层信息包括:蒙层上显示的内容(文字、图片、UI控件)、蒙层显示在试用图像帧上的位置、蒙层显示的时长、蒙层对应的关键帧等中的至少一种信息。
步骤804,云服务器在向试用SDK发送第二关键帧的同时向试用SDK发送蒙层信息。
示例性的,在检测到第二关键帧后,云服务器在发送第二关键帧时,将第二关键帧对应的蒙层信息一起打包发送给试用SDK,使试用SDK在显示第二关键帧时,根据蒙层信息在第二关键帧上显示自定义蒙层。
示例性的,终端通过试用SDK接收云服务器发送的第二关键帧和蒙层信息,第二关键帧与蒙层信息相对应;响应于显示第二关键帧,根据蒙层信息在第二关键帧上显示自定义蒙层。自定义蒙层是显示在试用图像帧上的图层,自定义蒙层局部遮挡试用图像帧,或,全部遮挡试用图像帧。示例性的,云服务器发送给试用SDK的数据包中包括了第二关键帧和蒙层信息,其中,蒙层信息对应有时间戳,该时间戳与第二关键帧的时间戳相同。示例性的,自定义蒙层包括但不限于如下实施例中所提供的第一下载蒙层、第二下载蒙层。
例如,如图8所示,在试用图像帧上(第二关键帧)上显示有自定义蒙层319,自定义蒙层319上显示有第二程序的图标、第二程序的名称和第二程序的下载控件320。
步骤901,试用SDK在试用图像帧上显示第一下载蒙层,第一下载蒙层包括第一下载控件。
在一个实施例中,试用图像帧上显示有第一下载蒙层,第一下载蒙层是一种自定义蒙层,该蒙层上包括第一下载控件,第一下载控件用于下载第二程序。
步骤902,试用SDK响应于接收到第一下载控件上的触发操作,下载第二程序。
示例性的,终端响应于接收到第一下载控件上的触发操作,通过试用SDK调用第一程序下载第二程序,或,向云服务器发送下载第二程序的下载请求,或,调用第三方程序下载第二程序。
示例性的,当终端接收到第一下载控件上的触发操作时。可以通过试用SDK向云服务器发送下载第二程序的请求,也可以通过试用SDK调用第一程序的下载组件来下载第二程序,还可以通过试用SDK调用第三方程序下载第二程序,第三方程序是能够下载第二程序的程序,例如,第三方程序可以是应用商店、浏览器等。示例性的,终端也可以通过试用SDK向云服务器发送下载第二程序的下载请求,然后由云服务器将下载请求转发给第二程序的服务器,第二程序的服务器向云服务器提供第二程序的下载数据,然后云服务器将下载数据传送回试用SDK。
示例性的,在一种可选的实施例中,当用户点击下载控件下载第二程序时,本次试用结束,终端会退出试用SDK。
步骤1001,试用SDK响应于满足试用结束条件。
示例性的,本实施例提供的试用结束条件包括如下条件中的至少一种:1、当试用时间达到试用时长时,试用结束;2、当试用时间达到试用时长时,显示第二下载蒙层,当用户点击下载或退出时,试用结束;3、当检测到关键帧时,试用结束;4,当检测到关键帧时,显示第三下载蒙层,当用户点击下载或退出时,试用结束。
示例性的,试用SDK计时第二程序的试用时间;响应于试用时间达到试用时长,向云服务器发送结束指令,结束试用进程;或,计时第二程序的试用时间,响应于试用时间达到试用时长,显示第二下载蒙层,第二下载蒙层包括第二下载控件和第一退出控件;响应于接收到第二下载控件或第一退出控件上的触发操作,向云服务器发送结束指令,结束试用进程。
例如,试用时长是60s,即用户试用第二程序60s后,终端会自动退出试用,试用SDK向云服务器发送结束指令,并停止试用SDK进程。再如,在用户试用60s后,在试用图像帧上显示第二下载蒙层,用户可以通过触发下载控件或退出控件来退出试用。例如,如图13所示,在试用图像帧上显示第二下载蒙层321,第二下载蒙层321上有下载控件322和退出控件323,用户可以通过触发下载控件322来下载第二程序并退出试用,也可以通过触发退出控件323来退出试用。
示例性的,响应于显示第三关键帧,向云服务器发送结束指令,结束试用进程;或,响应于显示第三关键帧,显示第三关键帧对应的第三下载蒙层,第三下载蒙层包括第三下载控件和第二退出控件;响应于接收到第三下载控件或第二退出控件上的触发操作,向云服务器发送结束指令,结束试用进程。
示例性的,当云服务器检测到第三关键帧时,在向试用SDK发送第三关键帧的同时会下发一个结束指令,试用SDK在接收到结束指令时,在第三关键帧处停止试用进程。
云服务器响应于接收到结束指令,停止运行第二程序。
示例性的。试用SDK在停止试用进程时,还会向第一程序发送试用信息,试用信息包括本次试用的时间、是否下载第二程序等,第一程序可以根据试用信息对用户进行奖励,例如,复活游戏角色、解锁道具、解锁关卡等。
示例性的,终端计时第二程序的试用时间;响应于试用时间达到试用时长,结束试用进程;或,计时第二程序的试用时间,响应于试用时间达到试用时长,显示第二下载蒙层,第二下载蒙层包括第二下载控件和第一退出控件;响应于接收到第二下载控件或第一退出控件上的触发操作,结束试用进程。
示例性的,终端还可以响应于显示第三关键帧,结束试用进程;或,响应于显示第三关键帧,显示第三关键帧对应的第三下载蒙层,第三下载蒙层包括第三下载控件和第二退出控件;响应于接收到第三下载控件或第二退出控件上的触发操作,结束试用进程。
步骤1002,试用SDK向云服务器发送结束指令。
步骤1003,云服务器响应于接收到结束指令,停止运行第二程序。
步骤1004,终端退出试用SDK,拉起第一程序。
示例性的,终端退出试用SDK后,可以自动拉起第一程序,使用户自动返回第一程序,继续浏览第一程序。
综上所述,本实施例提供的方法,通过检测关键帧,来控制第二程序自动进行某些操作,从而实现自动进行第二程序中的某些步骤,例如,登录帐号等,减少用户操作,提高试用效率。通过检测关键帧,在关键帧上增加显示蒙层,从而可以快捷生成宣传信息,使用户通过观看蒙层上的信息,来快速了解第二程序,通过在蒙层上设置下载控件来使用户可以快捷下载第二程序。
示例性的,程序试用系统还包括管理后台,管理后台用于管理云服务器中的数据。
图14示出了本申请一个示例性实施例提供的程序试用方法的流程图。该方法可以由图1、图2或图3所示的计算机系统来执行。计算机系统包括:终端和云服务器,其中,终端上运行有第一程序和试用SDK。该方法包括以下步骤。
步骤1101,管理后台接收第二程序,生成第二程序的程序标识。
示例性的,管理后台与云服务器相连,用于管理云服务器中的信息。
示例性的,当需要增加试用程序时,用户通过管理后台上传第二程序,管理后台自动生成第二程序的程序标识。示例性的,管理后台将第二程序的安装包存至云服务器。
步骤1102,管理后台向云服务器发送安装指令。
步骤1103,云服务器在目标板卡上安装第二程序。
云服务器中实际运行程序的设备称为板卡,其作用等同于计算机主板。程序在云服务器板卡中启动、运行,并通过云服务器将渲染完毕后的试用图像帧经过视频编码后通过网络传送给试用SDK。每一台云服务器包含多个板卡,每个板卡每次负责处理一个程序,单个板卡称之为一个板卡节点,每个板卡对应一个板卡标识。
步骤1104,管理后台生成第二程序的运行信息。
示例性的,管理后台根据第二程序在云服务器上的安装情况生成第二程序的运行信息。
运行信息包括服务器标识、安装所述第二程序的所述目标板卡的板卡标识、所述第二程序的程序标识中的至少一种。其中,服务器标识是云服务器的标识。
步骤1105,管理后台配置第二程序的运营信息。
运营信息包括所述第二程序的渲染分辨率、第一程序的程序标识、渠道场景信息、试用时长中的至少一种。示例性的,渠道场景信息是第二程序所对应的宿主程序的渠道场景信息。
步骤1106,管理后台接收第二程序的指引信息,生成第二程序的广告信息。
指引信息包括指引文件、关键帧检测逻辑、蒙层信息中的至少一种。广告信息包括广告类型、广告标识中的至少一种。
示例性的,广告类型包括激励广告和试玩广告。激励广告是指移动游戏内的使用免费游戏道具或游戏货币等激励手段,吸引用户主动点击并完整观看广告、进而引导用户进行广告转化的一种广告形式。如游戏提示用户完整观看广告后即可复活游戏角色、翻倍领取奖励、免费获取游戏道具等,其广告入口根据游戏内容不同,可以定制分布于游戏各个环节场景中。试玩广告是以体验程序为基础方式,在移动游戏中嵌入的广告形式,用户在移动游戏中通过主动/被动触发广告,并在广告界面内通过云技术直接试用程序内容,最终进行注册、下载或其他转化行为。
综上所述,本实施例提供的方法,通过设置管理后台,由管理后台来管理云服务器中各个宿主程序和试用程序的数据,进行试用程序的增加、宿主程序与试用程序的关联,试用程序的试用方式配置等,实现对云服务器的快捷管理,简化云服务器的运维方式。
图15示出了本申请一个示例性实施例提供的程序试用方法的流程图。该方法可以由图1、图2或图3所示的计算机系统中的终端来执行。该方法包括以下步骤。
步骤1301,显示第一程序的用户界面。
例如,如图16中的(1)所示,是一种第一程序的用户界面1901,第一程序是搜索引擎程序,用户界面1901是搜索引擎程序的资讯浏览页面。
步骤1302,响应于在第一程序的运行过程中触发试用事件,在第一程序的用户界面上叠加显示第一试用图像帧序列中的试用图像帧,第一试用图像帧序列是试用第二程序的指定程序逻辑得到的试用图像帧,指定程序逻辑包括指定进度、指定功能和指定场景中的至少一种。
例如,如图16中的(1)所示,在第一程序的用户界面1801中有关闭页面广告的关闭控件1902,用户可以通过试用第二程序来关闭页面中的广告。用户点击关闭控件1902即为触发试用事件,当用户点击关闭控件1902,如图16中的(2)所示,在第一程序的用户界面1801上叠加显示第二程序的第一试用图像帧1903,其中,第一试用图像帧1903完全覆盖用户界面1801。第二程序是射击游戏,指定程序逻辑是射击游戏的战斗场景,即,第一试用图像帧是用户试玩射击游戏的战斗场景的画面。
步骤1303,响应于在试用图像帧上接收到操作事件,在第一程序的用户界面上叠加显示第二试用图像帧序列中的试用图像帧,第二试用图像帧序列是第二程序响应于操作事件得到的试用图像帧。
例如,如图16中的(2)所示,当用户点击第一试用图像帧1903上的换位控件1904时,显示如图16中的(3)所示的第二试用图像帧1905,第二试用图像帧1905显示了游戏角色从驾驶位置换到车顶位置的画面。
示例性的,如图16中的(3)所示,当云服务器检测到第二试用图像帧中存在文字“失败”时,确定本次试玩结束,在向终端发送试用图像帧的同时会发送试玩结束指令,终端根据试玩结束指令结束本次试玩,显示如图16中的(4)所示的资讯页面1907,此时资讯页面1907上已经去除了广告内容,用户通过试玩第二程序成功去除了第一程序的资讯页面中的广告。
综上所述,本实施例提供的方法,通过程序试用的方式来向用户展示程序的一段指定程序逻辑,让用户试用程序的一种功能、一段进度或一个场景,从而使用户可以通过试用程序来直观了解程序。该方法基于云技术,在云服务器中运行试用程序的指定程序逻辑,由云服务器根据运行结果生成试用图像帧,将试用图像帧发送给终端。由终端上的试用SDK对试用图像帧进行解码并显示,从而使终端上无需安装试用程序就可以展示试用程序的画面。当终端接收到用户在试用画面上的操作时,由SDK将操作上传给云服务器,云服务器控制第二程序响应用户操作生成新的试用图像帧,使用户可以控制第二程序、试用第二程序。该方法可以使第一程序通过调用SDK的方式显示第二程序的试用画面,并对第二程序进行试用,相比于传统的视频广告,通过试用的范式来宣传第二程序,可以丰富第二程序的展示方式和展示内容,让用户切实体验到第二程序,且相较于传统的程序试用方式,该方法使终端无需下载安装第二程序,而是由云服务器运行第二程序并向终端传输运行得到的画面,减少了终端试用程序所需的成本,提高试用效率。
本申请还提供了一种在广告中运用本申请提供的程序试用方法的示例性实施例。
示例性的,当广告主想要在某个宿主程序中投放广告程序,进而达到宣传广告程序的目的时,广告主可以通过管理后台,将广告程序增加至云服务器中,并配置广告的相关参数,例如,指定试用广告程序的某一功能。
当用户在宿主程序中触发了试用事件,宿主程序会调用试用SDK向云服务器发送试用请求,云服务器根据试用请求确定本次试用的广告程序,运行广告程序的指定功能,并将运行生成的试用画面返回给试用SDK,由试用SDK进行显示,试用SDK可以接收用户在用户界面上的操作事件,并将操作事件返回给云服务器,云服务器根据用户的操作事件生成新的试用画面,并将试用画面再次返回给试用SDK。如此,用户在终端上就可以直接试用广告程序的指定功能。若用户试用后想要继续使用广告程序,则用户可以通过点击试用画面上的下载控件来下载广告程序。示例性的,上述广告程序可以是游戏程序。
例如,第二程序(我爱音乐APP)在第一程序(视频播放程序)中投放了试用广告。如图17中的(1)所示,当用户在视频播放程序的用户界面2001中点击第一视频的视频播放控件2002时,如图17中的(2)所示,在用户界面2001上弹出我爱音乐APP的试用弹窗,试用弹窗上显示有我爱音乐APP的试用控件2003。用户点击试用控件2003后,开始试用我爱音乐APP的听歌识曲功能,如图17中的(3)所示,显示我爱音乐APP的听歌识曲界面2004,示例性的,当用户开始试用听歌识曲功能后,在听歌识曲界面2004上还会显示本次试用的试用时间倒计时2005,当倒计时2005结束时,如图17中的(4)所示,在听歌识曲界面2004上显示下载蒙层2006,在下载蒙层2006上有我爱音乐APP的下载控件2007,用户点击下载控件2007可以开始下载我爱音乐APP。或者,用户可以点击下载蒙层2006上的退出控件2008,退出试用,显示回如图17中的(1)所示的用户界面2001,此时,用户获得观看第一视频的资格,终端可以自动播放第一视频,或,用户再次点击播放控件2002开始播放第一视频。
再如,第二程序(游戏A)在第一程序(逃亡游戏)中投放了试用广告。如图18中的(1)所示,当用户在逃亡游戏中控制的游戏角色死亡时,显示复活游戏角色的用户界面2101。示例性的,如图18中的(1)所示,在用户界面2101中有试玩游戏A复活游戏角色的救救我控件2102,用户点击救救我控件2102即为触发试用事件,显示如图18中的(2)所示的游戏A的演示图像帧2103,在演示图像帧上显示有游戏A的试玩控件2104,用户点击试玩控件2104开始试玩游戏A的第一关,如图18中的(3)所示,显示游戏A的第一关的试玩图像帧2105,在试玩图像帧2105上显示有游戏A的下载蒙层2106,用户可以随时点击下载蒙层2106上的下载控件2107下载游戏A,并退出试玩。当用户通关游戏A的第一关后,试玩结束,如图18中的(4)所示,在试玩图像帧上显示试玩结束蒙层2108,试玩结束蒙层2108上显示有游戏A的下载控件2109,用户可以点击下载控件2109下载游戏A。
示例性的,如图19所示,相比于传统视频广告1601,使用本申请提供的程序试用方法制作的云试玩广告1602,其播放广告中下载率远高于传统视频广告1601,结束页下载率略高于传统视频广告1601,下载完成率为传统视频广告的两倍多。
综上所述,本实施例提供的方法,用户无需将游戏下载、安装到自己设备上即可直接体验游戏;用户可直接进入指定游戏进度或指定游戏关卡,立即体验游戏最核心玩法或剧情,极大提高了内容质量;广告主可在广告中自定义覆盖图片/文字,以宣传目标游戏、提高广告质量、提升用户体验;广告主可在云端通过轻量级调整,随时更换广告中游戏体验的进度/关卡/内容,极大降低广告投放试错成本;可以将任何支持Android操作系统的宿主程序制作成为云游戏试玩广告,跨系统、跨终端进行广告投放。
示例性的,在一个可选的实施例中,云服务器包括了三个物理服务器:广告服务器、运行服务器和配置服务器。示例性的,广告服务器用于存储第一程序和第二程序的运营信息,运行服务器上设有板卡,用于运行第二程序,配置服务器上用于调用第二程序的指定程序逻辑的指引文件。本实施例以三个物理服务器公用同一数据库为例进行说明。
图20示出了本申请一个示例性实施例提供的程序试用方法的流程图。该方法可以由终端、广告服务器、运行服务器和配置服务器来执行。该方法包括以下步骤。
步骤1201,试用SDK接收第一程序在运行过程中发送的调用指令。
步骤1202,试用SDK向云服务器发送试用请求。
步骤1203,广告服务器接收试用请求,根据试用请求中的程序标识确定第二程序和指定程序逻辑。
示例性的,广告服务器根据试用请求中携带的第一程序的标识、渠道场景标识等信息,查询本次试用的第二程序和指定程序逻辑。并在查询到第二程序和指定程序逻辑后,获取第二程序在运行服务器上的运行信息,例如,运行服务器标识、板卡标识等。同时获取指定程序逻辑的指引文件的存储路径。
示例性的,广告服务器还可以向试用SDK返回第二程序的程序简介信息,让试用SDK先根据程序简介信息展示第二程序的演示图像帧。示例性的,广告服务器还可以向试用SDK返回第二程序的运行信息,让试用SDK与运行服务器对接第二程序运行中产生的数据。
步骤1204,广告服务器向运行服务器发送第二程序的运行信息。
步骤1205,广告服务器向配置服务器发送指定程序逻辑的指引文件的存储路径。
步骤1206,配置服务器根据存储路径获取指定程序逻辑的指引文件。
步骤1207,配置服务器向运行服务器发送指定程序逻辑的指引文件。
步骤1208,运行服务器根据运行信息和指引文件运行第二程序的指定程序逻辑,得到第一试用图像帧序列。
示例性的,运行服务器用配置服务器发来的指引文件,替换掉第二程序原有的指引文件,然后运行第二程序,即可运行第二程序的指定程序逻辑。
步骤1209,运行服务器向试用SDK发送第一试用图像帧序列。
步骤1210,试用SDK接收第一试用图像帧序列,在第一程序的用户界面上叠加显示第一试用图像帧序列中的试用图像帧。
此后,运行服务器实时向试用SDK发送第二程序运行过程中产生的试用图像帧,试用SDK实时将用户的操作事件发送给运行服务器,从而使运行服务器控制第二程序响应用户的操作事件生成新的试用图像帧。
综上所述,本实施例提供的方法,由广告服务器、运行服务器、配置服务器分别负责广告相关逻辑的运算,第二程序运行相关逻辑的运算,指定程序逻辑相关逻辑的运算,使用三个屋里服务器协作完成由云服务器执行的程序试用方法,提高程序试用效率。
图21示出了本申请一个示意性实施例提供的程序试用装置的框图。该装置可以实现成为云服务器的全部或一部分。该装置包括如下装置:
第一接收模块1401,用于接收试用SDK发送的试用请求;
运行模块1402,用于运行所述第二程序的指定程序逻辑得到第一试用图像帧序列,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;所述试用请求是所述试用SDK响应于第一程序在运行过程中发送的调用指令发送的,所述试用请求用于请求试用第二程序,所述第一程序和所述试用SDK运行在同一终端上;
第一发送模块1403,用于向所述试用SDK发送所述第一试用图像帧序列,所述第一试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
所述第一接收模块1401,还用于接收所述试用SDK发送的操作事件;
所述运行模块1402,还用于控制所述第二程序响应所述操作事件得到第二试用图像帧序列,所述操作事件是所述试用SDK在所述试用图像帧上接收到的;
所述第一发送模块1403,还用于向所述试用SDK发送所述第二试用图像帧序列,所述第二试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧。
在一个可选的实施例中,所述装置还包括:
运营模块1404,用于根据所述试用请求,确定所述指定程序逻辑的指引文件;
所述运行模块1402,还用于根据所述指引文件运行所述第二程序的所述指定程序逻辑得到所述第一试用图像帧序列。
在一个可选的实施例中,所述调用指令包括所述第一程序的程序标识,所述试用请求包括所述程序标识;
所述运营模块1404,还用于根据所述试用请求中的所述程序标识确定所述第二程序和所述指定程序逻辑的所述指引文件的存储路径;
所述运行模块1402,还用于根据所述存储路径获取所述指定程序逻辑的所述指引文件。
在一个可选的实施例中,所述调用指令还包括所述第一程序试用渠道场景的渠道场景信息,所述试用请求还包括所述渠道场景信息;
所述运营模块1404,还用于根据所述试用请求中的所述程序标识和所述渠道场景信息,确定所述第二程序和所述指定程序逻辑。
在一个可选的实施例中,所述调用指令还包括所述第一程序中存储的用户信息,所述试用请求还包括所述用户信息;
所述运营模块1404,还用于根据所述试用请求中的所述程序标识和所述用户信息确定所述第二程序和所述指定程序逻辑。
在一个可选的实施例中,所述调用指令还包括所述第一程序的界面截图,所述试用请求还包括所述界面截图;
所述运营模块1404,还用于识别所述界面截图得到识别结果;
所述运营模块1404,还用于根据所述识别结果和所述试用请求中的所述程序标识确定所述第二程序和所述指定程序逻辑。
在一个可选的实施例中,响应于所述第二程序是本地存档的程序,所述指引文件包括存档文件;
响应于所述第二程序是网络存档的程序,所述指引文件包括配置文件。
在一个可选的实施例中,所述第一发送模块1403,还用于向所述试用SDK发送所述第二程序的程序简介信息,所述程序简介信息用于显示所述第二程序的演示图像帧。
在一个可选的实施例中,所述演示图像帧上显示有试用控件;
所述第一接收模块1401,还用于接收所述SDK发送的视频获取请求;
所述第一发送模块1403,还用于响应于接收到视频获取请求,向所述试用SDK发送所述第一试用图像帧序列,所述视频获取请求是所述试用SDK响应于接收到所述试用控件上的触发操作发送的。
在一个可选的实施例中,所述运行模块1402,还用于响应于在所述试用图像帧中检测到第一关键帧,控制所述第二程序响应所述第一关键帧对应的操作指令,所述操作指令用于完成所述第二程序中的指定操作,所述试用图像帧是所述第一试用图像帧序列或所述第二试用图像帧序列中的试用图像帧;
所述运行模块1402,还用于响应于在所述试用图像帧中检测到第二关键帧,获取所述第二关键帧对应的蒙层信息;
所述第一发送模块1403,还用于在向所述试用SDK发送所述第二关键帧的同时向所述试用SDK发送所述蒙层信息,所述蒙层信息用于控制所述试用SDK在所述第二关键帧上显示自定义蒙层。
在一个可选的实施例中,所述第一接收模块1401,还用于接收所述SDK发送的所述第二程序的下载请求;
所述第一发送模块1403,还用于响应于接收到所述试用SDK发送的所述第二程序的所述下载请求,向所述试用SDK发送所述第二程序。
在一个可选的实施例中,所述第一接收模块1401,还用于接收所述SDK发送的结束指令;
所述运行模块1402,还用于响应于接收到所述试用SDK发送的结束指令,停止运行所述第二程序。
在一个可选的实施例中,所述第一程序是游戏程序,所述调用指令是所述第一程序响应于触发第一试用事件发送的,所述第一试用事件包括:游戏角色阵亡、完成指定关卡、游戏暂停、请求获得指定道具、游戏角色胜利,请求进入指定关卡中的至少一种;
或,
所述第一程序是内容浏览程序,所述调用指令是所述第一程序响应于触发第二试用事件发送的,所述第二试用事件包括:浏览指定内容、浏览时长达到指定时长、请求解锁指定功能、请求浏览指定内容中的至少一种;
或,
所述第一程序是视频播放程序,所述调用指令是所述第一程序响应于触发第三试用事件发送的,所述第三试用事件包括:播放时长达到指定时长、播放指定视频、请求缩短广告时间、请求播放指定视频中的至少一种。
在一个可选的实施例中,所述装置还包括:
管理模块1405,用于接收所述第二程序,生成所述第二程序的程序标识;
所述运行模块1402,还用于在目标板卡上安装所述第二程序;
所述管理模块1405,还用于生成所述第二程序的运行信息,所述运行信息包括服务器标识、安装所述第二程序的所述目标板卡的板卡标识、所述第二程序的程序标识中的至少一种。
在一个可选的实施例中,所述管理模块1405,还用于配置所述第二程序的运营信息,所述运营信息包括所述第二程序的渲染分辨率、渠道场景信息、试用时长中的至少一种。
在一个可选的实施例中,所述管理模块1405,还用于接收所述第二程序的指引信息,所述指引信息包括指引文件、关键帧检测逻辑中的至少一种;生成所述第二程序的广告信息,所述广告信息包括广告类型、广告标识中的至少一种。
图22示出了本申请另一个示意性实施例提供的程序试用装置的框图。该装置可以实现成为终端的全部或一部分。该装置包括如下装置:
显示模块1504,用于显示第一程序的用户界面;
所述显示模块1504,还用于响应于在所述第一程序的运行过程中触发试用事件,在所述第一程序的所述用户界面上叠加显示第一试用图像帧序列中的试用图像帧,所述第一试用图像帧序列是试用第二程序的指定程序逻辑得到的试用图像帧,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;
交互模块1505,用于接收在所述试用图像帧上的操作事件;
所述显示模块1504,还用于响应于在所述试用图像帧上接收到操作事件,在所述第一程序的所述用户界面上叠加显示第二试用图像帧序列中的试用图像帧,所述第二试用图像帧序列是所述第二程序响应于所述操作事件得到的试用图像帧。
在一个可选的实施例中,所述装置还包括:
第二发送模块1503,用于响应于在所述第一程序的运行过程中触发试用事件,通过试用SDK向云服务器发送试用请求,所述试用请求用于请求试用所述第二程序;
第二接收模块1501,用于接收云服务器发送的第一试用图像帧序列;
所述显示模块1504,还用于响应于接收到云服务器发送的所述第一试用图像帧序列,在所述第一程序的所述用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧,所述第一试用图像帧序列是所述云服务器运行所述第二程序的所述指定程序逻辑得到的试用图像帧。
在一个可选的实施例中,所述装置还包括:
第二发送模块1503,用于响应于在所述试用图像帧上接收到操作事件,通过试用SDK向云服务器发送所述操作事件;
第二接收模块1501,用于接收所述云服务器发送的第二试用图像帧序列;
所述显示模块1504,还用于响应于接收到所述云服务器发送的所述第二试用图像帧序列,在所述第一程序的所述用户界面上叠加显示第二试用图像帧序列中的试用图像帧,所述第二试用图像帧序列是所述云服务器控制所述第二程序响应所述操作事件得到的试用图像帧。
在一个可选的实施例中,所述试用请求包括所述第一程序的程序标识,所述第二程序和所述指定程序逻辑是云服务器根据所述程序标识确定的。
在一个可选的实施例中,所述试用请求还包括所述第一程序试用场景的渠道场景信息;所述第二程序和所述指定程序逻辑是所述云服务器根据所述程序标识和所述渠道场景信息确定的。
在一个可选的实施例中,所述试用请求还包括所述第一程序中存储的用户信息;所述第二程序和所述指定程序逻辑是所述云服务器根据所述程序标识和所述用户信息确定的。
在一个可选的实施例中,所述试用请求还包括所述第一程序的界面截图;所述第二程序和所述指定程序逻辑是所述云服务器根据识别所述界面截图得到的识别结果和所述程序标识确定的。
在一个可选的实施例中,所述装置还包括:
第二接收模块1501,用于接收云服务器发送的所述第二程序的程序简介信息;
所述显示模块1504,还用于响应于接收到云服务器发送的所述第二程序的程序简介信息,根据所述程序简介信息在所述第一程序的所述用户界面上叠加显示所述第二程序的演示图像帧。
在一个可选的实施例中,所述演示图像帧上显示有试用控件;
所述交互模块1505,还用于接收所述试用控件上的触发操作;
所述第二发送模块1503,还用于响应于接收到所述试用控件上的触发操作,通过所述试用SDK向所述云服务器发送视频获取请求,所述视频获取请求用于请求获取所述第一试用图像帧序列。
在一个可选的实施例中,所述装置还包括:
第二接收模块1501,用于通过试用SDK接收云服务器发送的第二关键帧和蒙层信息,所述第二关键帧与所述蒙层信息相对应;
所述显示模块1504,还用于响应于显示所述第二关键帧,根据所述蒙层信息在所述第二关键帧上显示自定义蒙层。
在一个可选的实施例中,所述试用图像帧上显示有第一下载蒙层,所述第一下载蒙层包括第一下载控件;所述装置还包括:
所述交互模块1505,还用于接收所述第一下载控件上的触发操作;
调用模块1506,用于响应于接收到所述第一下载控件上的触发操作,通过试用SDK调用所述第一程序下载所述第二程序;
或,
第二发送模块1503,用于向云服务器发送下载所述第二程序的下载请求;
或,
所述调用模块1506,还用于调用第三方程序下载所述第二程序。
在一个可选的实施例中,所述装置还包括:
计时模块1508,用于计时所述第二程序的试用时间;
结束模块1507,用于响应于所述试用时间达到试用时长,结束试用进程;
或,
所述显示模块1504,用于响应于所述试用时间达到试用时长,显示第二下载蒙层,所述第二下载蒙层包括第二下载控件和第一退出控件;
所述交互模块1505,还用于接收所述第二下载控件或所述第一退出控件上的触发操作;
所述结束模块1507,还用于响应于接收到所述第二下载控件或所述第一退出控件上的触发操作,结束所述试用进程;
或,
所述结束模块1507,还用于响应于显示第三关键帧,结束所述试用进程;
或,
所述显示模块1504,还用于响应于显示第三关键帧,显示所述第三关键帧对应的第三下载蒙层,所述第三下载蒙层包括第三下载控件和第二退出控件;
所述交互模块1505,还用于接收所述第三下载控件或所述第二退出控件上的触发操作;
所述结束模块1507,还用于响应于接收到所述第三下载控件或所述第二退出控件上的触发操作,结束所述试用进程。
在一个可选的实施例中,所述第一程序是游戏程序,所述试用事件包括第一试用事件,所述第一试用事件包括:游戏角色阵亡、完成指定关卡、游戏暂停、请求获得指定道具、游戏角色胜利,请求进入指定关卡中的至少一种;
或,
所述第一程序是游戏程序,所述试用事件包括第二试用事件,所述第二试用事件包括:浏览指定内容、浏览时长达到指定时长、请求解锁指定功能、请求浏览指定内容中的至少一种;
或,
所述第一程序是游戏程序,所述试用事件包括第三试用事件,所述第三试用事件包括:播放时长达到指定时长、播放指定视频、请求缩短广告时间、请求播放指定视频中的至少一种。
图23是本申请一个实施例提供的服务器的结构示意图。具体来讲:服务器700包括中央处理单元(英文:Central Processing Unit,简称:CPU)701、包括随机存取存储器(英文:Random Access Memory,简称:RAM)702和只读存储器(英文:Read-Only Memory,简称:ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。服务器700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出(I/O,Input/Output)系统706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。
基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中显示器708和输入设备709都通过连接到系统总线705的输入/输出控制器710连接到中央处理单元701。基本输入/输出系统706还可以包括输入/输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,大容量存储设备707可以包括诸如硬盘或者只读光盘(英文:Compact Disc Read-Only Memory,简称:CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(英文:Erasable Programmable Read-Only Memory,简称:EPROM)、电可擦除可编程只读存储器(英文:Electrically Erasable Programmable Read-Only Memory,简称:EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(英文:Digital Versatile Disc,简称:DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
根据本申请的各种实施例,服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
本申请还提供了一种终端,该终端包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的程序试用方法。需要说明的是,该终端可以是如下图24所提供的终端。
图24示出了本申请一个示例性实施例提供的终端1700的结构框图。该终端1700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1700包括有:处理器1701和存储器1702。
处理器1701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1701所执行以实现本申请中方法实施例提供的程序试用方法。
在一些实施例中,终端1700还可选包括有:外围设备接口1703和至少一个外围设备。处理器1701、存储器1702和外围设备接口1703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1703相连。具体地,外围设备包括:射频电路1704、触摸显示屏1705、摄像头组件1706、音频电路1707、定位组件1708和电源1709中的至少一种。
外围设备接口1703可被用于将I/O(Input /Output,输入/输出)相关的至少一个外围设备连接到处理器1701和存储器1702。在一些实施例中,处理器1701、存储器1702和外围设备接口1703被集成在同一芯片或电路板上;在一些其他实施例中,处理器1701、存储器1702和外围设备接口1703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1705是触摸显示屏时,显示屏1705还具有采集在显示屏1705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1701进行处理。此时,显示屏1705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1705可以为一个,设置终端1700的前面板;在另一些实施例中,显示屏1705可以为至少两个,分别设置在终端1700的不同表面或呈折叠设计;在再一些实施例中,显示屏1705可以是柔性显示屏,设置在终端1700的弯曲表面上或折叠面上。甚至,显示屏1705还可以设置成非矩形的不规则图形,也即异形屏。显示屏1705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1706用于采集图像或视频。可选地,摄像头组件1706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1701进行处理,或者输入至射频电路1704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1701或射频电路1704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1707还可以包括耳机插孔。
定位组件1708用于定位终端1700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1709用于为终端1700中的各个组件进行供电。电源1709可以是交流电、直流电、一次性电池或可充电电池。当电源1709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1700还包括有一个或多个传感器1710。该一个或多个传感器1710包括但不限于:加速度传感器1711、陀螺仪传感器1712、压力传感器1713、指纹传感器1714、光学传感器1715以及接近传感器1716。
加速度传感器1711可以检测以终端1700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1711可以用于检测重力加速度在三个坐标轴上的分量。处理器1701可以根据加速度传感器1711采集的重力加速度信号,控制触摸显示屏1705以横向视图或纵向视图进行用户界面的显示。加速度传感器1711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1712可以检测终端1700的机体方向及转动角度,陀螺仪传感器1712可以与加速度传感器1711协同采集用户对终端1700的3D动作。处理器1701根据陀螺仪传感器1712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1713可以设置在终端1700的侧边框和/或触摸显示屏1705的下层。当压力传感器1713设置在终端1700的侧边框时,可以检测用户对终端1700的握持信号,由处理器1701根据压力传感器1713采集的握持信号进行左右手识别或快捷操作。当压力传感器1713设置在触摸显示屏1705的下层时,由处理器1701根据用户对触摸显示屏1705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1714用于采集用户的指纹,由处理器1701根据指纹传感器1714采集到的指纹识别用户的身份,或者,由指纹传感器1714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1714可以被设置终端1700的正面、背面或侧面。当终端1700上设置有物理按键或厂商Logo时,指纹传感器1714可以与物理按键或厂商Logo集成在一起。
光学传感器1715用于采集环境光强度。在一个实施例中,处理器1701可以根据光学传感器1715采集的环境光强度,控制触摸显示屏1705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1705的显示亮度;当环境光强度较低时,调低触摸显示屏1705的显示亮度。在另一个实施例中,处理器1701还可以根据光学传感器1715采集的环境光强度,动态调整摄像头组件1706的拍摄参数。
接近传感器1716,也称距离传感器,通常设置在终端1700的前面板。接近传感器1716用于采集用户与终端1700的正面之间的距离。在一个实施例中,当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变小时,由处理器1701控制触摸显示屏1705从亮屏状态切换为息屏状态;当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变大时,由处理器1701控制触摸显示屏1705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图24中示出的结构并不构成对终端1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的程序试用方法。
本申请还提供一种计算机设备,该计算机设备包括:处理器和存储器,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的程序试用方法。
本申请还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的程序试用方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的程序试用方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种程序试用方法,其特征在于,应用于终端中,所述方法包括:
显示第一程序的用户界面,所述第一程序中嵌入有试用SDK,所述第一程序为游戏程序;
响应于在所述第一程序的运行过程中触发试用事件,通过所述试用SDK向云服务器发送试用请求,所述试用请求用于请求试用第二程序,所述试用请求包括所述第一程序的程序标识、第一程序试用场景的渠道场景信息,或,所述试用请求包括所述第一程序的界面截图,所述第二程序为游戏程序;
响应于接收到所述云服务器发送的第一试用图像帧序列,在所述第一程序的所述用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧,所述第一试用图像帧序列是所述云服务器运行所述第二程序的指定程序逻辑得到的试用图像帧;所述指定程序逻辑是所述云服务器根据所述试用请求中的所述程序标识和所述渠道场景信息确定的,或,所述第二程序和所述指定程序逻辑是所述云服务器根据识别所述界面截图得到的识别结果确定的;所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;所述云服务器用于:通过所述第二程序利用图形库通过图形处理器GPU在显示屏上生成所述第二程序的所述第一试用图像帧序列中的试用图像帧;
响应于在所述第一试用图像帧序列中的试用图像帧上接收到操作事件,通过所述试用SDK向所述云服务器发送所述操作事件;所述操作事件是根据触发操作生成的,所述试用SDK用于周期性的记录用户在所述显示屏上生成的触点的位置信息,生成所述操作事件;所述试用SDK用于以平行于所述显示屏边框的方向为xy轴,以所述显示屏上任意一点作为原点,建立直角坐标系,记录触点在所述直角坐标系上的位置坐标;所述云服务器用于:通过第一网络传输模块接收所述操作事件,将所述操作事件输入所述第二程序的所述图形库,根据所述操作事件生成所述第二程序的第二试用图像帧序列的试用图像帧,再通过视频编码和所述第一网络传输模块,将所述第二试用图像帧序列的试用图像帧传输给所述终端进行显示,形成视频流;
响应于接收到所述云服务器发送的所述第二试用图像帧序列,在所述第一程序的所述用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧,所述第二试用图像帧序列是所述云服务器控制所述第二程序响应所述操作事件得到的试用图像帧,所述叠加显示包括:所述试用SDK的显示优先级高于所述第一程序的显示优先级,所述试用SDK的所述第二试用图像帧序列中的试用图像帧或所述第一试用图像帧序列中的试用图像帧显示在所述第一程序的所述用户界面的上层。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到云服务器发送的所述第二程序的程序简介信息,根据所述程序简介信息在所述第一程序的所述用户界面上叠加显示所述第二程序的演示图像帧。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过试用SDK接收云服务器发送的第二关键帧和蒙层信息,所述第二关键帧与所述蒙层信息相对应;
响应于显示所述第二关键帧,根据所述蒙层信息在所述第二关键帧上显示自定义蒙层。
4.根据权利要求1所述的方法,其特征在于,所述第二试用图像帧序列中的试用图像帧或所述第一试用图像帧序列中的试用图像帧上显示有第一下载蒙层,所述第一下载蒙层包括第一下载控件;所述方法还包括:
响应于接收到所述第一下载控件上的触发操作,通过试用SDK调用所述第一程序下载所述第二程序,或,向云服务器发送下载所述第二程序的下载请求,或,调用第三方程序下载所述第二程序。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
计时所述第二程序的试用时间;响应于所述试用时间达到试用时长,结束试用进程;
或,
计时所述第二程序的试用时间;响应于所述试用时间达到试用时长,显示第二下载蒙层,所述第二下载蒙层包括第二下载控件和第一退出控件;响应于接收到所述第二下载控件或所述第一退出控件上的触发操作,结束所述试用进程;
或,
响应于显示第三关键帧,结束所述试用进程;
或,
响应于显示第三关键帧,显示所述第三关键帧对应的第三下载蒙层,所述第三下载蒙层包括第三下载控件和第二退出控件;响应于接收到所述第三下载控件或所述第二退出控件上的触发操作,结束所述试用进程。
6.根据权利要求1所述的方法,其特征在于,
所述第一程序是游戏程序,所述试用事件包括第一试用事件,所述第一试用事件包括:游戏角色阵亡、完成指定关卡、游戏暂停、请求获得指定道具、游戏角色胜利,请求进入指定关卡中的至少一种。
7.一种程序试用方法,其特征在于,应用于云服务器中,所述方法包括:
接收试用SDK发送的试用请求,运行第二程序的指定程序逻辑,利用图形库通过图形处理器GPU在显示屏上生成第一试用图像帧序列,所述试用请求包括:第一程序的程序标识、第一程序试用场景的渠道场景信息,或,所述试用请求包括所述第一程序的界面截图,所述指定程序逻辑是根据所述试用请求中的所述程序标识和所述渠道场景信息确定的,或,所述第二程序和所述指定程序逻辑是所述云服务器根据识别所述界面截图得到的识别结果确定的;所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;所述试用请求是所述试用SDK响应于第一程序在运行过程中发送的调用指令发送的,所述试用请求用于请求试用所述第二程序,所述第一程序和所述试用SDK运行在同一终端上,所述第一程序中嵌入有所述试用SDK,所述第一程序为游戏程序,所述第二程序为游戏程序;
向所述试用SDK发送所述第一试用图像帧序列,所述第一试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
通过第一网络传输模块接收所述试用SDK发送的操作事件,将所述操作事件输入所述第二程序的所述图形库,控制所述第二程序响应所述操作事件得到第二试用图像帧序列,所述操作事件是所述试用SDK在所述第一试用图像帧序列中的试用图像帧上接收到的;所述操作事件是根据触发操作生成的,所述试用SDK用于周期性的记录用户在所述显示屏上生成的触点的位置信息,生成所述操作事件;所述试用SDK用于以平行于所述显示屏边框的方向为xy轴,以所述显示屏上任意一点作为原点,建立直角坐标系,记录触点在所述直角坐标系上的位置坐标;
通过视频编码和所述第一网络传输模块,向所述试用SDK发送所述第二试用图像帧序列,所述第二试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧,所述叠加显示包括:所述试用SDK的显示优先级高于所述第一程序的显示优先级,所述试用SDK的所述第二试用图像帧序列中的试用图像帧或所述第一试用图像帧序列中的试用图像帧显示在所述第一程序的所述用户界面的上层。
8.一种程序试用系统,其特征在于,所述系统包括:试用SDK和云服务器;
所述试用SDK,用于响应于接收到第一程序在运行过程中发送的调用指令,向所述云服务器发送试用请求,所述试用请求包括:所述第一程序的程序标识、第一程序试用场景的渠道场景信息,或,所述试用请求包括所述第一程序的界面截图,所述试用请求用于请求试用第二程序,所述第一程序和所述试用SDK运行在同一终端上,所述第一程序中嵌入有所述试用SDK,所述第一程序为游戏程序,所述第二程序为游戏程序;
所述云服务器,用于接收所述试用请求,运行所述第二程序的指定程序逻辑,利用图形库通过图形处理器GPU在显示屏上生成第一试用图像帧序列,所述指定程序逻辑是所述云服务器根据所述试用请求中的所述程序标识和所述渠道场景信息确定的,或,所述第二程序和所述指定程序逻辑是所述云服务器根据识别所述界面截图得到的识别结果确定的;所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;向所述试用SDK发送所述第一试用图像帧序列;
所述试用SDK,还用于接收所述第一试用图像帧序列,在所述第一程序的用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
所述试用SDK,还用于接收所述第一试用图像帧序列中的试用图像帧上的操作事件,向所述云服务器发送所述操作事件;所述操作事件是根据触发操作生成的,所述试用SDK用于周期性的记录用户在所述显示屏上生成的触点的位置信息,生成所述操作事件;所述试用SDK用于以平行于所述显示屏边框的方向为xy轴,以所述显示屏上任意一点作为原点,建立直角坐标系,记录触点在所述直角坐标系上的位置坐标;
所述云服务器,还用于通过第一网络传输模块接收所述操作事件,将所述操作事件输入所述第二程序的所述图形库,控制所述第二程序响应所述操作事件得到第二试用图像帧序列;通过视频编码和所述第一网络传输模块,向所述试用SDK发送所述第二试用图像帧序列;
所述试用SDK,还用于接收所述第二试用图像帧序列,在所述第一程序的所述用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧,所述叠加显示包括:所述试用SDK的显示优先级高于所述第一程序的显示优先级,所述试用SDK的所述第二试用图像帧序列中的试用图像帧或所述第一试用图像帧序列中的试用图像帧显示在所述第一程序的所述用户界面的上层。
9.一种程序试用装置,其特征在于,应用于终端中,所述装置包括:
显示模块,用于显示第一程序的用户界面,所述第一程序中嵌入有试用SDK,所述第一程序为游戏程序;
第二发送模块,用于响应于在所述第一程序的运行过程中触发试用事件,通过所述试用SDK向云服务器发送试用请求,所述试用请求用于请求试用第二程序,所述试用请求包括:所述第一程序的程序标识、第一程序试用场景的渠道场景信息,所述第二程序为游戏程序,或,所述试用请求包括所述第一程序的界面截图;
第二接收模块,用于接收所述云服务器发送的第一试用图像帧序列;
所述显示模块,还用于响应于接收到所述云服务器发送的所述第一试用图像帧序列,在所述第一程序的所述用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧,所述第一试用图像帧序列是所述云服务器运行所述第二程序的指定程序逻辑得到的试用图像帧,所述指定程序逻辑是所述云服务器根据所述试用请求中的所述程序标识和所述渠道场景信息确定的,或,所述第二程序和所述指定程序逻辑是所述云服务器根据识别所述界面截图得到的识别结果确定的;所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;所述云服务器用于:通过所述第二程序利用图形库通过图形处理器GPU在显示屏上生成所述第二程序的所述第一试用图像帧序列中的试用图像帧;
交互模块,用于接收在所述第一试用图像帧序列中的试用图像帧上的操作事件;所述操作事件是根据触发操作生成的,所述试用SDK用于周期性的记录用户在所述显示屏上生成的触点的位置信息,生成所述操作事件;所述试用SDK用于以平行于所述显示屏边框的方向为xy轴,以所述显示屏上任意一点作为原点,建立直角坐标系,记录触点在所述直角坐标系上的位置坐标;
所述第二发送模块,还用于响应于在所述第一试用图像帧序列中的试用图像帧上接收到操作事件,通过所述试用SDK向所述云服务器发送所述操作事件;所述云服务器用于:通过第一网络传输模块接收所述操作事件,将所述操作事件输入所述第二程序的所述图形库,根据所述操作事件生成所述第二程序的第二试用图像帧序列的试用图像帧,再通过视频编码和所述第一网络传输模块,将新的试用图像帧传输给所述终端进行显示,形成视频流;
所述第二接收模块,还用于接收所述云服务器发送的第二试用图像帧序列;
所述显示模块,还用于响应于接收到所述云服务器发送的第二试用图像帧序列,在所述第一程序的所述用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧,所述第二试用图像帧序列是所述云服务器控制所述第二程序响应所述操作事件得到的试用图像帧,所述叠加显示包括:所述试用SDK的显示优先级高于所述第一程序的显示优先级,所述试用SDK的所述第二试用图像帧序列中的试用图像帧或所述第一试用图像帧序列中的试用图像帧显示在所述第一程序的所述用户界面的上层。
10.一种程序试用装置,其特征在于,应用于云服务器中,所述装置包括:
第一接收模块,用于接收试用SDK发送的试用请求,所述试用请求包括:第一程序的程序标识、第一程序试用场景的渠道场景信息,或,所述试用请求包括所述第一程序的界面截图,所述第一程序为游戏程序;
运行模块,用于运行第二程序的指定程序逻辑,利用图形库通过图形处理器GPU在显示屏上生成第一试用图像帧序列,所述指定程序逻辑是根据所述试用请求中的所述程序标识和所述渠道场景信息确定的,或,所述第二程序和所述指定程序逻辑是所述云服务器根据识别所述界面截图得到的识别结果确定的,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;所述试用请求是所述试用SDK响应于第一程序在运行过程中发送的调用指令发送的,所述试用请求用于请求试用所述第二程序,所述第一程序和所述试用SDK运行在同一终端上,所述第一程序中嵌入有所述试用SDK,所述第二程序为游戏程序;
第一发送模块,用于向所述试用SDK发送所述第一试用图像帧序列,所述第一试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
所述第一接收模块,还用于通过第一网络传输模块接收所述试用SDK发送的操作事件;
所述运行模块,还用于将所述操作事件输入所述第二程序的所述图形库,控制所述第二程序响应所述操作事件得到第二试用图像帧序列,所述操作事件是所述试用SDK在所述第一试用图像帧序列中的试用图像帧上接收到的;所述操作事件是根据触发操作生成的,所述试用SDK用于周期性的记录用户在所述显示屏上生成的触点的位置信息,生成所述操作事件;所述试用SDK用于以平行于所述显示屏边框的方向为xy轴,以所述显示屏上任意一点作为原点,建立直角坐标系,记录触点在所述直角坐标系上的位置坐标;
所述第一发送模块,还用于通过视频编码和所述第一网络传输模块,向所述试用SDK发送所述第二试用图像帧序列,所述第二试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧,所述叠加显示包括:所述试用SDK的显示优先级高于所述第一程序的显示优先级,所述试用SDK的所述第二试用图像帧序列中的试用图像帧或所述第一试用图像帧序列中的试用图像帧显示在所述第一程序的所述用户界面的上层。
11.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集,所述至少一条指令、所述至少一段程序、所述代码集由所述处理器加载并执行以实现如权利要求1至7任一所述的程序试用方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集,所述至少一条指令、所述至少一段程序、所述代码集由处理器加载并执行以实现如权利要求1至7任一所述的程序试用方法。
CN202010968247.8A 2020-09-15 2020-09-15 程序试用方法、系统、装置、设备及介质 Active CN111966275B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010968247.8A CN111966275B (zh) 2020-09-15 2020-09-15 程序试用方法、系统、装置、设备及介质
PCT/CN2021/117484 WO2022057722A1 (zh) 2020-09-15 2021-09-09 程序试用方法、系统、装置、设备及介质
US17/956,284 US20230013601A1 (en) 2020-09-15 2022-09-29 Program trial method, system, apparatus, and device, and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010968247.8A CN111966275B (zh) 2020-09-15 2020-09-15 程序试用方法、系统、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN111966275A CN111966275A (zh) 2020-11-20
CN111966275B true CN111966275B (zh) 2021-07-30

Family

ID=73393314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010968247.8A Active CN111966275B (zh) 2020-09-15 2020-09-15 程序试用方法、系统、装置、设备及介质

Country Status (3)

Country Link
US (1) US20230013601A1 (zh)
CN (1) CN111966275B (zh)
WO (1) WO2022057722A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966275B (zh) * 2020-09-15 2021-07-30 腾讯科技(深圳)有限公司 程序试用方法、系统、装置、设备及介质
CN112990960B (zh) * 2021-01-26 2023-09-29 腾讯科技(深圳)有限公司 展示内容的解锁方法、装置、设备及可读存储介质
CN112817781A (zh) * 2021-02-08 2021-05-18 北京字节跳动网络技术有限公司 一种应用程序的互动方法、装置、设备及介质
CN113599806B (zh) * 2021-08-03 2023-10-27 上海米哈游璃月科技有限公司 一种数据预处理方法、剧情显示方法、装置、介质及设备
CN113760431B (zh) * 2021-08-30 2024-03-29 百度在线网络技术(北京)有限公司 应用程序的控制方法、装置、电子设备及可读存储介质
CN116719453A (zh) * 2022-02-28 2023-09-08 华为技术有限公司 应用程序推广方法、相关装置及通信系统
US20240066403A1 (en) * 2022-08-25 2024-02-29 Acer Incorporated Method and computer device for automatically applying optimal configuration for games to run in 3d mode

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105487882A (zh) * 2014-10-06 2016-04-13 第五代虚拟科技股份有限公司 应用软件试用系统、方法及其服务器与使用者装置
WO2019027075A1 (ko) * 2017-08-01 2019-02-07 (주) 유비스티 게임화 투어테인먼트 서비스 플랫폼
CN109918158A (zh) * 2019-01-18 2019-06-21 珠海天燕科技有限公司 一种资源的展示方法、装置及其设备
CN110019961A (zh) * 2017-08-24 2019-07-16 北京搜狗科技发展有限公司 视频处理方法和装置、用于视频处理的装置
CN111603764A (zh) * 2020-05-28 2020-09-01 腾讯科技(深圳)有限公司 一种云游戏的处理方法及设备
CN111632373A (zh) * 2020-05-30 2020-09-08 腾讯科技(深圳)有限公司 一种启动游戏的方法、装置及计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9818134B2 (en) * 2015-04-02 2017-11-14 Vungle, Inc. Systems and methods for dynamic ad selection of multiple ads or ad campaigns on devices
CN108769814B (zh) * 2018-06-01 2022-02-01 腾讯科技(深圳)有限公司 视频互动方法、装置、终端及可读存储介质
CN111966275B (zh) * 2020-09-15 2021-07-30 腾讯科技(深圳)有限公司 程序试用方法、系统、装置、设备及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105487882A (zh) * 2014-10-06 2016-04-13 第五代虚拟科技股份有限公司 应用软件试用系统、方法及其服务器与使用者装置
WO2019027075A1 (ko) * 2017-08-01 2019-02-07 (주) 유비스티 게임화 투어테인먼트 서비스 플랫폼
CN110019961A (zh) * 2017-08-24 2019-07-16 北京搜狗科技发展有限公司 视频处理方法和装置、用于视频处理的装置
CN109918158A (zh) * 2019-01-18 2019-06-21 珠海天燕科技有限公司 一种资源的展示方法、装置及其设备
CN111603764A (zh) * 2020-05-28 2020-09-01 腾讯科技(深圳)有限公司 一种云游戏的处理方法及设备
CN111632373A (zh) * 2020-05-30 2020-09-08 腾讯科技(深圳)有限公司 一种启动游戏的方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
WO2022057722A1 (zh) 2022-03-24
CN111966275A (zh) 2020-11-20
US20230013601A1 (en) 2023-01-19

Similar Documents

Publication Publication Date Title
CN111966275B (zh) 程序试用方法、系统、装置、设备及介质
CN108769814B (zh) 视频互动方法、装置、终端及可读存储介质
US11044514B2 (en) Method for displaying bullet comment information, method for providing bullet comment information, and device
CN110708596A (zh) 生成视频的方法、装置、电子设备及可读存储介质
CN111327953B (zh) 直播投票方法及装置、存储介质
CN112995759A (zh) 互动业务处理方法、系统、装置、设备及存储介质
CN113411680B (zh) 多媒体资源播放方法、装置、终端及存储介质
CN112261481B (zh) 互动视频的创建方法、装置、设备及可读存储介质
CN110732136B (zh) 局外环境下局内行为的预览方法、装置、终端及存储介质
CN108900925B (zh) 设置直播模板的方法和装置
CN110533585B (zh) 一种图像换脸的方法、装置、系统、设备和存储介质
CN112929687A (zh) 基于直播视频的互动方法、装置、设备及存储介质
CN113473164A (zh) 直播数据处理方法、装置、计算机设备及介质
CN113490010B (zh) 基于直播视频的互动方法、装置、设备及存储介质
CN113395566B (zh) 视频播放方法、装置、电子设备及计算机可读存储介质
CN112118477A (zh) 虚拟礼物展示方法、装置、设备以及存储介质
CN112181573A (zh) 媒体资源展示方法、装置、终端、服务器以及存储介质
CN111836069A (zh) 虚拟礼物赠送方法、装置、终端、服务器及存储介质
CN110932963A (zh) 多媒体资源分享方法、系统、装置、终端、服务器及介质
CN112969093A (zh) 互动业务处理方法、装置、设备及存储介质
CN114116053A (zh) 资源展示方法、装置、计算机设备及介质
CN111031391A (zh) 视频配乐方法、装置、服务器、终端及存储介质
CN110493635B (zh) 视频播放方法、装置及终端
CN111628925A (zh) 歌曲交互方法、装置、终端及存储介质
CN113886611A (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