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

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

Info

Publication number
WO2022057722A1
WO2022057722A1 PCT/CN2021/117484 CN2021117484W WO2022057722A1 WO 2022057722 A1 WO2022057722 A1 WO 2022057722A1 CN 2021117484 W CN2021117484 W CN 2021117484W WO 2022057722 A1 WO2022057722 A1 WO 2022057722A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
trial
image frame
specified
sdk
Prior art date
Application number
PCT/CN2021/117484
Other languages
English (en)
French (fr)
Inventor
许兆博
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2022057722A1 publication Critical patent/WO2022057722A1/zh
Priority to US17/956,284 priority Critical patent/US20230013601A1/en

Links

Images

Classifications

    • 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
    • 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
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video 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

Definitions

  • the present application relates to the field of cloud games, and in particular, to a program trial method, system, device, device and medium.
  • program operators will cooperate with operators of other applications to embed program advertisements in other applications.
  • the user learns about the program by watching the introduction or promotional content of the program in the advertisement, and then guides the user to download the program.
  • the program advertisement is a text introduction or a promotional video.
  • the operator of program B will make the program promotional video in advance, and provide the program promotional video to application A.
  • the user performs a specified operation in application A, or triggers a specified event, other applications A promotional video for Program B will be played.
  • the method in the related art needs to produce a promotional video for the advertising program frame by frame, and the production method is too complicated.
  • the embodiments of the present application provide a program trial method, system, device, device and medium, which can conveniently generate a publicity file of an advertisement program.
  • the technical solutions include the following solutions.
  • a program trial method is provided, the method is executed by a terminal, and the method includes:
  • the first trial image frame sequence is a trial image frame obtained in real time during the specified program logic process of the trial second program
  • the specified program logic includes at least one of a program of a specified progress, a program of a specified function, and a program of a specified scene
  • a trial image frame in a second trial image frame sequence is superimposed and displayed on the user interface of the first program, and the second trial image frame sequence is all of the trial image frames.
  • the second program responds to the trial image frame obtained by the operation event in real time.
  • a program trial method is provided, the method is executed by a cloud server, and the method includes:
  • the trial request is sent by the trial SDK in response to the calling instruction sent by the first program during the running process, and the trial request is used to request the trial of the second program, and the first program and the trial SDK run on the same terminal;
  • a program trial system comprising: a trial SDK and a cloud server;
  • the trial SDK is used to send a trial request to the cloud server in response to receiving a call instruction sent by the first program during the running process, where the trial request is used to request a trial of the second program, the first program and The trial SDK runs on the same terminal;
  • the cloud server is configured to receive the trial request, and run the specified program logic of the second program to obtain a first trial image frame sequence, where the specified program logic includes a program of a specified schedule, a program of a specified function, and a program of a specified scene. At least one of the programs; send the first trial image frame sequence to the trial SDK;
  • the trial SDK is further configured to receive the first trial image frame sequence, and superimpose and display the trial image frames in the first trial image frame sequence on the user interface of the first program;
  • the trial SDK is further configured to receive the operation event on the trial image frame, and send the operation event to the cloud server;
  • the cloud server is further configured to receive the operation event, and control the second program to respond to the operation event in real time to obtain a second trial image frame sequence; and send the second trial image frame sequence to the trial SDK;
  • the trial SDK is further configured to receive the second trial image frame sequence, and superimpose and display the trial image frames in the second trial image frame sequence on the user interface of the first program.
  • a program trial device comprising:
  • the first receiving module is used to receive the trial request sent by the trial SDK
  • an operation module used for running the specified program logic of the second program to obtain a first trial image frame sequence, the specified program logic including at least one of a program specifying a progress, a program specifying a function, and a program specifying a scene;
  • the trial request is sent by the trial SDK in response to the calling instruction sent by the first program during the running process, and the trial request is used to request the trial of the second program, and the first program and the trial SDK run on the same terminal superior;
  • the first sending module is used to send the first trial image frame sequence to the trial SDK, and the first trial image frame sequence is used to make the trial SDK superimpose and display all the images on the user interface of the first program. Describe the trial image frame in the first trial image frame sequence;
  • the first receiving module is further configured to receive the operation event sent by the trial SDK;
  • the running module is further configured to control the second program to obtain a second trial image frame sequence in real time in response to the operation event, and the operation event is received by the trial SDK on the trial image frame;
  • the first sending module is further configured to send the second trial image frame sequence to the trial SDK, where the second trial image frame sequence is used to make the trial SDK appear on the user interface of the first program
  • the trial image frames in the second trial image frame sequence are superimposed and displayed.
  • a program trial device comprising:
  • a display module for displaying the user interface of the first program
  • the display module is further configured to superimpose and display the trial image frames in the first trial image frame sequence on the user interface of the first program in response to triggering a trial event during the running of the first program,
  • the first trial image frame sequence is a trial image frame obtained in real time in the process of trialing the specified program logic of the second program, and the specified program logic includes at least one of a program specifying a progress, a program specifying a function, and a program specifying a scene.
  • an interaction module for receiving an operation event on the trial image frame
  • the display module is further configured to superimpose and display the trial image frame in the second trial image frame sequence on the user interface of the first program in response to receiving an operation event on the trial image frame, the
  • the second trial image frame sequence is a trial image frame obtained by the second program in real time in response to the operation event.
  • a computer device comprising: a processor and a memory, wherein the memory stores at least one instruction, at least a piece of program, a code set or an instruction set, the at least one The instructions, the at least one piece of program, the code set or the instruction set are loaded and executed by the processor to implement the program trial method as described in the above aspects.
  • a computer-readable storage medium stores at least one instruction, at least one piece of program, code set or instruction set, the at least one instruction, the at least one piece of program , the code set or the instruction set is loaded and executed by the processor to implement the program trial method described in the above aspect.
  • a computer program product or computer program comprising computer instructions stored in a computer readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, causing the computer device to execute to implement the program trial method described in the above aspects.
  • the method is based on cloud technology, the specified program logic of the trial program is run in the cloud server, the cloud server generates trial image frames according to the running results, and sends the trial image frames to the terminal.
  • the trial image frame is decoded and displayed by the trial SDK on the terminal, so that the screen of the trial program can be displayed on the terminal without installing the trial program.
  • the terminal receives the operation on the trial screen, the SDK uploads the operation to the cloud server, and the cloud server controls the second program to generate a new trial image frame in response to the operation, so as to realize the purpose of controlling and trialing the second program.
  • this method does not need to make promotional videos frame by frame, but generates and displays pictures by running the advertisement program in real time.
  • FIG. 1 is a block diagram of a computer system provided by an exemplary embodiment of the present application.
  • FIG. 2 is a block diagram of a computer system provided by another exemplary embodiment of the present application.
  • FIG. 3 is a block diagram of a computer system provided by another exemplary embodiment of the present application.
  • FIG. 5 is a schematic diagram of a user interface of a program trial method provided by another exemplary embodiment of the present application.
  • FIG. 6 is a schematic diagram of a user interface of a program trial method provided by another exemplary embodiment of the present application.
  • FIG. 7 is a schematic diagram of a user interface of a program trial method provided by another exemplary embodiment of the present application.
  • FIG. 8 is a schematic diagram of a user interface of a program trial method provided by another exemplary embodiment of the present application.
  • FIG. 9 is a flowchart of a program trial method provided by another exemplary embodiment of the present application.
  • FIG. 10 is a flowchart of a program trial method provided by another exemplary embodiment of the present application.
  • FIG. 11 is a schematic diagram of a user interface of a program trial method provided by another exemplary embodiment of the present application.
  • FIG. 13 is a schematic diagram of a user interface of a program trial method provided by another exemplary embodiment of the present application.
  • 16 is a schematic diagram of a user interface of a program trial method provided by another exemplary embodiment of the present application.
  • 17 is a schematic diagram of a user interface of a program trial method provided by another exemplary embodiment of the present application.
  • FIG. 18 is a schematic diagram of a user interface of a program trial method provided by another exemplary embodiment of the present application.
  • FIG. 19 is a schematic diagram of the effect of a program trial method provided by another exemplary embodiment of the present application.
  • 21 is a schematic diagram of a program trial device provided by another exemplary embodiment of the present application.
  • FIG. 22 is a schematic diagram of a program trial device provided by another exemplary embodiment of the present application.
  • FIG. 23 is a block diagram of a server provided by an exemplary embodiment of the present application.
  • FIG. 24 is a block diagram of a terminal provided by an exemplary embodiment of the present application.
  • Cloud gaming also known as gaming on demand, is an online gaming technology based on cloud computing technology. Cloud gaming technology enables thin clients with relatively limited graphics processing and data computing capabilities to run high-quality games.
  • the game does not run on the player's game terminal, but in the cloud server, and the cloud server renders the game scene into a video and audio stream, and transmits it to the player's game terminal through the network.
  • the player's game terminal does not need to have powerful graphics computing and data processing capabilities, but only needs to have basic streaming media playback capabilities and the ability to obtain player input instructions and send them to the cloud server.
  • SDK Software Development Kit, software tool development kit
  • Software development tools broadly refer to a collection of related documents, examples and tools that assist in the development of a certain type of software.
  • Software development kit is a collection of development tools used by software engineers to create application software for specific software packages, software frameworks, hardware platforms, operating systems, etc.
  • SDK is used to develop applications under the Windows platform. SDK. It can simply provide some files of the Application Programming Interface (Application Programming Interface) for a programming language, but it may also include complex hardware that can communicate with an embedded system.
  • General tools include utilities for debugging and other purposes. SDKs also often include sample code, supporting technical notes, or other supporting documentation to clarify doubts for basic reference material.
  • UI User Interface, user interface
  • any visual control or element that can be seen on the user interface of the application such as pictures, input boxes, text boxes, buttons, labels and other controls, some of which UI controls respond to the user's Actions, such as download controls, can download a second program when triggered.
  • the UI controls involved in the embodiments of the present application include but are not limited to: download controls and trial controls.
  • FIG. 1 shows a schematic structural diagram of a computer system provided by an exemplary embodiment of the present application, where the computer system includes a terminal 120 and a cloud server 140 .
  • the terminal 120 and the cloud server 140 are connected to each other through a wired or wireless network.
  • the terminal 120 may include at least one of a smart phone, a notebook computer, a desktop computer, a tablet computer, a smart speaker, and a smart robot.
  • Terminal 120 includes a display; the display is used to display trial image frames.
  • Terminal 120 includes a first memory and a first processor.
  • the first memory stores a first program and a trial SDK; the first program and the trial SDK are called and executed by the first processor to implement the program trial method.
  • the first program and the trial SDK are associated, and when the first program needs to use the program trial function, the first program calls the trial SDK to complete the program trial.
  • the trial SDK is embedded in the first program.
  • the first program and the trial SDK respectively run in different processes when running.
  • the first memory may include but is not limited to the following: random access memory (Random Access Memory, RAM), read only memory (Read Only Memory, ROM), programmable read only memory (Programmable Read-Only Memory, PROM), Erasable Programmable Read-Only Memory (EPROM), and Electrically Erasable Programmable Read-Only Memory (EEPROM).
  • RAM Random Access Memory
  • ROM read only memory
  • PROM Programmable Read-Only Memory
  • EPROM Erasable Programmable Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • the first processor may be composed of one or more integrated circuit chips.
  • the first processor may be a general-purpose processor, such as a central processing unit (Central Processing Unit, CPU) or a network processor (Network Processor, NP).
  • the first processor may implement the program trial method provided by this application by calling the trial SDK.
  • the cloud server 140 includes a second memory and a second processor.
  • a second program is stored in the second memory, and the second program is called by the second processor to implement the program trial method provided by the present application.
  • the second memory may include, but is not limited to, the following: RAM, ROM, PROM, EPROM, and EEPROM.
  • the second processor may be a general-purpose processor, such as a CPU or NP.
  • a cloud server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud service, cloud database, cloud computing, cloud function, cloud storage, network service, cloud communication, Cloud servers for basic cloud computing services such as middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.
  • the terminal may be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto.
  • the terminal and the cloud server can be directly or indirectly connected through wired or wireless communication, which is not limited in this application.
  • the computer system further includes a management background, which is a computer device.
  • the management background may be a desktop computer, a smart phone, a notebook computer, a tablet computer, a smart speaker, or a smart robot. at least one of.
  • the management background and the cloud server 140 are connected to each other through a wired or wireless network.
  • the management background is used to manage the cloud server, configure relevant parameters for the cloud server, upload data, etc.
  • FIG. 2 shows a schematic structural diagram of a computer system provided by another exemplary embodiment of the present application, where the computer system includes a terminal 120 , a cloud server 140 and a management background 150 .
  • the terminal 120 runs a first program 160 and a trial SDK 130.
  • the trial SDK 130 is embedded in the first program 160, and the first program 160 calls the trial SDK 130 through a calling instruction, so that the trial SDK 130 communicates with the cloud server 140. interact.
  • the second program runs on the cloud server 140 .
  • the terminal 120 and the cloud server 140 are connected to each other through a wired or wireless network.
  • the cloud server 140 and the management background 150 are connected to each other through a wired or wireless network.
  • the cloud server 140 includes three physical servers: an advertisement server, an operation server, and a configuration server, and the three physical servers implement the program trial method provided in this application.
  • three physical servers may share one database, or each physical server may be provided with one database.
  • the advertisement server and the operation server are connected to each other through a wired or wireless network
  • the operation server and the configuration server are connected to each other through a wired or wireless network
  • the advertisement server and the configuration server are connected to each other through a wired or wireless network.
  • the management background and the three physical servers are connected to each other through a wired or wireless network.
  • the terminal and the advertisement server are connected to each other through a wired or wireless network
  • the terminal and the running server are connected to each other through a wired or wireless network.
  • composition of the cloud server 140 is not limited to the three physical servers in the above example, and the cloud server may include more or less physical servers to implement the program trial method provided in this application.
  • FIG. 3 shows a schematic structural diagram of a computer system provided by another exemplary embodiment of the present application, where the computer system includes: a cloud server 140 and a terminal 120 .
  • the cloud server 140 runs a second program, and the second program 101 uses the graphics library 102 to generate a trial image frame (program screen). Then, video coding 105 is performed on the trial image frame to generate video data, and the video data is transmitted to the terminal 120 through the first network transmission module 106 .
  • the terminal 120 receives the video data sent by the server through the second network transmission module 107 , and then performs video decoding 108 on the received video data, and displays the trial image frame obtained after decoding on the second display screen 109 .
  • the terminal 120 receives the click event 121 (operation event) on the trial image frame, it sends the click event 121 to the cloud server 140 through the second network transmission module 107 .
  • the cloud server receives the click event 121 through the first network transmission module 106, then inputs the click event 121 into the image library 102 of the second program 101, and generates an OpenGL (Open Graphics Library) instruction 122 according to the click event 121, and the GPU 103 according to the OpenGL
  • the instruction 122 generates a trial image frame of the second program 101, and then transmits the new trial image frame to the terminal 120 for display through the video encoding 105 and the first network transmission module 106 to form a video stream.
  • the program trial method provided in this application can be used in scenarios such as program trial, program promotion, and program advertisement.
  • the steps performed by the trial SDK can also be understood as being performed by the first program embedded with the trial SDK, or, it can be understood as being performed by the terminal.
  • FIG. 4 shows a flowchart of a program trial method provided by an exemplary embodiment of the present application.
  • the method may be performed by the computer system shown in FIG. 1 , FIG. 2 or FIG. 3 .
  • the computer system includes: a terminal and a cloud server, wherein the terminal runs a first program and a trial SDK.
  • the method includes the following steps.
  • Step 201 the trial SDK receives the calling instruction sent by the first program during the running process.
  • the first program and the trial SDK run on the same terminal, and the terminal runs the first program.
  • the first program calls the trial SDK, and performs data processing with the cloud server through the trial SDK. Interact to obtain the running screen (trial image frame) of the second program.
  • the first program is associated with the trial SDK, the trial SDK is embedded in the first program, and the first program invokes the trial SDK through a calling instruction.
  • the trial SDK provides APIs suitable for various operating systems, that is, the trial SDK can be embedded in any program to provide the program with a program trial function.
  • the first program and the trial SDK run in different processes.
  • the first program runs in the first process.
  • the first program sends a calling instruction to start the trial SDK.
  • the trial SDK runs in the second process, so that the trial SDK sends a trial request to the cloud server.
  • the first program is the host program of the advertisement
  • the trial SDK is the advertisement SDK or the trial SDK
  • the second program is the advertisement program.
  • the calling instruction is used to start the trial SDK, and send a trial request to the cloud server through the trial SDK.
  • the calling instruction includes relevant information required for requesting to try the second program.
  • the calling instruction includes: the program identifier of the first program, the current running scene of the first program, the advertisement identifier, the advertisement type, the second program at least one of the program identifiers.
  • the calling instruction is sent by the first program to the trial SDK when a trial event is triggered in the first program.
  • the trial event can be any event that occurs in the first program.
  • the trial event may be that the user performs a specified trigger operation, or the first program automatically triggers the specified event.
  • the trial event includes the first trial event
  • the first trial event includes: the death of the game character, the completion of the specified level, the game suspension, the request to obtain the specified item, the victory of the game character, the request to enter the specified level, At least one of the number of specified items is zero, the request to unlock the specified game content, the completion of the specified achievement, the kill of the specified character, the completion of the specified game task, and the opening of the advertisement page.
  • it is a game interface 301 of a puzzle escape game.
  • a resurrection pop-up window 302 is displayed.
  • the trial event includes the second trial event
  • the second trial event includes: browsing At least one of the specified content, the browsing duration reaches the specified duration, the request to unlock the specified function, the request to browse the specified content, and the request to block advertisements.
  • it is an information page 305 of a search engine program.
  • an advertisement blocking page 307 pops up.
  • the advertisement blocking page provides two types of blocking advertisements.
  • One way is to trigger the fourth control 308 to activate members of the search engine program to remove advertisements on the page; the other is to trigger the fifth control 309 to try the second program to remove advertisements from the page.
  • the fifth control 309 to try the second program to remove advertisements from the page.
  • the trial event when the first program is a video playing program, the trial event includes a third trial event, and the third trial event includes: the playback duration reaches the specified duration, the specified video is played, the advertisement time is requested to be shortened, and at least one of the specified video is requested to be played. kind.
  • FIG. 7 it is a video playback interface 310 of a video playback program.
  • the current video is a video that can only be viewed by trying the second program.
  • the trial event is triggered.
  • a program (the video playback program) sends a calling instruction to the trial SDK to start the trial SDK.
  • Step 202 the trial SDK sends a trial request to the cloud server.
  • the trial SDK sends a trial request to the cloud server in response to receiving the calling instruction sent by the first program during the running process, where the trial request is used for requesting trial of the second program.
  • the trial request is generated according to the invocation request, and the data in the trial request includes at least one of the data in the invocation request.
  • the data in the trial request includes at least one of: a program identifier of the first program, a current running scenario of the first program, an advertisement identifier, an advertisement type, and a program identifier of the second program.
  • the data packet sent by the terminal to the cloud server includes a process identifier, and it can be determined according to the process identifier in the data packet that the data packet is sent to the cloud server by the process where the trial SDK is located.
  • Step 203 the cloud server receives the trial request, and runs the specified program logic of the second program to obtain the first trial image frame sequence.
  • the cloud server stores trial information, and the cloud server determines the program to be tried and the specified program logic of the program according to the data carried in the trial request, and then runs the program to obtain the trial image frame.
  • the specified program logic includes at least one of a program specifying a progress, a program specifying a function, and a program specifying a scene.
  • the event has a completion progress
  • the user can start the event from the specified progress.
  • the specified progress can be the specified game progress
  • the game progress is the game progress of the game content. Just like reading a novel, the progress is 0% when entering the game, and when the game is cleared, the game progresses. Indicates that the game experience progress has reached 100%.
  • the progress of the game is usually multi-threaded and multi-branched.
  • the character level is a thread, and when the level is full, the game progress of the level is 100%; the character's weapons and equipment are various, when all the equipment is collected. , the progress of equipment collection is 100%; therefore, the game progress can be an intuitive perception result determined according to comprehensive factors such as play time and operation progress.
  • the second program may be a level-breaking game, and the level-breaking game provides multiple game levels, and the specified program logic for the cloud server to run the second program may be: the cloud server runs the third level of the level-breaking game, allowing the user to try the third level of the level-breaking game. Three passes.
  • the specified progress can be the specified task progress.
  • the second program processes the picture including three steps: cropping, beautifying and filtering, then the beautification can be used as the specified task progress. , so that the user skips the trimming step of the first step and directly tries the beautification step.
  • the second program is a document editing program that provides Word editing functions, Excel editing functions, and PowerPoint editing functions.
  • the specified program logic for the cloud server to run the second program may be: the cloud server runs the Excel editing function of the document editing program, and opens the trial The Excel document allows users to try out the Excel editing functions.
  • the second program when the second program is a game program, some game programs divide the game into different game scenes, game modes or game maps, and can also allow the user to enter a specified game scene, game mode or game map by specifying a scene, Let's try the second program. That is, the specified scene includes at least one of a specified game scene and a specified game mode.
  • the second program may be a role-playing game (Role-Playing Game, RPG), in which the user can control the game character to enter different game scenes, for example, the game scenes include: Yimi plateau, frozen forest, foggy Swamps, etc., virtual characters enter different game scenes to experience different game contents.
  • RPG role-playing game
  • the specified program logic for the cloud server to run the second program may be: the cloud server runs a role-playing game, controls the game character to enter the foggy swamp scene, and allows the user to control the game character to move in the foggy swamp scene.
  • the second program may be a shooting game, and different game modes are provided in the shooting game.
  • the game modes include: classic mode, war mode, sniper mode, entertainment mode, etc., and different game modes have different game modes play.
  • the specified program logic for the cloud server to run the second program may be: the cloud server runs the shooting game, controls the game character to enter the game in the classic mode, and allows the user to try the classic mode of the shooting game.
  • the specified program logic is determined according to a preset mapping relationship, and the mapping relationship may store: the first program, the running scene of the first program, the second program, the specified program logic of the second program, and the Mapping relations.
  • the second program and the specified program logic are determined based on the first program when the trial event is triggered, and the running scenario of the first program.
  • the specified program logic triggered by the specified program logic is different according to the scene that triggers the trial event.
  • triggering the advertisement control in different scenarios can try different specified program logics or different advertisement programs.
  • the user can trigger the advertisement control to try the first specified program logic of the second program; when the first program is running in the second scene, the user can trigger the advertisement control to try the second program's logic.
  • the second specifies program logic. This method is different from the method of playing fixed advertisements by triggering fixed controls in the related art, which can make advertisements closely associated with the running status of the host program, push different advertisements for users based on the different running conditions of the host program, and enrich the way of pushing advertisements .
  • the first sequence of trial image frames includes at least one trial image frame.
  • the trial image frame is a display image of the second program obtained in real time by the cloud server in the process of running the second program.
  • the cloud server sequentially intercepts the images when the second program is running to obtain the trial image frame sequence, and the trial SDK plays the trial image frame sequence in sequence to obtain the video of the second program running.
  • each trial image frame corresponds to a timestamp, and the cloud server sequentially sends the trial image frame sequence to the trial SDK according to the timestamp of the trial image frame.
  • Step 204 the cloud server sends the first trial image frame sequence to the trial SDK.
  • the cloud server will send the trial image frame to the trial SDK in real time to form a video stream.
  • the cloud server performs video encoding on the first trial image frame sequence to obtain video data, and sends the video data to the trial SDK.
  • the first trial image frame sequence can be obtained by decoding the video data with the trial SDK.
  • the way that the cloud server performs video encoding may be to compress the trial image frame sequence into H.264 format.
  • Step 205 The trial SDK receives the first trial image frame sequence, and superimposes and displays the trial image frames in the first trial image frame sequence on the user interface of the first program.
  • the trial SDK After receiving the first trial image frame sequence, the trial SDK renders the first trial image frame sequence to the display screen of the terminal for display.
  • the superimposed display means that the display priority of the trial SDK is higher than the display priority of the first program, and the trial image frame of the trial SDK will be displayed on the upper layer of the user interface of the first program.
  • the trial image frame of the trial SDK may cover the entire user interface of the first program, or may cover a part of the user interface of the first program.
  • by adjusting the transparency of the trial image frame the user can see the user interface of the first program through the trial image frame. For example, as shown in FIG. 5, which is a user interface of the first program, after the user clicks the second control 304, as shown in FIG. 8, the trial image frame 312 of the second program is displayed, and the trial image frame 132 is displayed in the first program.
  • the upper layer of the user interface of a program and completely covers the user interface of the first program.
  • Step 206 the trial SDK receives an operation event on the trial image frame.
  • the trial SDK needs to record the user's trigger operation on the terminal, send the trigger operation to the cloud server, and the cloud server controls the second program to run according to the trigger operation.
  • the operation event is used to determine the trigger operation of the user on the trial image frame.
  • Action events are generated based on user trigger actions.
  • the trial SDK records the user's operation on the trial image frame, and generates operation events.
  • the way to try the SDK to record operation events can be: periodically record the location information of the touch points generated by the user touching the display screen, for example, record the location information of the touch points every 0.01s to generate operation events.
  • the trial SDK can take the direction parallel to the frame of the display screen as the xy axis, take any point on the display screen as the origin, establish a rectangular coordinate system, and record the position coordinates of the contact point on the rectangular coordinate system.
  • the trial SDK can also identify the user's trigger operation, and when the user's trigger operation is a valid operation, the valid operation is uploaded to the cloud server as an operation event.
  • the trial SDK can identify effective operations such as click operation, double-click operation, sliding operation, and drag operation according to the movement trajectory of the touch point over a period of time.
  • the trial SDK when the user clicks the skill control 313 on the trial image frame, the trial SDK generates an operation event according to the user's click operation record and the position coordinates of the user's click, and sends the operation event to the cloud server.
  • Step 207 the trial SDK sends an operation event to the cloud server.
  • Step 208 the cloud server receives the operation event, and controls the second program to obtain a second trial image frame sequence in response to the operation event.
  • the cloud server After receiving the operation event, the cloud server generates a corresponding control instruction according to the operation event, and controls the second program to respond to the user operation according to the control instruction.
  • the second program responds to the operation event, the screen of the second program changes, and the second trial image frame sequence is obtained.
  • the second trial image frame sequence includes at least one trial image frame sequence.
  • the timestamp corresponding to the second trial image frame sequence is later than the first trial image frame sequence.
  • the cloud server receives the operation event that the user clicks the skill control 313, it controls the second program to respond to the operation event, and the second program responds to the operation event to control the virtual character to use the skill, and generate a screen for the virtual character to use the skill, A second trial image frame sequence is obtained.
  • Step 209 the cloud server sends the second trial image frame sequence to the trial SDK.
  • Step 210 the trial SDK receives the second trial image frame sequence, and superimposes and displays the trial image frames in the second trial image frame sequence on the user interface of the first program.
  • the cloud server sends the generated trial image frame to the trial SDK in real time
  • the trial SDK displays the trial image frame in real time
  • a first user account is logged into the first program (for example, the first user account may be a first mobile phone number), and the trial request sent by the trial SDK to the cloud server includes the first user account. Then during the trial of the second program, or after the trial of the second program ends, the cloud server can send the trial data to the second server corresponding to the second program, and the second server stores the trial data corresponding to the second user account.
  • the second user account has an associated relationship with the first user account, for example, corresponding to the same mobile phone number (first mobile phone number).
  • the second server can synchronize the trial data to the terminal, so that the second user account can continue to use the second program from the progress stored in the trial data.
  • the server (second server) corresponding to the advertisement program (second program) can store the progress of the user in the trial process. After the user tries the second program, downloads the second program and runs it, and logs in the second user account on the second program, the second server can synchronize the progress with the second program (terminal), so that the user can immediately follow the last time The trial progress continues using the second program.
  • the cloud server sends trial data to the second server, where the trial data includes the first user account and data generated by the specified program logic of the trial second program.
  • the terminal runs the second program, and acquires trial data in response to logging in the second user account corresponding to the first user account in the second program.
  • the terminal runs the second program based on the trial data, and displays the user interface of the second program.
  • a specified program logic of the program is displayed to the user by means of program trial, so that the user can try a function, a progress or a scene of the program, so that the user can try the program through the trial program.
  • the method is based on cloud technology, the specified program logic of the trial program is run in the cloud server, the cloud server generates trial image frames according to the running results, and sends the trial image frames to the terminal.
  • the trial image frame is decoded and displayed by the trial SDK on the terminal, so that the screen of the trial program can be displayed on the terminal without installing the trial program.
  • the SDK uploads the operation to the cloud server, and the cloud server controls the second program to generate a new trial image frame in response to the user's operation, so that the user can control the second program and try the second program.
  • this method does not need to make promotional videos frame by frame, but generates and displays pictures by running the advertisement program in real time.
  • publicity documents it is only necessary to call the relevant interface to run the advertisement program on the cloud server, thereby reducing the cost of the terminal trial program and improving the trial efficiency.
  • various programs can be tried out by using the trial SDK, and the cloud server determines the program to be tried this time according to the trial request.
  • FIG. 9 shows a flowchart of a program trial method provided by an exemplary embodiment of the present application.
  • the method may be performed by the computer system shown in FIG. 1 , FIG. 2 or FIG. 3 .
  • the computer system includes: a terminal and a cloud server, wherein the terminal runs a first program and a trial SDK.
  • step 201 further includes steps 401 to 403 before step 201
  • step 203 further includes steps 2031 to 2032 .
  • Step 401 the terminal displays the user interface of the first program.
  • Step 402 the terminal triggers a trial event.
  • the terminal triggers the trial event on the user interface of the first program, that is, the terminal triggers the trial event in the first program.
  • the calling instruction is sent by the first program in response to triggering the first trial event, and the first trial event includes: the death of the game character, completion of the specified level, the game pause, the request to obtain the specified item, the victory of the game character, At least one of the request to enter the specified level, the number of specified props to be zero, and the request to unlock the specified game content;
  • the calling instruction is sent by the first program in response to triggering a second trial event, and the second trial event includes: browsing the specified content, browsing the specified duration, requesting to unlock the specified function, requesting to browse the specified content at least one of;
  • the calling instruction is sent by the first program in response to triggering a third trial event, and the third trial event includes: the playback duration reaches the specified duration, the specified video is played, the advertisement time is requested to be shortened, and the specified video is requested to be played. at least one of them.
  • Step 403 the first program sends a calling instruction to the trial SDK.
  • the data in the calling instruction is used to send the trial SDK to the cloud server, so that the cloud server determines the trial program and the specified program logic according to the data.
  • Step 2031 the cloud server obtains a guide file specifying program logic according to the trial request.
  • the cloud server runs the specified program logic of the second program by replacing the instruction file.
  • the guide file is used for storing the running progress of the second program, or for specifying the function of running the second program.
  • the guide file for storing the running progress of the second program when the second program is a locally archived program, the guide file includes an archive file; when the second program is a network archived program, the guide file includes a configuration file.
  • the cloud server runs the specified program logic by replacing the configuration file of the program.
  • the configuration file of the second program is located in the "Android ⁇ data ⁇ ... ⁇ Saved ⁇ Paks" folder.
  • the specific content/environment/ To play When configuring the specified program logic of the second program, the specific content/environment/ To play, generate a configuration file that specifies a certain program logic.
  • the cloud server stores the generated configuration file in a specified location.
  • the cloud server can also directly call the API interface provided by the server of the second program, directly activate the specified program logic, and enter the corresponding progress, function or scene.
  • the cloud server executes the specified program logic by replacing the archived file.
  • the archive file of the second program is located in the " ⁇ data ⁇ data ⁇ peg-name ⁇ " folder.
  • the cloud server obtains the archive file, stores it in the " ⁇ data ⁇ data ⁇ peg-name ⁇ ” folder to replace the original local archive file, and then runs the second program. Run the specified program logic.
  • the cloud server will correspondingly store relevant information of the second program, and the cloud server will correspondingly search for the program for this trial and specify the program logic according to the data in the trial request.
  • the calling instruction includes the program identifier of the first program
  • the trial request includes the program identifier
  • the cloud server is further configured to determine the second program and the specified program logic according to the program identifier in the trial request
  • the storage path of the guidance file according to the specified program logic Obtain a guide file; and obtain a first trial image frame sequence according to the operation information of the second program and the designated program logic of running the second program according to the guide file.
  • the cloud server stores trial program release information, and records the correspondence between the host program (first program), the trial program (second program), and the logic of the designated program. Different host programs correspond to different trial programs.
  • the first program When calling the trial SDK, the first program will send the program identifier of the first program to the trial SDK, and then the trial request sent by the trial SDK to the cloud server will also carry the program identifier.
  • the cloud server determines the trial program corresponding to the first program: the second program according to the program identifier of the first program, determines the specified program logic of the second program at the same time, and then determines the corresponding program logic of the specified program.
  • the storage path of the guidance file then obtain the guidance file, and save the guidance file in the specified folder. Then, the second program is executed, and the specified program logic of the second program can be executed.
  • the calling instruction further includes channel scenario information of the trial scenario of the first program, and the trial request further includes channel scenario information;
  • the cloud server is also used to determine the second program and the designated program according to the program identifier and channel scenario information in the trial request. logic.
  • the cloud server also stores the channel scenario information of the host program, and when a trial is initiated from different channel scenarios of the host program, different trial programs are tried, or different program logics of the same trial program are tried.
  • the first program is a level-breaking game. After the game character is killed, the user can try the second program to revive the game character.
  • the first level corresponds to a channel scene information (the first channel scene identifier), and the second level corresponds to a channel.
  • Scene information (second channel scene identifier) the calling instruction sent by the game character when he is killed in the first stage includes the first channel scene identifier, the trial request includes the first channel scene identifier, and the cloud server determines the first channel scene identifier according to the first channel scene identifier.
  • the trial program corresponding to the second level of a program and the specified program logic find the corresponding guide file, and replace the guide file.
  • the calling instruction further includes user information stored in the first program, and the trial request further includes user information;
  • the cloud server is further configured to determine the second program and specified program logic according to the program identifier and user information in the trial request.
  • a host program can correspond to multiple trial programs.
  • the call instruction will include user information.
  • the trial SDK sends the user information to the cloud server through the trial request, and the cloud server can use the user information according to the user information. to select one of the multiple trial programs corresponding to the first program as the trial program for this trial, or, according to the user information, to select one of the multiple program logics of the trial program as the designated program logic for this trial.
  • the user information can include gender information. When the user's gender is male, a shooting game or a sports event program can be selected from multiple trial programs as the trial program for this trial; when the user's gender is female, it can be selected from multiple trial programs.
  • the shopping program is selected from the trial programs as the trial program of this trial, or the dress-up level of the puzzle game is used as the designated program logic of this trial.
  • the user information is user information stored in the first program, for example, user information of a user account logged in in the first program.
  • the user's history record on the first program may also be used as the user information, for example, the web pages browsed by the user may be used as the user information.
  • the user information may include at least one of: user name, user ID, gender, registration time, history, avatar, age, interests, and friend list.
  • the cloud server may generate a user portrait according to the user information, select a trial program for this trial from multiple trial programs according to the user portrait, or select a designated program logic for this trial from multiple program logics.
  • the cloud server may also store the user information, and when the user's trial request is received again, the user's historical trial situation is used as a reference to recommend a trial program to the user.
  • the calling instruction also includes a screenshot of the interface of the first program
  • the trial request also includes a screenshot of the interface
  • the cloud server is also used to identify the screenshot of the interface to obtain the identification result
  • the second program and the specified program are determined according to the identification result and the program identifier in the trial request. program logic.
  • the first program may also obtain a screenshot of the interface by taking a screenshot of the user interface, send the screenshot of the interface to the trial SDK, and the trial SDK sends the screenshot of the interface to the cloud server through a trial request.
  • the cloud server performs image recognition on the screenshot of the interface, obtains the recognition result, and determines the trial program and specified program logic for this trial according to the recognition result. For example, when the cloud server recognizes that the screenshot of the interface includes the word "victory", the second program is used as a trial program, and when the cloud server recognizes that the word "failure" is included in the screenshot of the interface, it takes the third program as a trial program.
  • the cloud server may also compare the interface screenshot with the sample screenshot.
  • the trial program or program logic corresponding to the sample screenshot will be used as the trial program for this trial. and specify program logic. That is, the cloud server can pre-store several sample screenshots of the first program, each sample screenshot corresponds to a trial program and specified program logic, and the sample screenshots are used to identify the scene in which the first program is currently running, and then determine the trial program and the specified program. logic.
  • Step 2032 the cloud server obtains the first trial image frame sequence by running the specified program logic of the second program according to the instruction file.
  • the cloud server stores the guidance file in a specified location, and then runs the second program, so that the specified program logic of the second program can be executed.
  • the cloud server will return program introduction information of the second program to the trial SDK, so that the trial SDK displays the demo image frame of the second program.
  • the method further includes steps 501 and 502 , and steps 601 and 602 .
  • Step 501 the cloud server sends program introduction information of the second program to the trial SDK.
  • the program brief information is used to display the demo image frame of the second program.
  • the program introduction information includes at least one kind of information among an icon, a name, an introduction, a picture, and a slogan of the second program that may be displayed on the demo image frame.
  • the program profile information may also carry other information, for example, carrying at least one of the program identifier (the program identifier of the second program), advertisement type, and trial duration of the trial program to be tried this time.
  • this embodiment does not limit the sequence of steps 501 and 203 , and steps 501 to 602 may be performed before or after step 203 .
  • step 203 and steps 501 to 602 are steps performed synchronously.
  • steps 501, 502, 601, and 602 are executed after step 202 and before step 204.
  • steps 501 and 502 may be executed, or steps 501, 502, 601, and 602 may be executed. are implemented.
  • Step 502 the trial SDK receives the program introduction information, and displays the demo image frame of the second program according to the program introduction information.
  • the trial SDK In response to receiving the program profile information of the second program sent by the cloud server, the trial SDK superimposes and displays the demo image frame of the second program on the user interface of the first program according to the program profile information.
  • the trial SDK superimposes and displays the demo image frame of the second program on the user interface of the first program.
  • the demo image frame is an introduction image of the second program for introducing the second program.
  • the demo image frame is a page displayed to the user before the user starts to actually try the second program, and the page does not belong to the screen corresponding to the specified program logic of the second program.
  • the information of the second program is displayed on the demo image frame, for example, the icon, name, slogan, function, gameplay, operation demonstration and other information of the second program.
  • a trial control is set on the demonstration image frame.
  • the terminal When the terminal receives a trigger operation on the trial control, it starts to try out the second program, and the terminal sends a request for obtaining the trial image frame to the cloud server, and starts to receive the cloud server.
  • the sent trial image frame sequence is in another demonstration image frame, there is no trial control on the demonstration image frame, and no trigger area that can interact with the user is set on the demonstration image frame, and the user can only watch the demonstration image frame, During this period, when the terminal receives the trial image frame sequence sent by the cloud server, the terminal starts to display the trial image frame sequence, and starts to trial the second program.
  • the demo image frame is one frame, and does not have consecutive frames before and after (there may be simple animation on the demo image frame, or, short video, before and after frames of simple animation and short video are not considered), and the trial An image frame is a trial image, and a sequence of trial image frames can form a trial video, with continuous front and rear frame images.
  • a demonstration image frame of the second program is given, and the icon 315 of the second program, the name 316 of the second program and the slogan 317 of the second program are displayed on the demonstration image frame 314 .
  • the program profile information is preconfigured and stored in the cloud server.
  • the cloud server can immediately return the program profile information of the second program to the trial SDK without running the second program. That is, before running the second program, the cloud server may return program introduction information of the second program to the trial SDK.
  • Step 601 the trial SDK receives a trigger operation on the trial control.
  • demo image frames are displayed with trial controls.
  • the trial control is used to send an image frame acquisition request to the cloud server, so that the cloud server sends the trial image frame of the second program.
  • the trial SDK In response to receiving the trigger operation on the trial control, the trial SDK sends a video acquisition request to the cloud server through the trial SDK, and the video acquisition request is used to request to acquire the first trial image frame sequence.
  • a trial control 318 is displayed on the demo image frame.
  • the trial SDK receives a trigger operation (click operation) on the trial control 318 .
  • Step 602 the trial SDK sends an image frame acquisition request to the cloud server.
  • the cloud server after receiving the image frame acquisition request sent by the trial SDK, the cloud server starts to send trial image frames (the first trial image frame sequence) to the trial SDK.
  • a trial control may not be set on the demo image frame, and the cloud server generates the first trial image frame sequence and immediately sends the first trial image frame sequence to the trial SDK.
  • the first program when the first program triggers a trial event, a call instruction is sent to the trial SDK, and the trial SDK sends a trial request to the cloud server according to the call instruction, and the first program can set the trigger condition for the trial , under various trigger conditions, you can call the trial SDK to try other programs, which is suitable for various application scenarios.
  • the designated program logic of the second program is run according to the guide file of the designated program logic, the guide program logic can be replaced by replacing the guide file, and the program in the advertisement can be replaced at any time through lightweight adjustment. progress/level/content, greatly reducing the trial and error cost of advertising.
  • the cloud server determines the trial program for this trial and the specified program logic according to the data in the trial request, so that one host program can correspond to multiple different trial programs, or multiple different program logics , which provides the program with the possibility to try multiple programs.
  • the cloud server may also perform key frame detection on the trial image frame, and execute a specified operation when a key frame is detected.
  • the cloud server can add a mask to the trial image frame to display text, pictures, or controls. The user can download the second program by clicking the download control on the mask.
  • FIG. 12 shows a flowchart of a program trial method provided by an exemplary embodiment of the present application.
  • the method may be performed by the computer system shown in FIG. 1 , FIG. 2 or FIG. 3 .
  • the computer system includes: a terminal and a cloud server, wherein the terminal runs a first program and a trial SDK.
  • the method includes the following steps.
  • Step 801 the cloud server runs the second program to obtain trial image frames.
  • the cloud server runs the second program, and captures a screenshot of the interface of the second program to obtain the trial image frame.
  • Step 802 in response to detecting the first key frame in the trial image frame, the cloud server controls the second program to respond to the operation instruction corresponding to the first key frame, the operation instruction is used to complete the specified operation in the second program, and the trial image frame is A trial image frame in the first trial image frame sequence or the second trial image frame sequence.
  • the cloud server needs to automatically operate the second program to perform corresponding operations, or the cloud server needs to process the trial image frame to present a new image to the user. Therefore, the cloud server detects the generated trial image frames, finds key frames from them, and performs corresponding operations according to the types of key frames.
  • the server can find the key frame through image recognition.
  • the key frame is identified according to the specified text, pattern, and graphic information.
  • the trial image frame includes the specified text, pattern, graphic, and color block
  • the frame is Trial image frames are keyframes.
  • the server may also identify key frames by invoking the image recognition model.
  • the cloud server monitors the first key frame in the trial image frame, and when monitoring the first key frame, controls the second program to complete the specified operation according to the operation instruction corresponding to the first key frame.
  • the first key frame is a trial image frame containing the keyword "login”, and when the cloud server detects the first key frame, it automatically controls the second program to log in to the specified user account.
  • the cloud server identifies the first trial image frame sent to the trial SDK according to the key frame, or determines the end time of the program trial, or calls the specified interface, or calls the specified function, or automatically triggers the operation, Or, automatically exit the program.
  • Step 803 In response to detecting the second key frame in the trial image frame, the cloud server obtains mask information corresponding to the second key frame, and the mask information is used to control the trial SDK to display the custom mask on the second key frame.
  • the cloud server may also detect key frames, and overlay a custom mask on the image of the key frame, and the custom mask may display at least one of pictures, text, and UI controls.
  • the content displayed on the mask layer can be customized.
  • the information on the mask layer can be set as text, pictures and download controls that guide the user to download the second program.
  • the identification logic of the key frame and the mask information added on the key frame can be configured through the management background.
  • the custom mask is displayed on top of the trial keyframes, ie, the custom mask overlay is displayed on the trial keyframe.
  • the mask information includes: the content displayed on the mask (text, pictures, UI controls), the position where the mask is displayed on the trial image frame, the duration of the mask display, the key frames corresponding to the mask, etc. at least one kind of information.
  • Step 804 the cloud server sends mask information to the trial SDK while sending the second key frame to the trial SDK.
  • the cloud server packages the mask information corresponding to the second key frame together and sends it to the trial SDK, so that the trial SDK displays the second key frame when the trial SDK displays the second key frame. , displays a custom mask on the second keyframe based on the mask information.
  • the terminal receives the second key frame and the mask information sent by the cloud server through the trial SDK, and the second key frame corresponds to the mask information; in response to displaying the second key frame, according to the mask information, the second key frame is displayed in the second key frame.
  • a custom mask is a layer displayed on the trial image frame, and the custom mask partially occludes the trial image frame, or completely occludes the trial image frame.
  • the data packet sent by the cloud server to the trial SDK includes the second key frame and mask information, wherein the mask information corresponds to a timestamp, and the timestamp is the same as the timestamp of the second key frame.
  • the custom mask layer includes, but is not limited to, the first download mask layer and the second download mask layer provided in the following embodiments.
  • a custom mask layer 319 is displayed on the trial image frame (second key frame), and the custom mask layer 319 displays the icon of the second program, the name of the second program, and the second program.
  • the download control 320 for the program is displayed on the trial image frame (second key frame), and the custom mask layer 319 displays the icon of the second program, the name of the second program, and the second program.
  • Step 901 the trial SDK displays a first download mask on the trial image frame, and the first download mask includes a first download control.
  • a first download mask is displayed on the trial image frame, the first download mask is a custom mask, the mask includes a first download control, and the first download control is used to download the second download program.
  • Step 902 the trial SDK downloads the second program in response to receiving the trigger operation on the first download control.
  • the terminal in response to receiving the trigger operation on the first download control, the terminal calls the first program to download the second program through the trial SDK, or sends a download request to the cloud server for downloading the second program, or calls a third-party program. Download the second program.
  • the terminal when the terminal receives a trigger operation on the first download control. You can send a request to download the second program to the cloud server through the trial SDK, or you can download the second program by calling the download component of the first program through the trial SDK, and you can also download the second program by calling a third-party program through the trial SDK.
  • is a program capable of downloading the second program for example, the third-party program may be an application store, a browser, and the like.
  • the terminal can also send a download request for downloading the second program to the cloud server through the trial SDK, and then the cloud server forwards the download request to the server of the second program, and the server of the second program provides the cloud server with the information of the second program. Download the data, and then the cloud server transmits the downloaded data back to the trial SDK.
  • Step 1001 the trial SDK responds to satisfying the trial termination condition.
  • the conditions for ending the trial include at least one of the following conditions: 1. When the trial time reaches the trial duration, the trial ends; 2. When the trial time reaches the trial duration, the second download mask is displayed. , when the user clicks to download or exit, the trial ends; 3. When a key frame is detected, the trial ends; 4, when a key frame is detected, the third download mask is displayed, and when the user clicks to download or exit, the trial ends .
  • the trial SDK counts the trial time of the second program; in response to the trial time reaching the trial duration, sending an end instruction to the cloud server to end the trial process; or, timing the trial time of the second program, in response to the trial time reaching the trial duration , the second download mask layer is displayed, and the second download mask layer includes the second download control and the first exit control; in response to receiving the trigger operation on the second download control or the first exit control, an end instruction is sent to the cloud server, and the end trial process.
  • the trial duration is 60s, that is, after the user tries the second program for 60s, the terminal will automatically exit the trial, the trial SDK sends an end command to the cloud server, and stops the trial SDK process.
  • a second download mask is displayed on the trial image frame, and the user can exit the trial by triggering the download control or exiting the control.
  • a second download mask 321 is displayed on the trial image frame, and the second download mask 321 has a download control 322 and an exit control 323. The user can download the second program by triggering the download control 322 and To exit the trial, the trial can also be exited by triggering the exit control 323 .
  • the layer includes a third download control and a second exit control; in response to receiving a trigger operation on the third download control or the second exit control, an end instruction is sent to the cloud server to end the trial process.
  • the cloud server when the cloud server detects the third key frame, it will send an end command while sending the third key frame to the trial SDK.
  • the trial SDK receives the end command, it will stop the trial at the third key frame. process.
  • the cloud server stops running the second program.
  • the trial SDK stops the trial process, it will also send trial information to the first program.
  • the trial information includes the time of the trial, whether to download the second program, etc.
  • the first program can reward the user according to the trial information, for example, resurrect the game Characters, unlock items, unlock levels, etc.
  • the terminal counts the trial time of the second program; in response to the trial time reaching the trial duration, the trial process ends; or, timing the trial time of the second program, and in response to the trial time reaching the trial duration, displaying the second download mask,
  • the second download mask layer includes a second download control and a first exit control; in response to receiving a trigger operation on the second download control or the first exit control, the trial process is ended.
  • the terminal may also end the trial process in response to displaying the third key frame; or, in response to displaying the third key frame, display a third download mask corresponding to the third key frame, where the third download mask includes the third download mask.
  • a download control and a second exit control in response to receiving a trigger operation on the third download control or the second exit control, the trial process is ended.
  • Step 1002 the trial SDK sends an end instruction to the cloud server.
  • Step 1003 the cloud server stops running the second program in response to receiving the end instruction.
  • Step 1004 the terminal exits the trial SDK and starts the first program.
  • the terminal can automatically start the first program, so that the user automatically returns to the first program and continues to browse the first program.
  • the method provided in this embodiment controls the second program to automatically perform certain operations by detecting key frames, so as to automatically perform certain steps in the second program, such as login account, etc., and reduce user operations , to improve trial efficiency.
  • key frames By detecting key frames, adding a display mask layer on the key frame, and adding display publicity information on the mask layer, the publicity information can be generated quickly.
  • the download control on the mask layer it provides a fast download method and simplifies the operation of downloading advertising programs.
  • the program trial system further includes a management background, where the management background is used to manage data in the cloud server.
  • FIG. 14 shows a flowchart of a program trial method provided by an exemplary embodiment of the present application.
  • the method may be performed by the computer system shown in FIG. 1 , FIG. 2 or FIG. 3 .
  • the computer system includes: a terminal and a cloud server, wherein the terminal runs a first program and a trial SDK.
  • the method includes the following steps.
  • Step 1101 the management background receives the second program, and generates a program identifier of the second program.
  • the management background is connected to the cloud server for managing information in the cloud server.
  • the user uploads the second program through the management background, and the management background automatically generates a program identifier of the second program.
  • the management background stores the installation package of the second program to the cloud server.
  • Step 1102 the management background sends an installation instruction to the cloud server.
  • Step 1103 the cloud server installs the second program on the target board.
  • the device that actually runs the program in the cloud server is called the board, and its function is equivalent to the computer motherboard.
  • the program starts and runs on the cloud server board, and the rendered trial image frame is encoded by the cloud server and then transmitted to the trial SDK through the network.
  • Each cloud server contains multiple boards, and each board is responsible for processing one program at a time.
  • a single board is called a board node, and each board corresponds to a board ID.
  • Step 1104 the management background generates running information of the second program.
  • the management background generates the running information of the second program according to the installation situation of the second program on the cloud server.
  • the running information includes at least one of a server ID, a board ID of the target board on which the second program is installed, and a program ID of the second program.
  • the server identifier is the identifier of the cloud server.
  • Step 1105 the management background configures the operation information of the second program.
  • the operation information includes at least one of the rendering resolution of the second program, the program identifier of the first program, channel scene information, and trial duration.
  • the channel scene information is the channel scene information of the host program corresponding to the second program.
  • Step 1106 the management background receives the guidance information of the second program, and generates advertisement information of the second program.
  • the guide information includes at least one of guide files, key frame detection logic, and mask information.
  • the advertisement information includes at least one of advertisement type and advertisement identification.
  • ad types include rewarded ads and playable ads.
  • Rewarded advertising refers to a form of advertising that uses incentives such as free game props or game currency in mobile games to attract users to actively click and watch advertisements in full, and then guide users to convert advertisements. For example, the game prompts the user to revive the game characters, double the rewards, and obtain game props for free after watching the advertisement completely.
  • Trial ads are based on experience programs and are embedded in mobile games in the form of advertisements. Users trigger advertisements in mobile games through active/passive triggers, and directly try the program content in the advertising interface through cloud technology, and finally register and download or other conversion behavior.
  • the management background manages the data of each host program and trial program in the cloud server, adds the trial program, associates the host program and the trial program, and the trial program It can realize the quick management of cloud server and simplify the operation and maintenance mode of cloud server.
  • FIG. 15 shows a flowchart of a program trial method provided by an exemplary embodiment of the present application.
  • the method may be executed by the terminal in the computer system shown in FIG. 1 , FIG. 2 or FIG. 3 .
  • the method includes the following steps.
  • Step 1301 displaying the user interface of the first program.
  • the first program is a search engine program
  • the user interface 1901 is an information browsing page of the search engine program.
  • step 1301 may be replaced by: displaying a user interface of a first program, in which a trial SDK is embedded, and the first program is a game program.
  • Step 1302 in response to triggering a trial event during the running of the first program, superimpose and display the trial image frames in the first trial image frame sequence on the user interface of the first program, and the first trial image frame sequence is in the trial second.
  • the trial image frame obtained in real time in the process of specifying program logic of the program, where the specified program logic includes at least one of a specified progress, a specified function and a specified scene.
  • the user interface 1801 of the first program there is a close control 1902 for closing the advertisement on the page, and the user can close the advertisement in the page by trying the second program.
  • the close control 1902 as shown in (2) in FIG. 16, the first trial image frame 1903 of the second program is superimposed and displayed on the user interface 1801 of the first program. , wherein the first trial image frame 1903 completely covers the user interface 1801 .
  • the second program is a shooting game, and the specified program logic is the battle scene of the shooting game, that is, the first trial image frame is a picture of the battle scene of the user trying out the shooting game.
  • real-time means that the trial image frame in this embodiment is a trial image frame generated in real time by running the second program in real time. That is, the trial image frame is not pre-recorded, but is generated in real time. According to different operation events received on the trial image frame, the displayed content of the trial image frame is different. That is, the trial image frame can respond to operation events in real time.
  • the second program runs on the cloud server and generates the trial image frame and displays it on the terminal, there may be a certain delay in the response of the trial image frame to the operation event.
  • step 1302 may be replaced by: in response to triggering the trial event during the running of the first program, identifying the running state or running scenario of the first program when the trial event is triggered.
  • the second program and the specified program logic of the second program are determined based on the running state or the running scene of the first program, and the trial image frames in the first trial image frame sequence are superimposed and displayed on the user interface of the first program.
  • the terminal can automatically determine the second program that should be tried at this time and its specified program logic by recognizing the running scene of the first program when the trial event is triggered, so as to realize that different running states/running scenarios of the first program can be automatically triggered.
  • Second program According to the association between different running states/scenarios of the host program (the first program) and the advertisement program (the second program), trials of different advertisement programs can be placed for different running states/scenarios, or different programs of the same advertisement program can be placed.
  • the trial of logic enriches the association and interactivity between the host program and the advertising program.
  • the identification of the running state or the running scene of the first program can be performed by the terminal, for example, identified by the first program in the terminal, or identified by the trial SDK in the terminal; it can also be identified by the cloud server.
  • the first program in response to triggering a trial event during the running of the first program, identifies the running state or running scenario of the first program when the trial event is triggered, and generates indication information, where the indication information is used to indicate the running state when the trial event is triggered or running scenario; the first program sends a call instruction to call the trial SDK, and the call instruction includes the indication information; after the trial SDK is called, it sends a trial request to the cloud server, and the trial request includes the indication information; the cloud server determines based on the indication information The second program and the specified program logic of the second program.
  • the first program in response to triggering a trial event during the running process of the first program, sends a call instruction to call the trial SDK, and the call instruction includes at least one of scene information (channel scene information, and a screenshot of the user interface of the first program). ); the trial SDK identifies the running status or running scenario of the first program when the trial event is triggered based on the scene information, and generates indication information, which is used to indicate the running status or running scenario when the trial event is triggered; the trial SDK sends a trial request to the cloud server , the trial request includes the indication information; the cloud server determines the second program and the specified program logic of the second program based on the indication information.
  • scene information channel scene information, and a screenshot of the user interface of the first program.
  • the first program in response to triggering a trial event during the running process of the first program, sends a call instruction to call the trial SDK, and the call instruction includes at least one of scene information (channel scene information, and a screenshot of the user interface of the first program). ); the trial SDK sends a trial request to the cloud server, and the trial request includes the scene information; the cloud server identifies the running state or the running scene of the first program when the trial event is triggered based on the scene information, and determines its corresponding second program and second program The specified program logic of the program.
  • the information (scenario information) used to identify the running state or running scene of the first program may include: the running program code of the first program, parameters generated/recorded during the running of the first program, the first program The displayed user interface (screenshot of the user interface), the first program.
  • the scene information includes at least one of a program identifier of the first program, channel scene information of the first program, and an interface screenshot of the first program.
  • step 1302 can be replaced with: in response to triggering a trial event during the running of the first program, sending a trial request to the cloud server through the trial SDK, where the trial request is used to request trial of the second program,
  • the trial request includes: the program identifier of the first program, the channel scene information of the trial scene of the first program, or, the trial request includes a screenshot of the interface of the first program, and the second program is a cloud game program;
  • the trial event includes the first trial event, and the first trial event includes the first trial event.
  • a trial event includes at least one of: the death of the game character, completion of the specified level, the game suspension, the request to obtain the specified item, the victory of the game character, and the request to enter the specified level.
  • the cloud server In response to receiving the first trial image frame sequence sent by the cloud server, superimposing and displaying trial image frames in the first trial image frame sequence on the user interface of the first program, where the first trial image frame sequence is the cloud server running the second program
  • the trial image frame obtained by the specified program logic, the specified program logic is determined by the cloud server according to the program identifier and channel scene information in the trial request, or, the second program and the specified program logic are the recognition results obtained by the cloud server according to the screenshot of the recognition interface Determined;
  • the specified program logic includes at least one of a program that specifies a progress, a program that specifies a function, and a program that specifies a scene;
  • the cloud server is used for: using the graphics library through the second program to display on the first display screen through the graphics processor GPU A trial image frame of the second program is generated.
  • Step 1303 in response to receiving the operation event on the trial image frame, superimpose and display the trial image frame in the second trial image frame sequence on the user interface of the first program, and the second trial image frame sequence is the real-time response operation of the second program.
  • Trial image frame obtained by the event.
  • the second trial image frame 1905 shown in (3) in FIG. 16 is displayed, and the first trial image frame 1905 is displayed.
  • the second trial image frame 1905 shows the game character changing from the driving position to the roof position.
  • the cloud server detects that the word "failure" exists in the second trial image frame, it determines that the trial is over, and sends the trial image frame to the terminal at the same time.
  • Send a trial end instruction the terminal ends the trial according to the trial end instruction, and displays the information page 1907 as shown in (4) in Figure 16.
  • the advertisement content has been removed from the information page 1907.
  • the second program successfully removed the advertisements in the information page of the first program.
  • step 1303 can be replaced with: in response to receiving the operation event on the trial image frame, send the operation event to the cloud server through the trial SDK; the operation event is generated according to the trigger operation, and the trial SDK uses It is used to periodically record the position information of the touch points generated by the user on the display screen, and generate operation events; the trial SDK is used to establish the Cartesian coordinates with the direction parallel to the border of the display screen as the xy axis and any point on the display screen as the origin system, record the position coordinates of the contact point on the Cartesian coordinate system; the cloud server is used for: receiving the operation event through the first network transmission module, inputting the operation event into the graphics library of the second program, and generating the trial image of the second program according to the operation event frame, and then through the video coding and the first network transmission module, the new trial image frame is transmitted to the terminal for display to form a video stream; in response to receiving the second trial image frame sequence sent by the cloud server, the user of the first program The trial image frames in
  • the second trial image frame sequence is the trial image frames obtained by the cloud server controlling the second program in response to the operation event.
  • the superimposed display includes: the display priority of the trial SDK is higher than that of the trial SDK.
  • the display priority of the first program, and the trial image frame of the trial SDK is displayed on the upper layer of the user interface of the first program.
  • a specified program logic of the program is displayed to the user by means of program trial, so that the user can try a function, a progress or a scene of the program, so that the user can try the program through the trial program.
  • the method is based on cloud technology, the specified program logic of the trial program is run in the cloud server, the cloud server generates trial image frames according to the running results, and sends the trial image frames to the terminal.
  • the trial image frame is decoded and displayed by the trial SDK on the terminal, so that the screen of the trial program can be displayed on the terminal without installing the trial program.
  • the SDK uploads the operation to the cloud server, and the cloud server controls the second program to generate a new trial image frame in response to the user's operation, so that the user can control the second program and try the second program.
  • this method does not need to make promotional videos frame by frame, but generates and displays pictures by running the advertisement program in real time.
  • publicity documents it is only necessary to call the relevant interface to run the advertisement program on the cloud server, thereby reducing the cost of the terminal trial program and improving the trial efficiency.
  • the present application also provides an exemplary embodiment of using the program trial method provided by the present application in advertisements.
  • the advertiser when an advertiser wants to place an advertisement program in a certain host program to achieve the purpose of promoting the advertisement program, the advertiser can add the advertisement program to the cloud server through the management background, and configure the relevant parameters of the advertisement. , for example, to specify a feature of a trial ad program.
  • the host program When the user triggers a trial event in the host program, the host program will call the trial SDK to send a trial request to the cloud server, and the cloud server will determine the ad program for this trial according to the trial request, run the specified function of the ad program, and run the generated trial
  • the screen is returned to the trial SDK, which is displayed by the trial SDK.
  • the trial SDK can receive the user's operation events on the user interface and return the operation events to the cloud server.
  • the cloud server generates a new trial screen according to the user's operation events, and will try The screen returns to the trial SDK again. In this way, the user can directly try the specified function of the advertisement program on the terminal. If the user wants to continue to use the advertising program after the trial, the user can download the advertising program by clicking the download control on the trial screen.
  • the above advertisement program may be a game program.
  • the second program places a trial advertisement in the first program (video playback program).
  • the first program video playback program
  • FIG. 17 when the user clicks the video playback control 2002 of the first video in the user interface 2001 of the video playback program, as shown in (2) in FIG. 17 , a pop-up is displayed on the user interface 2001
  • the trial pop-up window of the I Love Music APP shows the trial control 2003 of the I Love Music APP on the trial pop-up window.
  • the user starts to try out the song-recognizing function of the I Love Music APP.
  • the listening and identifying song interface 2004 of the I Love Music APP is displayed.
  • the trial time countdown 2005 of this trial will also be displayed on the interface 2004 of listening to songs and identifying songs.
  • a download mask 2006 is displayed on the music interface 2004, and there is a download control 2007 of the I Love Music APP on the download mask 2006.
  • the user can click the download control 2007 to start downloading the I Love Music APP.
  • the user can click the exit control 2008 on the download mask 2006 to exit the trial, and the user interface 2001 shown in (1) in FIG. 17 is displayed.
  • the user obtains the qualification to watch the first video, and the terminal can automatically The first video is played, or the user clicks the play control 2002 again to start playing the first video.
  • the second program places a trial advertisement in the first program (the escape game).
  • the escape game As shown in (1) in FIG. 18 , when the game character controlled by the user in the escape game dies, a user interface 2101 for reviving the game character is displayed.
  • a rescue me control 2102 for reviving the game character of the trial game A, and the user clicks the rescue me control 2102 to trigger the trial event, and the display is as follows: The demo image frame 2103 of the game A shown in (2) in FIG.
  • the demo image frame is displayed with the demo control 2104 of the game A, and the user clicks the demo control 2104 to start the first level of the demo game A, such as As shown in (3) in FIG. 18 , the trial image frame 2105 of the first level of game A is displayed, and the download mask 2106 of game A is displayed on the trial image frame 2105, and the user can click on the download mask 2106 at any time.
  • the trial play ends as shown in (4) in FIG. 18 , the trial play end mask 2108 is displayed on the trial play image frame, and the game is displayed on the trial play end mask layer 2108 A's download control 2109, the user can click the download control 2109 to download game A.
  • the cloud demo advertisement 1602 produced by using the program trial method provided by the present application has a much higher download rate in the playback advertisement than the traditional video advertisement 1601.
  • the end page The download rate is slightly higher than that of traditional video ads 1601, and the download completion rate is more than double that of traditional video ads.
  • the method provided in this embodiment can display the content of the advertisement program on the terminal without the advertisement program, and can directly run the specified game progress or specified game level of the advertisement program, and display the core gameplay or plot of the game, Greatly improves the content quality of trial advertisements; and allows custom overlay images/text on the trial screen to promote the target game, improve the quality of advertisements, and simplify the operations required to display additional information on the trial screen; Lightweight adjustment, changing the progress/level/content of the game experience in the advertisement at any time, greatly reducing the trial and error cost of advertising; any host program that supports the Android operating system can be made into a cloud game trial advertisement, cross-system and cross-terminal Advertise.
  • the cloud server includes three physical servers: an advertisement server, an operation server, and a configuration server.
  • the advertisement server is used to store the operation information of the first program and the second program
  • the operation server is provided with a board card for running the second program
  • the configuration server is used for invoking the instructions of the specified program logic of the second program. document. This embodiment is described by taking an example that three physical servers share the same database.
  • FIG. 20 shows a flowchart of a program trial method provided by an exemplary embodiment of the present application.
  • the method may be performed by a terminal, an advertisement server, an execution server and a configuration server.
  • the method includes the following steps.
  • Step 1201 the trial SDK receives the calling instruction sent by the first program during the running process.
  • Step 1202 the trial SDK sends a trial request to the cloud server.
  • Step 1203 the advertisement server receives the trial request, and determines the second program and the specified program logic according to the program identifier in the trial request.
  • the advertisement server queries the second program for this trial and the specified program logic according to information such as the identifier of the first program and the channel scene identifier carried in the trial request. And after the second program and the specified program logic are queried, the running information of the second program on the running server, for example, the running server identification, the board card identification, etc. is acquired. At the same time, obtain the storage path of the instruction file of the specified program logic.
  • the advertisement server may also return program introduction information of the second program to the trial SDK, and let the trial SDK first display the demo image frame of the second program according to the program introduction information.
  • the advertisement server may also return the running information of the second program to the trial SDK, so that the trial SDK and the running server are connected to the data generated during the running of the second program.
  • Step 1204 the advertisement server sends the running information of the second program to the running server.
  • Step 1205 the advertisement server sends the storage path of the instruction file specifying the program logic to the configuration server.
  • Step 1206 the configuration server obtains the instruction file specifying the program logic according to the storage path.
  • Step 1207 The configuration server sends a guide file specifying program logic to the execution server.
  • Step 1208 the running server runs the specified program logic of the second program according to the running information and the instruction file, and obtains the first trial image frame sequence.
  • the execution server replaces the original guidance file of the second program with the guidance file sent by the configuration server, and then runs the second program, the specified program logic of the second program can be executed.
  • Step 1209 the running server sends the first trial image frame sequence to the trial SDK.
  • Step 1210 The trial SDK receives the first trial image frame sequence, and superimposes and displays the trial image frames in the first trial image frame sequence on the user interface of the first program.
  • the running server sends the trial image frame generated during the running of the second program to the trial SDK in real time, and the trial SDK sends the user's operation event to the running server in real time, so that the running server controls the second program to generate a new image in response to the user's operation event. Try out image frames.
  • the advertisement server, the operation server, and the configuration server are respectively responsible for the operation of the advertisement-related logic
  • the second program runs the operation of the relevant logic, the operation of the specified program logic-related logic, and uses three physical
  • the server cooperates to complete the program trial method executed by the cloud server, thereby improving the program trial efficiency.
  • FIG. 21 shows a block diagram of a program trial device provided by an exemplary embodiment of the present application.
  • the device can be implemented as a whole or a part of a cloud server.
  • the device includes the following devices:
  • the first receiving module 1401 is used to receive a trial request sent by the trial SDK;
  • a running module 1402 configured to run the specified program logic of the second program to obtain a first trial image frame sequence, where the specified program logic includes at least one of a program specifying a progress, a program specifying a function, and a program specifying a scene;
  • the trial request is sent by the trial SDK in response to the calling instruction sent by the first program during the running process, and the trial request is used to request the trial of the second program, and the first program and the trial SDK run in the same on the terminal;
  • the first sending module 1403 is configured to send the first trial image frame sequence to the trial SDK, where the first trial image frame sequence is used to superimpose the trial SDK on the user interface of the first program to display Trial image frames in the first trial image frame sequence;
  • the first receiving module 1401 is further configured to receive the operation event sent by the trial SDK;
  • the operation module 1402 is further configured to control the second program to obtain a second trial image frame sequence in real time in response to the operation event, and the operation event is received by the trial SDK on the trial image frame;
  • the first sending module 1403 is further configured to send the second trial image frame sequence to the trial SDK, where the second trial image frame sequence is used to enable the trial SDK to display in the user interface of the first program.
  • the trial image frames in the second trial image frame sequence are superimposed and displayed.
  • the trial request includes indication information, where the indication information is used to indicate a running state or a running scenario of the first program when the trial event is triggered;
  • An operation module 1404 configured to determine the second program and the designated program logic of the second program based on the indication information.
  • the trial request includes scenario information, where the scenario information is used to describe the running state or running scenario of the first program when the trial event is triggered;
  • the operation module 1404 is configured to identify the scene information, and determine the second program and the specified program logic of the second program based on the identification result of the scene information.
  • the scene information includes at least one of a program identifier of the first program, channel scene information of the first program, and a screenshot of an interface of the first program.
  • the apparatus further includes:
  • an operation module 1404, configured to determine the instruction file of the specified program logic according to the trial request
  • the running module 1402 is further configured to run the specified program logic of the second program according to the guide file to obtain the first trial image frame sequence.
  • the calling instruction includes a program identifier of the first program, and the trial request includes the program identifier;
  • the operation module 1404 is further configured to determine the storage path of the second program and the guidance file of the specified program logic according to the program identifier in the trial request;
  • the operation module 1402 is further configured to obtain the guidance file of the specified program logic according to the storage path.
  • the invocation instruction further includes channel scenario information of the first program trial channel scenario, and the trial request further includes the channel scenario information;
  • the operation module 1404 is further configured to determine the second program and the specified program logic according to the program identifier and the channel scene information in the trial request.
  • the calling instruction further includes user information stored in the first program, and the trial request further includes the user information;
  • the operation module 1404 is further configured to determine the second program and the specified program logic according to the program identifier and the user information in the trial request.
  • the calling instruction further includes a screenshot of the interface of the first program, and the trial request further includes the screenshot of the interface;
  • the operation module 1404 is further configured to identify the screenshot of the interface to obtain the identification result;
  • the operation module 1404 is further configured to determine the second program and the specified program logic according to the identification result and the program identifier in the trial request.
  • the instruction file in response to the second program being a locally archived program, includes an archive file;
  • the guidance file includes a configuration file.
  • the first sending module 1403 is further configured to send program introduction information of the second program to the trial SDK, where the program introduction information is used to display the information of the second program. Demo image frame.
  • a trial control is displayed on the demo image frame
  • the first receiving module 1401 is further configured to receive a video acquisition request sent by the SDK;
  • the first sending module 1403 is further configured to send the first trial image frame sequence to the trial SDK in response to receiving a video acquisition request, where the video acquisition request is a response of the trial SDK to receiving the Sent by a trigger action on a trial control.
  • the operation module 1402 is further configured to, in response to detecting a first key frame in the trial image frame, control the second program to respond to an operation corresponding to the first key frame an instruction, the operation instruction is used to complete the specified operation in the second program, and the trial image frame is a trial image frame in the first trial image frame sequence or the second trial image frame sequence;
  • the operation module 1402 is further configured to, in response to detecting the second key frame in the trial image frame, obtain the mask information corresponding to the second key frame;
  • the first sending module 1403 is further configured to send the mask information to the trial SDK while sending the second key frame to the trial SDK, where the mask information is used to control the trial SDK Display a custom mask on the second keyframe.
  • the first receiving module 1401 is further configured to receive a download request of the second program sent by the SDK;
  • the first sending module 1403 is further configured to send the second program to the trial SDK in response to receiving the download request of the second program sent by the trial SDK.
  • the first receiving module 1401 is further configured to receive an end instruction sent by the SDK;
  • the running module 1402 is further configured to stop running the second program in response to receiving an end instruction sent by the trial SDK.
  • the first program is a game program
  • the calling instruction is sent by the first program in response to triggering a first trial event, where the first trial event includes: the death of a game character, Complete at least one of the specified level, the game is suspended, the request to obtain the specified item, the game character wins, and the request to enter the specified level;
  • the first program is a content browsing program
  • the calling instruction is sent by the first program in response to triggering a second trial event
  • the second trial event includes: browsing the specified content, the browsing duration reaches the specified duration, At least one of requesting to unlock the specified function and requesting to browse the specified content;
  • the first program is a video playback program
  • the calling instruction is sent by the first program in response to triggering a third trial event
  • the third trial event includes: the playback duration reaches the specified duration, the specified video is played, At least one of requesting shortening of the ad time and requesting to play the specified video.
  • the apparatus further includes:
  • a management module 1405, configured to receive the second program, and generate a program identifier of the second program
  • the operating module 1402 is further configured to install the second program on the target board;
  • the management module 1405 is further configured to generate operation information of the second program, where the operation information includes a server ID, a board ID of the target board on which the second program is installed, and the ID of the second program. At least one of the program identifiers.
  • the management module 1405 is further configured to configure operation information of the second program, where the operation information includes the rendering resolution of the second program, channel scene information, and trial duration. at least one of.
  • the management module 1405 is further configured to receive guide information of the second program, where the guide information includes at least one of guide files and key frame detection logic; 2. Advertisement information of the program, where the advertisement information includes at least one of an advertisement type and an advertisement identifier.
  • FIG. 22 shows a block diagram of a program trial device provided by another exemplary embodiment of the present application.
  • the apparatus can be implemented as all or a part of the terminal.
  • the device includes the following devices:
  • a display module 1504 configured to display the user interface of the first program
  • the display module 1504 is further configured to superimpose and display the trial image frames in the first trial image frame sequence on the user interface of the first program in response to triggering a trial event during the running of the first program , the first trial image frame sequence is a trial image frame obtained in real time during the specified program logic process of the trial second program, and the specified program logic includes the program of the specified progress, the program of the specified function and the program of the specified scene. at least one;
  • An interaction module 1505, configured to receive an operation event on the trial image frame
  • the display module 1504 is further configured to superimpose and display the trial image frame in the second trial image frame sequence on the user interface of the first program in response to receiving an operation event on the trial image frame, so
  • the second trial image frame sequence is a trial image frame obtained by the second program in real time in response to the operation event.
  • the display module 1504 is further configured to, in response to triggering the trial event during the running of the first program, identify the running of the first program when the trial event is triggered status or operating scenario;
  • the display module 1504 is further configured to determine the second program and the specified program logic of the second program based on the running state or the running scenario of the first program, and in all the first program superimposing and displaying the trial image frames in the first trial image frame sequence on the user interface;
  • the first trial image frame sequence is a trial image frame obtained by trialing the specified program logic of the second program, and the specified program logic includes a program specifying a progress, a program specifying a function, and a program specifying a scene. at least one of.
  • the display module 1504 is further configured to acquire scene information, where the scene information is used to describe the running state or running scene of the first program when the trial event is triggered;
  • the display module 1504 is further configured to identify the scene information and generate indication information, where the indication information is used to indicate the running state or the running scene;
  • the second sending module 1503 is configured to send a trial request to the cloud server through the trial SDK, where the trial request is used for requesting trial of the second program, and the trial request includes the indication information;
  • the display module 1504 is further configured to, in response to receiving the first trial image frame sequence sent by the cloud server, superimpose and display the first trial image frame sequence on the user interface of the first program. trial image frame;
  • the first trial image frame sequence is a trial image frame obtained in real time by the cloud server in the process of running the specified program logic of the second program, the second program and all the second program
  • the specified program logic is determined by the cloud server based on the indication information.
  • the display module 1504 is further configured to acquire scene information, where the scene information is used to describe the running state or running scene of the first program when the trial event is triggered;
  • the second sending module 1503 is configured to send a trial request to the cloud server through the trial SDK, where the trial request is used for requesting trial of the second program, and the trial request includes the scene information;
  • the display module 1504 is further configured to, in response to receiving the first trial image frame sequence sent by the cloud server, superimpose and display the first trial image frame sequence on the user interface of the first program. trial image frame;
  • the first trial image frame sequence is a trial image frame obtained in real time by the cloud server in the process of running the specified program logic of the second program, the second program and all the second program
  • the specified program logic is determined after the cloud server recognizes the scene information.
  • the scene information includes at least one of a program identifier of the first program, channel scene information of the first program, and a screenshot of an interface of the first program.
  • the apparatus further includes:
  • the second sending module 1503 is configured to send a trial request to the cloud server through the trial SDK in response to triggering a trial event during the running of the first program, where the trial request is used to request a trial of the second program;
  • the second receiving module 1501 is configured to receive the first trial image frame sequence sent by the cloud server;
  • the display module 1504 is further configured to, in response to receiving the first trial image frame sequence sent by the cloud server, superimpose and display the first trial image frame sequence on the user interface of the first program.
  • Trial image frames where the first trial image frame sequence is a trial image frame obtained in real time by the cloud server in the process of running the specified program logic of the second program.
  • the apparatus further includes:
  • the second sending module 1503 is configured to send the operation event to the cloud server through the trial SDK in response to receiving the operation event on the trial image frame;
  • the second receiving module 1501 is configured to receive the second trial image frame sequence sent by the cloud server;
  • the display module 1504 is further configured to, in response to receiving the second trial image frame sequence sent by the cloud server, superimpose and display the images in the second trial image frame sequence on the user interface of the first program.
  • Trial image frames, and the second trial image frame sequence is a trial image frame obtained by the cloud server controlling the second program in real time in response to the operation event.
  • the trial request includes a program identifier of the first program, and the second program and the specified program logic are determined by the cloud server according to the program identifier.
  • the trial request further includes channel scenario information of the trial scenario of the first program; the second program and the specified program logic are obtained by the cloud server according to the program identifier and the specified program logic. Determined by the channel scene information.
  • the trial request further includes user information stored in the first program; the second program and the specified program logic are the cloud server according to the program identifier and the User information is determined.
  • the trial request further includes a screenshot of the interface of the first program; the second program and the specified program logic are recognition results obtained by the cloud server according to the screenshot of the interface. and the program ID identified.
  • the apparatus further includes:
  • the second receiving module 1501 is configured to receive the program profile information of the second program sent by the cloud server;
  • the display module 1504 is further configured to, in response to receiving the program introduction information of the second program sent by the cloud server, superimpose and display the first program on the user interface of the first program according to the program introduction information. Two program demo image frames.
  • a trial control is displayed on the demo image frame
  • the interaction module 1505 is further configured to receive a trigger operation on the trial control
  • the second sending module 1503 is further configured to, in response to receiving a trigger operation on the trial control, send a video acquisition request to the cloud server through the trial SDK, where the video acquisition request is used to request to acquire the The first trial image frame sequence.
  • the apparatus further includes:
  • the second receiving module 1501 is configured to receive the second key frame and mask information sent by the cloud server through the trial SDK, where the second key frame corresponds to the mask information;
  • the display module 1504 is further configured to, in response to displaying the second key frame, display a custom mask layer on the second key frame according to the mask layer information.
  • a first download mask is displayed on the trial image frame, and the first download mask includes a first download control; the apparatus further includes:
  • the interaction module 1505 is further configured to receive a trigger operation on the first download control
  • the calling module 1506 is configured to call the first program to download the second program through the trial SDK in response to receiving the trigger operation on the first download control;
  • a second sending module 1503 configured to send a download request for downloading the second program to the cloud server;
  • the calling module 1506 is further configured to call a third-party program to download the second program.
  • the apparatus further includes:
  • timing module 1508 for timing the trial time of the second program
  • An end module 1507 configured to end the trial process in response to the trial time reaching the trial duration
  • the display module 1504 is configured to display a second download mask in response to the trial time reaching the trial duration, and the second download mask includes a second download control and a first exit control;
  • the interaction module 1505 is further configured to receive a trigger operation on the second download control or the first exit control;
  • the end module 1507 is further configured to end the trial process in response to receiving a trigger operation on the second download control or the first exit control;
  • the end module 1507 is further configured to end the trial process in response to displaying the third key frame;
  • the display module 1504 is further configured to display a third download mask corresponding to the third key frame in response to displaying the third key frame, where the third download mask includes a third download control and a second exit control;
  • the interaction module 1505 is further configured to receive a trigger operation on the third download control or the second exit control;
  • the end module 1507 is further configured to end the trial process in response to receiving a trigger operation on the third download control or the second exit control.
  • the first program is a game program
  • the trial event includes a first trial event
  • the first trial event includes: death of a game character, completion of a specified level, game pause, request to obtain a specified Props and game characters win, request to enter at least one of the designated levels;
  • the first program is a game program
  • the trial event includes a second trial event
  • the second trial event includes: browsing the specified content, browsing for a specified duration, requesting to unlock the specified function, requesting to browse the specified content. at least one;
  • the first program is a game program
  • the trial event includes a third trial event
  • the third trial event includes: the playback duration reaches the specified duration, the specified video is played, the advertisement time is requested to be shortened, and the specified video is requested to be played. at least one.
  • FIG. 23 is a schematic structural diagram of a server provided by an embodiment of the present application.
  • the server 700 includes a central processing unit (English: Central Processing Unit, referred to as: CPU) 701, includes a random access memory (English: Random Access Memory, referred to as: RAM) 702 and a read-only memory (English: Read-Only Memory, abbreviated as: ROM) 703 of the system memory 704, and the system bus 705 connecting the system memory 704 and the central processing unit 701.
  • CPU Central Processing Unit
  • RAM Random Access Memory
  • ROM Read-Only Memory
  • the server 700 also includes a basic input/output (I/O, Input/Output) system 706 that facilitates the transfer of information between various devices within the computer, and a large capacity for storing the operating system 713, application programs 714, and other program modules 715 Storage device 707.
  • I/O Input/Output
  • Storage device 707 a basic input/output system 706 that facilitates the transfer of information between various devices within the computer, and a large capacity for storing the operating system 713, application programs 714, and other program modules 715 Storage device 707.
  • the basic input/output system 706 includes a display 708 for displaying information and input devices 709 such as a mouse, keyboard, etc., for user input of information. Both the display 708 and the input device 709 are connected to the central processing unit 701 through an input/output controller 710 connected to the system bus 705 .
  • Basic input/output system 706 may also include input/output controller 710 for receiving and processing input from various other devices such as a keyboard, mouse, or electronic stylus. Similarly, input/output controller 710 also provides output to a display screen, printer, or other type of output device.
  • Mass storage device 707 is connected to central processing unit 701 through a mass storage controller (not shown) connected to system bus 705 .
  • Mass storage device 707 and its associated computer-readable media provide non-volatile storage for server 700 . That is, the mass storage device 707 may include a computer-readable medium (not shown) such as a hard disk or a Compact Disc Read-Only Memory (English: Compact Disc Read-Only Memory, CD-ROM for short) drive.
  • Computer-readable media can include computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media include RAM, ROM, Erasable Programmable Read-Only Memory (English: Erasable Programmable Read-Only Memory, referred to as: EPROM), Electrically Erasable Programmable Read-Only Memory (English: Electrically Erasable Programmable Read-Only Memory) , referred to as: EEPROM), flash memory or other solid-state storage technology, CD-ROM, Digital Versatile Disc (English: Digital Versatile Disc, referred to as: DVD) or other optical storage, tape cassettes, magnetic tape, disk storage or other magnetic storage devices.
  • the system memory 704 and the mass storage device 707 described above may be collectively referred to as memory.
  • the server 700 may also operate on a remote computer connected to a network through a network such as the Internet. That is, the server 700 can be connected to the network 712 through the network interface unit 711 connected to the system bus 705, or can also use the network interface unit 711 to connect to other types of networks or remote computer systems (not shown).
  • the present application also provides a terminal, the terminal includes a processor and a memory, the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the program trial method provided by the above method embodiments. It should be noted that the terminal may be the terminal provided in Figure 24 below.
  • FIG. 24 shows a structural block diagram of a terminal 1700 provided by an exemplary embodiment of the present application.
  • the terminal 1700 can be: a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III, the standard audio level 3 of the moving picture expert compression), MP4 (Moving Picture Experts Group Audio Layer IV, the moving picture expert compression standard audio layer) Level 4) Player, laptop or desktop computer.
  • Terminal 1700 may also be called user equipment, portable terminal, laptop terminal, desktop terminal, and the like by other names.
  • the terminal 1700 includes: a processor 1701 and a memory 1702 .
  • the processor 1701 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like.
  • the processor 1701 can use at least one hardware form among DSP (Digital Signal Processing, digital signal processing), FPGA (Field-Programmable Gate Array, field programmable gate array), PLA (Programmable Logic Array, programmable logic array) accomplish.
  • the processor 1701 may also include a main processor and a coprocessor.
  • the main processor is a processor used to process data in the wake-up state, also called CPU (Central Processing Unit, central processing unit); the coprocessor is A low-power processor for processing data in a standby state.
  • the processor 1701 may be integrated with a GPU (Graphics Processing Unit, image processor), and the GPU is used for rendering and drawing the content that needs to be displayed on the display screen.
  • the processor 1701 may further include an AI (Artificial Intelligence, artificial intelligence) processor, where the AI processor is used to process computing operations related to machine learning.
  • AI Artificial Intelligence, artificial intelligence
  • Memory 1702 may include one or more computer-readable storage media, which may be non-transitory. Memory 1702 may also include high-speed random access memory, as well as non-volatile memory, such as one or more disk storage devices, flash storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1702 is used to store at least one instruction, and the at least one instruction is used to be executed by the processor 1701 to implement the program trial provided by the method embodiments in this application. method.
  • the display screen 1705 is used for displaying UI (User Interface, user interface).
  • the UI can include graphics, text, icons, video, and any combination thereof.
  • the display screen 1705 also has the ability to acquire touch signals on or above the surface of the display screen 1705 .
  • the touch signal can be input to the processor 1701 as a control signal for processing.
  • the display screen 1705 may also be used to provide virtual buttons and/or virtual keyboards, also referred to as soft buttons and/or soft keyboards.
  • the display screen 1705 there may be one display screen 1705, which is provided on the front panel of the terminal 1700; in other embodiments, there may be at least two display screens 1705, which are respectively arranged on different surfaces of the terminal 1700 or in a folded design; In still other embodiments, the display screen 1705 may be a flexible display screen disposed on a curved surface or a folding surface of the terminal 1700 . Even, the display screen 1705 can also be set as a non-rectangular irregular figure, that is, a special-shaped screen.
  • the display screen 1705 can be prepared by using materials such as LCD (Liquid Crystal Display, liquid crystal display), OLED (Organic Light-Emitting Diode, organic light emitting diode).
  • FIG. 24 does not constitute a limitation on the terminal 1700, and may include more or less components than the one shown, or combine some components, or adopt different component arrangements.
  • the memory further includes one or more programs, the one or more programs are stored in the memory, and the one or more programs include a method for performing the program trial provided by the embodiments of the present application.
  • the present application also provides a computer device, the computer device includes: a processor and a memory, the storage medium stores at least one instruction, at least a piece of program, code set or instruction set, the at least one instruction, at least a piece of program, code set Or the instruction set is loaded and executed by the processor to implement the program trial method provided by the above method embodiments.
  • the present application also provides a computer-readable storage medium, which stores at least one instruction, at least one piece of program, code set or instruction set, and the at least one instruction, at least one piece of program, code set or instruction set is loaded by a processor And execute it to realize the program trial method provided by the above method embodiments.
  • the application also provides a computer program product or computer program, the computer program product or computer program comprising computer instructions stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the program trial method provided in the foregoing optional implementation manner.
  • references herein to "a plurality” means two or more.
  • "And/or" which describes the association relationship of the associated objects, means that there can be three kinds of relationships, for example, A and/or B, which can mean that A exists alone, A and B exist at the same time, and B exists alone.
  • the character “/” generally indicates that the associated objects are an "or" relationship.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种程序试用方法、系统、装置、设备及介质,应用于云游戏领域。该方法包括:显示第一程序的用户界面(1301);响应于在第一程序的运行过程中触发试用事件,在第一程序的用户界面上叠加显示第一试用图像帧序列中的试用图像帧,第一试用图像帧序列是在试用第二程序的指定程序逻辑过程中实时得到的试用图像帧,指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种(1302);响应于在试用图像帧上接收到操作事件,在第一程序的用户界面上叠加显示第二试用图像帧序列中的试用图像帧,第二试用图像帧序列是第二程序实时响应操作事件得到的试用图像帧(1303)。该方法便捷地生成广告程序的宣传文件。

