[ detailed description ] embodiments
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in detail below with reference to the accompanying drawings and specific embodiments.
The terminology used in the embodiments of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in the examples of this application and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should be understood that the term "and/or" as used herein is merely one type of association that describes an associated object, meaning that three relationships may exist, e.g., a and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
The word "if" as used herein may be interpreted as "at … …" or "when … …" or "in response to a determination" or "in response to a detection", depending on the context. Similarly, the phrases "if determined" or "if detected (a stated condition or event)" may be interpreted as "when determined" or "in response to a determination" or "when detected (a stated condition or event)" or "in response to a detection (a stated condition or event)", depending on the context.
Fig. 1 is a flowchart of a method for displaying an application according to an embodiment of the present application, as shown in fig. 1, where the method is executed in a server, and includes:
in 101, a request for an interchange amount sent by a client of a first application is received.
In this step, the server receives an exchange amount request sent by the client of the first application, and the received exchange amount request is used for mutual exhibition between the first application and other applications, so as to exchange at least one of PV (PageView) and UV (Unique viewer) between the applications.
It can be understood that, when the client of the first application in this step sends the swap amount request to the server, the swap amount request may be sent to the server by using an SDK (Software Development Kit) integrated in the first application, that is, the first application may be pre-integrated with a function of swapping amounts with other applications.
In addition, the client of the first application can send the interchange amount request to the server after acquiring the function of the interchange amount triggered by the user; the client of the first application may also automatically send the swap amount request to the server after a preset time period is reached.
Specifically, before receiving the swap amount request sent by the client of the first application, this step may further include the following: the client of the first application uploads application data corresponding to the first application to the server, for example, uploads data such as an icon, a package name, an installation package, an application market screenshot, and an application profile of the first application, and generates identification information corresponding to the first application, for example, generates a key corresponding to the first application. The server side generates different identification information aiming at different first applications, and only one first application can be determined through each identification information.
That is to say, the server side of the present application may store application data corresponding to different applications in advance, and the application data corresponding to the application may be obtained through the identification information of the application.
It can be understood that, in this step, the client of the first application may also upload application data corresponding to the first application to the server while sending the swap amount request.
In 102, a second application corresponding to the first application is determined.
In this step, after receiving the swap amount request sent by the client of the first application instep 101, the server determines a second application corresponding to the first application, where the determined second application is an application that performs swap amount with the first application. In this step, the number of the determined second applications is not limited, and may be one or more.
Specifically, when determining the second application corresponding to the first application, the following method may be adopted in this step: a second application is selected from the swap pool corresponding to the first application. The interchange pools are generated in advance by the server side, different interchange pools correspond to different categories, and each interchange pool comprises at least one application corresponding to the category of the interchange pool. Therefore, the second application is selected in the pool exchange mode in the step, the accuracy of the selected second application can be improved, and the display effect among the applications is improved.
When the second application is selected from the interchange pool corresponding to the first application in the step, the following method can be adopted: determining a swap pool containing a first application; and selecting a preset number of applications from the determined interchange pool as second applications. That is, the step can select the second application directly from the swap pool containing the first application.
In addition, when the second application is selected from the interchange pool corresponding to the first application, the following method can be adopted: acquiring an interchange category of a first application, wherein the interchange category is a category of applications to be interchanged with the first application, such as a social category, a video category, a tool category, a shopping category and the like; determining an interchange pool corresponding to the acquired interchange category; and selecting a preset number of applications from the determined interchange pool as second applications.
It can be understood that the swap amount request received instep 101 may include a swap type of the first application, so that the step can obtain the swap type of the first application through the swap amount request; if the swap amount request does not include the swap category of the first application, the step may determine the swap category according to the category to which the first application belongs, for example, the category to which the first application belongs may be determined as the swap category, or a preset category corresponding to the category to which the first application belongs may be determined as the swap category.
In addition, when the preset number of applications are selected from the determined interchange pool, the applications can be randomly selected from the interchange pool as second applications; or selecting the application with the heat degree arranged at the top N bits as a second application according to the heat degree of each application in the interchange pool, wherein N is a positive integer greater than or equal to 1.
In this step, when a preset number of applications are selected from the determined interchange pool, the following method may be adopted: calculating the matching degree between the first application and each application in the determined interchange pool, wherein the matching degree can be calculated according to the categories of the first application and each application in the interchange pool, and the matching degree can be calculated according to the PV quantity or UV quantity to be exchanged between the first application and each application in the interchange pool; and selecting an application with the matching degree calculation result meeting a preset condition as a second application, for example, selecting an application belonging to the same category as the first application from the interchange pool as the second application, or selecting an application having the same interchange PV or UV as the first application from the interchange pool as the second application, and the like. The matching degree between the selected second application and the first application can be further improved, and therefore the popularization effect of mutual display between the applications is improved.
After the step of selecting the second application from the swap pool, the following may be included: acquiring the category of the first application; and adding the first application to the interchange pool corresponding to the acquired category. That is, this step can continually add applications to the swap pools, thereby enriching the number of applications contained in each swap pool.
In 103, the application data of the second application is sent to the client of the first application for the client of the first application to display the second application, and the application data of the first application is sent to the client of the second application for the client of the second application to display the first application.
In this step, after thestep 102 of selecting the second application is completed, the server side sends the application data of the selected second application to the client side of the first application, so that the client side of the first application displays the second application, and simultaneously, the server side sends the application data of the first application to the client side of the second application, so that the client side of the second application displays the first application, and accordingly, the corresponding applications are displayed in different client sides to achieve the purpose of interchanging the applications.
In this step, the corresponding application data may be obtained according to the identification information of the application stored in the server, for example, the application data of the second application is obtained according to the identification information of the second application, and the application data of the first application is obtained according to the identification information of the first application.
In addition, after the server side in this step sends the application data of the application to the corresponding client side for application display, the following contents may also be included: receiving presentation data sent by a client of an application, where the presentation data may be a presentation amount, such as UV or PV, for presenting a corresponding application in a current application, or may also be an Active user number corresponding to the current application itself, such as DAU (Daily Active Users, Daily Active user number) or WAU (Weekly Active Users, Weekly Active user number); and determining whether the application corresponding to the current application display reaches an interchange amount threshold value or not according to the received display data, if so, sending an instruction for stopping displaying the corresponding application to the client of the current application, and otherwise, continuously displaying the corresponding application by the client of the current application.
It is understood that the threshold of the interchange amount in this step is a threshold of mutually exchanging PV or UV between the first application and the second application, which may be a uniform preset threshold set by the server for different first applications, for example, the preset threshold of the interchange amount may be PV of interchanging 10W between applications; the swap amount threshold in this step may also be set by itself, that is, the swap amount threshold is included in the swap amount request sent by the first application, so that different first applications correspond to different swap amount thresholds.
For example, if the swap amount threshold for a PV swapping 10W is included in a swap amount request sent by a client of a first application, then the first application will be caused to show the PV of the second application as 10W, while the second application is caused to show the PV of the first application as 10W; if the swap amount threshold for swapping the PV of 20W is included in the swap amount request sent by the client of the first application, the first application will be caused to exhibit a PV of the second application of 20W while the second application is caused to exhibit a PV of the first application of 20W.
In addition, when the client of the application displays other applications, a corresponding display form may be generated according to application data of the application to be displayed, for example, a banner of the application to be displayed is generated in the client of the current application, and a user may view details of the display application, such as an application market screenshot, an application profile, and the like, by clicking the banner, and may further download the display application directly by clicking the banner or download the display application after opening an application market.
Fig. 2 illustrates a block diagram of an exemplary computer system/server 012 suitable for use to implement some embodiments of the present application. The computer system/server 012 shown in fig. 2 is only an example, and should not bring any limitation to the function and the scope of use of the embodiments of the present application.
As shown in fig. 2, the computer system/server 012 is embodied as a general purpose computing device. The components of computer system/server 012 may include, but are not limited to: one or more processors orprocessing units 016, asystem memory 028, and abus 018 that couples various system components including thesystem memory 028 and theprocessing unit 016.
Bus 018 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures. By way of example, such architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, micro-channel architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer system/server 012 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 012 and includes both volatile and nonvolatile media, removable and non-removable media.
System memory 028 can include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM)030 and/orcache memory 032. The computer system/server 012 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only,storage system 034 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 2, commonly referred to as a "hard drive"). Although not shown in FIG. 2, a magnetic disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In such cases, each drive may be connected tobus 018 via one or more data media interfaces.Memory 028 can include at least one program product having a set (e.g., at least one) of program modules configured to carry out the functions of embodiments of the present invention.
Program/utility 040 having a set (at least one) of program modules 042 can be stored, for example, inmemory 028, such program modules 042 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof might include an implementation of a network environment. Program modules 042 generally perform the functions and/or methodologies of embodiments of the present invention as described herein.
The computer system/server 012 may also communicate with one or more external devices 014 (e.g., keyboard, pointing device,display 024, etc.), and in some embodiments of the present application, the computer system/server 012 communicates with an external radar device, and may also communicate with one or more devices that enable a user to interact with the computer system/server 012, and/or with any devices (e.g., network card, modem, etc.) that enable the computer system/server 012 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O)interface 022. Also, the computer system/server 012 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the internet) via thenetwork adapter 020. As shown, thenetwork adapter 020 communicates with the other modules of the computer system/server 012 viabus 018. It should be appreciated that, although not shown, other hardware and/or software modules may be used in conjunction with the computer system/server 012, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Theprocessing unit 016 executes programs stored in thesystem memory 028, thereby executing various functional applications and data processing, such as implementing the method flows provided by the embodiments of the present application.
The computer program described above may be provided in a computer storage medium encoded with a computer program that, when executed by one or more computers, causes the one or more computers to perform the method flows and/or apparatus operations illustrated in the embodiments described above. For example, the method flows provided by the embodiments of the present application are executed by the one or more processors described above.
With the development of time and technology, the meaning of media is more and more extensive, and the propagation path of computer programs is not limited to tangible media any more, and can also be downloaded from a network directly and the like. Any combination of one or more computer-readable media may be employed. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
According to the technical scheme, after the server side receives the interchange quantity request sent by the client side of the first application, the second application corresponding to the first application is determined firstly, then the application data of the first application are sent to the client side of the second application, the client side of the second application displays the first application, the application data of the second application are sent to the client side of the first application, the client side of the first application displays the second application, and therefore through the mutual display mode among the applications, the situation that when other applications display the current application, huge cost is needed is avoided, and meanwhile the fairness of mutual display among the applications can be improved.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described device embodiments are merely illustrative, and for example, the division of the units is only one logical functional division, and other divisions may be realized in practice.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
The integrated unit implemented in the form of a software functional unit may be stored in a computer readable storage medium. The software functional unit is stored in a storage medium and includes several instructions to enable a computer device (which may be a personal computer, a server, or a network device) or a processor (processor) to execute some steps of the methods according to the embodiments of the present invention. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only exemplary of the present invention and should not be taken as limiting the invention, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.