Description

程序试用方法、系统、装置、设备及介质
本申请要求于2020年09月15日提交的申请号为202010968247.8、发明名称为“程序试用方法、系统、装置、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云游戏领域,特别涉及一种程序试用方法、系统、装置、设备及介质。
背景技术
为了引导用户下载程序,程序运营方会与其他应用程序的运营方合作,在其他应用程序中嵌入程序广告。用户通过观看广告中对程序的介绍或宣传内容,来了解程序,进而引导用户下载程序。
相关技术中,程序广告为文字介绍或宣传视频。以宣传视频为例,程序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将操作上传给云服务器,云服务器控制第二程序响应该操作生成新的试用图像帧,来实现控制和试用第二程序的目的。相比于传统的视频广告,该方法无需逐帧制作宣传视频,而是通过实时运行广告程序来生成画面并显示。在制作宣传文件时,仅需调用相关接口在云服务器上运行广告程序,因而减少终端试用程序所需的成本,提高试用效率。
附图说明
图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 Programmable Read-Only Memory,EPROM)、以及电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)。
第一处理器可以是一个或者多个集成电路芯片组成。可选地,第一处理器可以是通用处理器,比如,中央处理器(Central Processing Unit,CPU)或者网络处理器(Network Processor,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是搜索引擎程序的资讯浏览页面。
在一种可选的实现方式中,步骤1301可以替换为:显示第一程序的用户界面,第一程序中嵌入有试用SDK,第一程序为游戏程序。
步骤1302,响应于在第一程序的运行过程中触发试用事件,在第一程序的用户界面上叠加显示第一试用图像帧序列中的试用图像帧,第一试用图像帧序列是在试用第二程序的指定程序逻辑过程中实时得到的试用图像帧,指定程序逻辑包括指定进度、指定功能和指定场景中的至少一种。
例如,如图16中的(1)所示,在第一程序的用户界面1801中有关闭页面广告的关闭控件1902,用户可以通过试用第二程序来关闭页面中的广告。用户点击关闭控件1902即为触发试用事件,当用户点击关闭控件1902,如图16中的(2)所示,在第一程序的用户界面1801上叠加显示第二程序的第一试用图像帧1903,其中,第一试用图像帧1903完全覆盖用户界面1801。第二程序是射击游戏,指定程序逻辑是射击游戏的战斗场景,即,第一试用图像帧是用户试玩射击游戏的战斗场景的画面。
示例性的,实时是指:本实施例中的试用图像帧是实时运行第二程序实时生成的试用图像帧。即,该试用图像帧不是预先录制的,而是实时生成的,根据在该试用图像帧上所接收到的操作事件的不同,该试用图像帧所显示的内容不同。即,该试用图像帧可以实时响应操作事件。
示例性的,由于第二程序是在云服务器上运行,生成试用图像帧后在终端上显示,因此,试用图像帧对操作事件的响应可能存在一定时延。
示例性的,步骤1302可以替换为:响应于在第一程序的运行过程中触发试用事件,识别触发试用事件时,第一程序的运行状态或运行场景。基于第一程序的运行状态或运行场景确定第二程序和第二程序的指定程序逻辑,并在第一程序的用户界面上叠加显示第一试用图像帧序列中的试用图像帧。
即,在第一程序不同的运行状态或运行场景下,对应了不同的第二程序,或,对应了同一第二程序的不同指定程序逻辑。
终端可以通过识别触发试用事件时第一程序的运行场景来自动确定此时应该试用的第二程序及其指定程序逻辑,以实现在第一程序的不同运行状态/运行场景下可以自动触发不同的第二程序。根据宿主程序(第一程序)不同运行状态/运行场景与广告程序(第二程序)的关联性,可以针对不同的运行状态/运行场景投放不同广告程序的试用,或,投放同一广告程序不同程序逻辑的试用,丰富宿主程序与广告程序之间的关联性和交互性。
示例性的,对于第一程序的运行状态或运行场景的识别,可以由终端执行,例如,由终端中的第一程序识别,或终端中的试用SDK识别;也可以由云服务器识别。
例如,响应于在第一程序的运行过程中触发试用事件,第一程序识别触发试用事件时第一程序的运行状态或运行场景,生成指示信息,指示信息用于指示触发试用事件时的运行状态或运行场景;第一程序发送调用指令调用试用SDK,该调用指令包括该指示信息;试用SDK被调用后,向云服务器发送试用请求,该试用请求包括该指示信息;云服务器基于该指示信息确定第二程序和第二程序的指定程序逻辑。
再如,响应于在第一程序的运行过程中触发试用事件,第一程序发送调用指令调用试用SDK,该调用指令包括场景信息(渠道场景信息、第一程序的用户界面截图中的至少一种);试用SDK基于场景信息识别触发试用事件时第一程序的运行状态或运行场景,生成指示信 息,指示信息用于指示触发试用事件时的运行状态或运行场景;试用SDK向云服务器发送试用请求,该试用请求包括该指示信息;云服务器基于该指示信息确定第二程序和第二程序的指定程序逻辑。
再如,响应于在第一程序的运行过程中触发试用事件,第一程序发送调用指令调用试用SDK,该调用指令包括场景信息(渠道场景信息、第一程序的用户界面截图中的至少一种);试用SDK向云服务器发送试用请求,该试用请求包括该场景信息;云服务器基于场景信息识别触发试用事件时第一程序的运行状态或运行场景,并确定其对应的第二程序和第二程序的指定程序逻辑。
示例性的,识别第一程序的运行状态或运行场景所用到的信息(场景信息)可以包括:第一程序的所运行的程序代码、第一程序运行中所产生/记录的参数、第一程序所显示的用户界面(用户界面的截图)、第一程序。示例性的,场景信息包括第一程序的程序标识、第一程序的渠道场景信息、第一程序的界面截图中的至少一种。
在一种可选的实现方式中,步骤1302可以替换为:响应于在第一程序的运行过程中触发试用事件,通过试用SDK向云服务器发送试用请求,试用请求用于请求试用第二程序,试用请求包括:第一程序的程序标识、第一程序试用场景的渠道场景信息,或,试用请求包括第一程序的界面截图,第二程序为云游戏程序;试用事件包括第一试用事件,第一试用事件包括:游戏角色阵亡、完成指定关卡、游戏暂停、请求获得指定道具、游戏角色胜利,请求进入指定关卡中的至少一种。响应于接收到云服务器发送的第一试用图像帧序列,在第一程序的用户界面上叠加显示第一试用图像帧序列中的试用图像帧,第一试用图像帧序列是云服务器运行第二程序的指定程序逻辑得到的试用图像帧,指定程序逻辑是云服务器根据试用请求中的程序标识和渠道场景信息确定的,或,第二程序和指定程序逻辑是云服务器根据识别界面截图得到的识别结果确定的;指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;云服务器用于:通过第二程序利用图形库通过图形处理器GPU在第一显示屏上生成第二程序的试用图像帧。
步骤1303,响应于在试用图像帧上接收到操作事件,在第一程序的用户界面上叠加显示第二试用图像帧序列中的试用图像帧,第二试用图像帧序列是第二程序实时响应操作事件得到的试用图像帧。
例如,如图16中的(2)所示,当用户点击第一试用图像帧1903上的换位控件1904时,显示如图16中的(3)所示的第二试用图像帧1905,第二试用图像帧1905显示了游戏角色从驾驶位置换到车顶位置的画面。
示例性的,如图16中的(3)所示,当云服务器检测到第二试用图像帧中存在文字“失败”时,确定本次试玩结束,在向终端发送试用图像帧的同时会发送试玩结束指令,终端根据试玩结束指令结束本次试玩,显示如图16中的(4)所示的资讯页面1907,此时资讯页面1907上已经去除了广告内容,用户通过试玩第二程序成功去除了第一程序的资讯页面中的广告。
在一种可选的实现方式中,步骤1303可以替换为:响应于在试用图像帧上接收到操作事件,通过试用SDK向云服务器发送操作事件;操作事件是根据触发操作生成的,试用SDK用于周期性的记录用户在显示屏上生成的触点的位置信息,生成操作事件;试用SDK用于以平行于显示屏边框的方向为xy轴,以显示屏上任意一点作为原点,建立直角坐标系,记录触点在直角坐标系上的位置坐标;云服务器用于:通过第一网络传输模块接收操作事件,将操作事件输入第二程序的图形库,根据操作事件生成第二程序的试用图像帧,再通过视频编码和第一网络传输模块,将新的试用图像帧传输给终端进行显示,形成视频流;响应于接收到云服务器发送的第二试用图像帧序列,在第一程序的用户界面上叠加显示第二试用图像帧序列中的试用图像帧,第二试用图像帧序列是云服务器控制第二程序响应操作事件得到的试用图像帧,叠加显示包括:试用SDK的显示优先级高于第一程序的显示优先级,试用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,用于基于所述指示信息确定所述第二程序和所述第二程序的所述指定程序逻辑。
在一个可选的实施例中,所述试用请求包括场景信息,所述场景信息用于描述触发所述试用事件时所述第一程序的运行状态或运行场景;
运营模块1404,用于识别所述场景信息,基于所述场景信息的识别结果确定所述第二程序和所述第二程序的所述指定程序逻辑。
在一个可选的实施例中,所述场景信息包括所述第一程序的程序标识、所述第一程序的渠道场景信息、所述第一程序的界面截图中的至少一种。
在一个可选的实施例中,所述装置还包括:
运营模块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,还用于响应于在所述试用图像帧上接收到操作事件,在所述第一程序的所述用户界面上叠加显示第二试用图像帧序列中的试用图像帧,所述第二试用图像帧序列是所述第二程序实时响应所述操作事件得到的试用图像帧。
在一个可选的实施例中,所述显示模块1504,还用于响应于在所述第一程序的运行过程中触发所述试用事件,识别触发所述试用事件时所述第一程序的运行状态或运行场景;
所述显示模块1504,还用于基于所述第一程序的所述运行状态或运行场景确定所述第二程序和所述第二程序的所述指定程序逻辑,在所述第一程序的所述用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
其中,所述第一试用图像帧序列是试用所述第二程序的所述指定程序逻辑得到的试用图像帧,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种。
在一个可选的实施例中,所述显示模块1504,还用于获取场景信息,所述场景信息用于描述触发所述试用事件时所述第一程序的运行状态或运行场景;
所述显示模块1504,还用于识别所述场景信息生成指示信息,所述指示信息用于指示所述运行状态或运行场景;
第二发送模块1503,用于通过试用SDK向云服务器发送试用请求,所述试用请求用于请求试用所述第二程序,所述试用请求包括所述指示信息;
所述显示模块1504,还用于响应于接收到云服务器发送的所述第一试用图像帧序列,在所述第一程序的所述用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
其中,所述第一试用图像帧序列是所述云服务器在运行所述第二程序的所述指定程序逻辑过程中实时得到的试用图像帧,所述第二程序和所述第二程序的所述指定程序逻辑是所述云服务器基于所述指示信息确定的。
在一个可选的实施例中,所述显示模块1504,还用于获取场景信息,所述场景信息用于描述触发所述试用事件时所述第一程序的运行状态或运行场景;
第二发送模块1503,用于通过试用SDK向云服务器发送试用请求,所述试用请求用于请求试用所述第二程序,所述试用请求包括所述场景信息;
所述显示模块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 Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer 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 Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1701所执行以实现本申请中方法实施例提供的程序试用方法。
显示屏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,有机发光二极管)等材质制备。
本领域技术人员可以理解,图24中示出的结构并不构成对终端1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的程序试用方法。
本申请还提供一种计算机设备,该计算机设备包括:处理器和存储器,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代 码集或指令集由处理器加载并执行以实现上述各方法实施例提供的程序试用方法。
本申请还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的程序试用方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的程序试用方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (20)

  1. 一种程序试用方法,其中,所述方法由终端执行,所述方法包括:
    显示第一程序的用户界面;
    响应于在所述第一程序的运行过程中触发试用事件,在所述第一程序的所述用户界面上叠加显示第一试用图像帧序列中的试用图像帧,所述第一试用图像帧序列是在试用第二程序的指定程序逻辑过程中实时得到的试用图像帧,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;
    响应于在所述试用图像帧上接收到操作事件,在所述第一程序的所述用户界面上叠加显示第二试用图像帧序列中的试用图像帧,所述第二试用图像帧序列是所述第二程序实时响应所述操作事件得到的试用图像帧。
  2. 根据权利要求1所述的方法,其中,所述响应于在所述第一程序的运行过程中触发试用事件,在所述第一程序的所述用户界面上叠加显示第一试用图像帧序列中的试用图像帧,包括:
    响应于在所述第一程序的运行过程中触发所述试用事件,识别触发所述试用事件时所述第一程序的运行状态或运行场景;
    基于所述第一程序的所述运行状态或运行场景确定所述第二程序和所述第二程序的所述指定程序逻辑,在所述第一程序的所述用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
    其中,所述第一试用图像帧序列是试用所述第二程序的所述指定程序逻辑得到的试用图像帧,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种。
  3. 根据权利要求2所述的方法,其中,所述识别触发所述试用事件时所述第一程序的运行状态或运行场景,包括:
    获取场景信息,所述场景信息用于描述触发所述试用事件时所述第一程序的运行状态或运行场景;
    识别所述场景信息生成指示信息,所述指示信息用于指示所述运行状态或运行场景;
    所述基于所述第一程序的所述运行状态或运行场景确定所述第二程序和所述第二程序的所述指定程序逻辑,在所述第一程序的所述用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧,包括:
    通过试用SDK向云服务器发送试用请求,所述试用请求用于请求试用所述第二程序,所述试用请求包括所述指示信息;
    响应于接收到云服务器发送的所述第一试用图像帧序列,在所述第一程序的所述用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
    其中,所述第一试用图像帧序列是所述云服务器在运行所述第二程序的所述指定程序逻辑过程中实时得到的试用图像帧,所述第二程序和所述第二程序的所述指定程序逻辑是所述云服务器基于所述指示信息确定的。
  4. 根据权利要求2所述的方法,其中,所述识别触发所述试用事件时所述第一程序的运行状态或运行场景;基于所述第一程序的所述运行状态或运行场景确定所述第二程序和所述第二程序的所述指定程序逻辑,在所述第一程序的所述用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧,包括:
    获取场景信息,所述场景信息用于描述触发所述试用事件时所述第一程序的运行状态或运行场景;
    通过试用SDK向云服务器发送试用请求,所述试用请求用于请求试用所述第二程序,所述试用请求包括所述场景信息;
    响应于接收到云服务器发送的所述第一试用图像帧序列,在所述第一程序的所述用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
    其中,所述第一试用图像帧序列是所述云服务器在运行所述第二程序的所述指定程序逻辑过程中实时得到的试用图像帧,所述第二程序和所述第二程序的所述指定程序逻辑是所述云服务器识别所述场景信息后确定的。
  5. 根据权利要求2所述的方法,其中,所述场景信息包括所述第一程序的程序标识、所述第一程序的渠道场景信息、所述第一程序的界面截图中的至少一种。
  6. 根据权利要求1所述的方法,其中,所述第一试用图像帧序列是云服务器运行所述第二程序的所述指定程序逻辑得到的试用图像帧。
  7. 根据权利要求1所述的方法,其中,所述响应于在所述试用图像帧上接收到操作事件,在所述第一程序的所述用户界面上叠加显示第二试用图像帧序列中的试用图像帧,包括:
    响应于在所述试用图像帧上接收到操作事件,通过试用SDK向云服务器发送所述操作事件;
    响应于接收到所述云服务器发送的所述第二试用图像帧序列,在所述第一程序的所述用户界面上叠加显示第二试用图像帧序列中的试用图像帧,所述第二试用图像帧序列是所述云服务器控制所述第二程序实时响应所述操作事件得到的试用图像帧。
  8. 根据权利要求6所述的方法,其中,所述第二程序和所述指定程序逻辑是所述云服务器根据所述第一程序的程序标识确定的。
  9. 根据权利要求1至8任一所述的方法,其中,所述方法还包括:
    响应于接收到云服务器发送的所述第二程序的程序简介信息,根据所述程序简介信息在所述第一程序的所述用户界面上叠加显示所述第二程序的演示图像帧。
  10. 根据权利要求1至8任一所述的方法,其中,所述方法还包括:
    通过试用SDK接收云服务器发送的第二关键帧和蒙层信息,所述第二关键帧与所述蒙层信息相对应;
    响应于显示所述第二关键帧,根据所述蒙层信息在所述第二关键帧上显示自定义蒙层。
  11. 根据权利要求1至8任一所述的方法,其中,所述试用图像帧上显示有第一下载蒙层,所述第一下载蒙层包括第一下载控件;所述方法还包括:
    响应于接收到所述第一下载控件上的触发操作,通过试用SDK调用所述第一程序下载所述第二程序,或,向云服务器发送下载所述第二程序的下载请求,或,调用第三方程序下载所述第二程序。
  12. 根据权利要求1至8任一所述的方法,其中,所述方法还包括:
    计时所述第二程序的试用时间;响应于所述试用时间达到试用时长,结束试用进程;
    或,
    计时所述第二程序的试用时间;响应于所述试用时间达到试用时长,显示第二下载蒙层,所述第二下载蒙层包括第二下载控件和第一退出控件;响应于接收到所述第二下载控件或所述第一退出控件上的触发操作,结束所述试用进程;
    或,响应于显示第三关键帧,结束所述试用进程;
    或,响应于显示第三关键帧,显示所述第三关键帧对应的第三下载蒙层,所述第三下载蒙层包括第三下载控件和第二退出控件;响应于接收到所述第三下载控件或所述第二退出控件上的触发操作,结束所述试用进程。
  13. 根据权利要求1至8任一所述的方法,其中,
    所述第一程序是游戏程序,所述试用事件包括第一试用事件,所述第一试用事件包括:游戏角色阵亡、完成指定关卡、游戏暂停、请求获得指定道具、游戏角色胜利,请求进入指定关卡中的至少一种;
    或,
    所述第一程序是游戏程序,所述试用事件包括第二试用事件,所述第二试用事件包括:浏览指定内容、浏览时长达到指定时长、请求解锁指定功能、请求浏览指定内容中的至少一种;
    或,所述第一程序是游戏程序,所述试用事件包括第三试用事件,所述第三试用事件包括:播放时长达到指定时长、播放指定视频、请求缩短广告时间、请求播放指定视频中的至少一种。
  14. 一种程序试用方法,其中,所述方法由云服务器执行,所述方法包括:
    接收试用SDK发送的试用请求,运行第二程序的指定程序逻辑得到第一试用图像帧序列,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;所述试用请求是所述试用SDK响应于第一程序在运行过程中发送的调用指令发送的,所述试用请求用于请求试用第二程序,所述第一程序和所述试用SDK运行在同一终端上;
    向所述试用SDK发送所述第一试用图像帧序列,所述第一试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
    接收所述试用SDK发送的操作事件,控制所述第二程序实时响应所述操作事件得到第二试用图像帧序列,所述操作事件是所述试用SDK在所述试用图像帧上接收到的;
    向所述试用SDK发送所述第二试用图像帧序列,所述第二试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧。
  15. 一种程序试用系统,其中,所述系统包括:试用SDK和云服务器;
    所述试用SDK,用于响应于接收到第一程序在运行过程中发送的调用指令,向所述云服务器发送试用请求,所述试用请求用于请求试用第二程序,所述第一程序和所述试用SDK运行在同一终端上;
    所述云服务器,用于接收所述试用请求,运行所述第二程序的指定程序逻辑得到第一试用图像帧序列,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;向所述试用SDK发送所述第一试用图像帧序列;
    所述试用SDK,还用于接收所述第一试用图像帧序列,在所述第一程序的用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
    所述试用SDK,还用于接收所述试用图像帧上的操作事件,向所述云服务器发送所述操作事件;
    所述云服务器,还用于接收所述操作事件,控制所述第二程序实时响应所述操作事件得到第二试用图像帧序列;向所述试用SDK发送所述第二试用图像帧序列;
    所述试用SDK,还用于接收所述第二试用图像帧序列,在所述第一程序的所述用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧。
  16. 一种程序试用装置,其中,所述装置包括:
    显示模块,用于显示第一程序的用户界面;
    所述显示模块,还用于响应于在所述第一程序的运行过程中触发试用事件,在所述第一程序的所述用户界面上叠加显示第一试用图像帧序列中的试用图像帧,所述第一试用图像帧序列是在试用第二程序的指定程序逻辑过程中实时得到的试用图像帧,所述指定程序逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;
    交互模块,用于接收在所述试用图像帧上的操作事件;
    所述显示模块,还用于响应于在所述试用图像帧上接收到操作事件,在所述第一程序的所述用户界面上叠加显示第二试用图像帧序列中的试用图像帧,所述第二试用图像帧序列是所述第二程序实时响应所述操作事件得到的试用图像帧。
  17. 一种程序试用装置,其中,所述装置包括:
    第一接收模块,用于接收试用SDK发送的试用请求;
    运行模块,用于运行第二程序的指定程序逻辑得到第一试用图像帧序列,所述指定程序 逻辑包括指定进度的程序、指定功能的程序和指定场景的程序中的至少一种;所述试用请求是所述试用SDK响应于第一程序在运行过程中发送的调用指令发送的,所述试用请求用于请求试用第二程序,所述第一程序和所述试用SDK运行在同一终端上;
    第一发送模块,用于向所述试用SDK发送所述第一试用图像帧序列,所述第一试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第一试用图像帧序列中的试用图像帧;
    所述第一接收模块,还用于接收所述试用SDK发送的操作事件;
    所述运行模块,还用于控制所述第二程序实时响应所述操作事件得到第二试用图像帧序列,所述操作事件是所述试用SDK在所述试用图像帧上接收到的;
    所述第一发送模块,还用于向所述试用SDK发送所述第二试用图像帧序列,所述第二试用图像帧序列用于使所述试用SDK在所述第一程序的用户界面上叠加显示所述第二试用图像帧序列中的试用图像帧。
  18. 一种计算机设备,其中,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至14任一所述的程序试用方法。
  19. 一种计算机可读存储介质,其中,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至14任一所述的程序试用方法。
  20. 一种计算机程序产品或计算机程序,其中,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行以实现如权利要求1至14任一所述的程序试用方法。
PCT/CN2021/117484 2020-09-15 2021-09-09 程序试用方法、系统、装置、设备及介质 WO2022057722A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/956,284 US20230013601A1 (en) 2020-09-15 2022-09-29 Program trial method, system, apparatus, and device, and medium

Applications Claiming Priority (2)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/956,284 Continuation US20230013601A1 (en) 2020-09-15 2022-09-29 Program trial method, system, apparatus, and device, and medium

Publications (1)

Publication Number Publication Date
WO2022057722A1 true WO2022057722A1 (zh) 2022-03-24

Family

ID=73393314

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/117484 WO2022057722A1 (zh) 2020-09-15 2021-09-09 程序试用方法、系统、装置、设备及介质

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 腾讯科技(深圳)有限公司 展示内容的解锁方法、装置、设备及可读存储介质
CN112817781B (zh) * 2021-02-08 2024-05-28 北京字节跳动网络技术有限公司 一种应用程序的互动方法、装置、设备及介质
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 第五代虚拟科技股份有限公司 应用软件试用系统、方法及其服务器与使用者装置
CN107667388A (zh) * 2015-04-02 2018-02-06 万歌有限公司 用于装置上的多个广告或广告活动的动态广告选择的系统和方法
CN110019961A (zh) * 2017-08-24 2019-07-16 北京搜狗科技发展有限公司 视频处理方法和装置、用于视频处理的装置
WO2019228120A1 (zh) * 2018-06-01 2019-12-05 腾讯科技(深圳)有限公司 视频互动方法、装置、终端及存储介质
CN111632373A (zh) * 2020-05-30 2020-09-08 腾讯科技(深圳)有限公司 一种启动游戏的方法、装置及计算机可读存储介质
CN111966275A (zh) * 2020-09-15 2020-11-20 腾讯科技(深圳)有限公司 程序试用方法、系统、装置、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190013357A (ko) * 2017-08-01 2019-02-11 주식회사 유비스티 게임화 투어테인먼트 서비스 플랫폼
CN109918158B (zh) * 2019-01-18 2022-05-10 珠海天燕科技有限公司 一种资源的展示方法、装置及其设备
CN111603764B (zh) * 2020-05-28 2021-05-28 腾讯科技(深圳)有限公司 一种云游戏的处理方法及设备

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 第五代虚拟科技股份有限公司 应用软件试用系统、方法及其服务器与使用者装置
CN107667388A (zh) * 2015-04-02 2018-02-06 万歌有限公司 用于装置上的多个广告或广告活动的动态广告选择的系统和方法
CN110019961A (zh) * 2017-08-24 2019-07-16 北京搜狗科技发展有限公司 视频处理方法和装置、用于视频处理的装置
WO2019228120A1 (zh) * 2018-06-01 2019-12-05 腾讯科技(深圳)有限公司 视频互动方法、装置、终端及存储介质
CN111632373A (zh) * 2020-05-30 2020-09-08 腾讯科技(深圳)有限公司 一种启动游戏的方法、装置及计算机可读存储介质
CN111966275A (zh) * 2020-09-15 2020-11-20 腾讯科技(深圳)有限公司 程序试用方法、系统、装置、设备及介质

Also Published As

Publication number Publication date
US20230013601A1 (en) 2023-01-19
CN111966275A (zh) 2020-11-20
CN111966275B (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
WO2022057722A1 (zh) 程序试用方法、系统、装置、设备及介质
US12011660B2 (en) Augmenting video games with add-ons
US10143924B2 (en) Enhancing user experience by presenting past application usage
US10607382B2 (en) Adapting content to augumented reality virtual objects
EP4119209A1 (en) Interaction scenario start up method, apparatus, storage medium, client end, and server
WO2021159771A1 (zh) 弹幕处理方法、装置、电子设备及计算机可读存储介质
US10673916B1 (en) Executing applications in remotely emulated computing devices
US20080139301A1 (en) System and method for sharing gaming experiences
CN109154943A (zh) 自动播放内容到点击播放内容的基于服务器的转换
CN112437338B (zh) 虚拟资源转移方法、装置、电子设备以及存储介质
CN103902804A (zh) 能够基于先前用户游戏玩法而影子式玩视频游戏的系统和方法
US20180143741A1 (en) Intelligent graphical feature generation for user content
CN113485617A (zh) 动画展示方法、装置、电子设备及存储介质
US9734513B1 (en) System and method for advertising applications to users without requiring the applications to be installed
KR102316822B1 (ko) 영상과 관련된 사용자 반응에 기반하여 컨텐츠를 제공하는 방법, 장치, 및 컴퓨터 프로그램
WO2022183967A1 (zh) 视频画面的显示方法、装置、设备、介质及程序产品
CN113709575B (zh) 视频编辑处理方法、装置、电子设备及存储介质
CN110891194B (zh) 评论信息显示方法、装置、终端及存储介质
CN115643420A (zh) 信息处理方法、装置、电子设备及存储介质
CN115687816A (zh) 资源处理方法及装置
CN114827701A (zh) 多媒体信息互动方法、装置、电子设备以及存储介质
US11972244B2 (en) Method and apparatus for improving a mobile application
KR102424061B1 (ko) 비디오 콘텐츠 재생 환경 특성에 따른 제어 방법 및 시스템
CN116980702A (zh) 信息推荐方法、装置、电子设备及存储介质
WO2021052115A1 (zh) 演唱作品的生成方法、发布方法和显示设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21868547

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 03.08.2023)

122 Ep: pct application non-entry in european phase

Ref document number: 21868547

Country of ref document: EP

Kind code of ref document: A1