Filtering third-party content related to applications based on installation status

A system filters third-party content for mobile applications based on installed apps, optimizing device resources by avoiding transmission or presentation of redundant content, thus conserving bandwidth, storage, and processing power.

JP7737467B2Active Publication Date: 2025-09-10GOOGLE LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023550092
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-11-01
Publication Date
2025-09-10
Estimated Expiration
2042-11-01

AI Technical Summary

Technical Problem

Remote servers delivering third-party content for mobile applications lack the ability to determine which applications are already installed on user devices, leading to the delivery of irrelevant content that users are unlikely to engage with.

Method used

Implement a system where a server or mobile device filters third-party content based on the applications already installed on the device, transmitting or presenting content only for applications not already installed.

Benefits of technology

Preserves mobile device bandwidth, storage, and processing power by avoiding transmission or presentation of irrelevant content, maintaining resources for other services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007737467000001
    Figure 0007737467000001
  • Figure 0007737467000002
    Figure 0007737467000002
  • Figure 0007737467000003
    Figure 0007737467000003
Patent Text Reader

Abstract

Techniques are provided for filtering third-party content to be provided via a mobile computing device based on which applications are already installed on the mobile computing device. An exemplary method includes determining, by a server, a set of candidate mobile applications including a first and a second application each associated with a respective third-party content presentable on the mobile computing device, transmitting, by the server, to the mobile computing device, the third-party content associated with the first application in response to determining that the first application is not present in the set of applications installed on the mobile computing device, and refraining from transmitting to the mobile computing device the third-party content associated with the second application in response to determining that the second application is included in the set of applications installed on the mobile computing device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates generally to mobile computing device applications, and more particularly to techniques for filtering third-party content associated with the installation of mobile applications to be provided via a given mobile computing device based on which applications are already installed on the mobile computing device. [Background technology]

[0002] The background art description provided herein is intended to provide a general context for the present disclosure. The work of the named inventors to the extent described in this background art section, and aspects of the description that may not otherwise qualify as prior art at the time of filing, are not admitted, explicitly or implicitly, as prior art to the present disclosure.

[0003] Certain third-party content for mobile computing devices includes links to applications that can be installed on the mobile computing device. Typically, this third-party content is delivered to the user device by a remote server, and the remote server has no way of determining which mobile applications are installed on the various user devices to which it delivers the third-party content. Thus, in some cases, the remote server may deliver third-party content related to mobile computing device applications that are already installed on a given user's mobile computing device and send that third-party content to the user's mobile computing device.

[0004] However, if a user already has an application installed on their mobile computing device, the user is unlikely to select a link to that application. That is, regardless of whether a user of a mobile computing device is interested in a given mobile computing device app, if the user already has the application installed on their mobile computing device, the user is unlikely to click on a third-party content link related to that application. Summary of the Invention [Means for solving the problem]

[0005] In an embodiment, a computer-implemented method is provided for filtering third-party content associated with the installation of mobile applications to be provided via a given mobile computing device based on which applications are already installed on the mobile computing device, the method may include: determining, by the server, a set of one or more candidate mobile applications including a first mobile application and a second mobile application, each associated with respective third-party content presentable on the mobile computing device; transmitting, by the server, to the mobile computing device, third-party content associated with the first mobile application in response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device; and refraining from transmitting to the mobile computing device, third-party content associated with the second mobile application in response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device.

[0006] In another embodiment, a system is provided for filtering third-party content associated with the installation of mobile applications to be provided via a given mobile computing device based on which applications are already installed on the mobile computing device, which may be implemented by a server. The system may include one or more processors and memory storing computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to determine a set of one or more candidate mobile applications including a first mobile application and a second mobile application, each associated with respective third-party content presentable on the mobile computing device, and, in response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, cause the one or more processors to transmit the third-party content associated with the first mobile application, and, in response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, cause the one or more processors to refrain from transmitting the third-party content associated with the second mobile application to the mobile computing device.

[0007] In yet another embodiment, a non-transitory computer-readable medium storing instructions, which may be implemented by a server, for filtering third-party content associated with installation of mobile applications to be provided via a given mobile computing device based on which applications are already installed on the mobile computing device is provided. When executed by one or more processors, the instructions may cause the one or more processors to determine a set of one or more candidate mobile applications including a first mobile application and a second mobile application, each associated with respective third-party content presentable on the mobile computing device, to transmit the third-party content associated with the first mobile application in response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, and to refrain from transmitting the third-party content associated with the second mobile application to the mobile computing device in response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device.

[0008] In an embodiment, a computer-implemented method is provided for filtering third-party content associated with the installation of a mobile application to be provided via a mobile computing device based on which applications are already installed on the mobile computing device, the method may include: determining, by the mobile computing device, an indication of a set of one or more mobile applications installed on the mobile computing device; receiving, by the mobile computing device, an indication of a set of one or more candidate mobile applications including a first mobile application and a second mobile application, each associated with respective third-party content presentable on the mobile computing device; presenting, by the mobile computing device, the third-party content associated with the first mobile application in response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device; and refraining, by the mobile computing device, from presenting the third-party content associated with the second mobile application in response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device.

[0009] In another embodiment, a system is provided that may be implemented by a mobile computing device for filtering third-party content associated with the installation of mobile applications to be provided via the mobile computing device based on which applications are already installed on the mobile computing device. The system may include one or more processors and a memory storing computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to receive an indication of a set of one or more candidate mobile applications including a first mobile application and a second mobile application, each associated with respective third-party content presentable on the mobile computing device, and, in response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, cause the mobile computing device to present the third-party content associated with the first mobile application, and, in response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, cause the mobile computing device to refrain from presenting the third-party content associated with the second mobile application.

[0010] In yet another embodiment, a non-transitory computer-readable medium storing instructions that may be implemented by a mobile computing device for filtering third-party content associated with installation of mobile applications to be provided via the mobile computing device based on which applications are already installed on the mobile computing device is provided. When executed by one or more processors, the instructions may cause the one or more processors to receive an indication of a set of one or more candidate mobile applications including a first mobile application and a second mobile application, each associated with respective third-party content presentable on the mobile computing device, present the third-party content associated with the first mobile application in response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, and refrain from presenting, by the mobile computing device, the third-party content associated with the second mobile application in response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device.

[0011] Refraining from transmitting third-party content may allow for the preservation of mobile device bandwidth or data for other services. For example, refraining from transmitting third-party content may maintain the availability of mobile device bandwidth for other third-party content or other mobile device services. Additionally, by refraining from transmitting certain third-party content that is not otherwise presented on the mobile device, the bandwidth of the connection to the mobile device and the mobile device storage may be preserved. Refraining from presenting third-party content by a mobile computing device may allow for the preservation of mobile device processing power for running other processes. [Brief explanation of the drawings]

[0012] [Figure 1] FIG. 1 is a block diagram of an exemplary system that implements techniques of the present disclosure for filtering third-party content associated with the installation of mobile applications to be provided via a given mobile computing device based on which applications are already installed on the mobile computing device. [Figure 2] 1 is a flow diagram of an example method implemented by a server device for filtering third-party content associated with the installation of mobile applications to be provided via a given mobile computing device based on which applications are already installed on the mobile computing device. [Figure 3]1 is a flow diagram of an example method implemented by a mobile computing device for filtering third-party content associated with the installation of mobile applications to be provided via a given mobile computing device based on which applications are already installed on the mobile computing device. DETAILED DESCRIPTION OF THE INVENTION

[0013] overview The present disclosure relates to techniques for filtering third-party content associated with the installation of mobile applications to be provided via a given mobile computing device based on which applications are already installed on the mobile computing device.

[0014] In one example, the mobile computing device (e.g., via a privileged system application such as Google Mobile Services (GMS) Core) monitors application install and uninstall events occurring on the mobile computing device and periodically updates a remote server with an indication of which applications are currently installed on the mobile computing device. Thus, the server does not need to track conversions; instead of trying to record prior facts of presenting third-party content and conversions that lead to app installations, the server can simply receive updates from the client.

[0015] This is done only with the permission of the user of the mobile computing device. The remote server stores application installation information (e.g., key: device ID and user ID, value: list of installed applications and their associated package names), which may be hashed in some cases to protect user privacy. The third-party content items delivered by the remote server may include associated information describing the package names of applications that will be installed based on the user selecting a link in the third-party content item (e.g., a landing page when a link in the third-party content item is clicked by a user). When sending the third-party content items to the mobile computing device, the remote server may filter out any third-party content items associated with package names that match a package name associated with the mobile computing device and / or the device ID and / or user ID of the user of the mobile computing device.

[0016] In another example, a mobile computing device monitors application installation and uninstallation events occurring on the mobile computing device but does not provide an indication to a remote server of which applications are currently installed on the mobile computing device. Instead, the remote server delivers to the mobile computing device multiple possible third-party content items, including associated information for each third-party content item describing the package name of the application to be installed based on the user selecting a link in the third-party content item. The mobile computing device can then filter out any third-party content items associated with package names that match applications already installed on the mobile computing device, or request additional third-party content items from the remote server if all of the third-party content items sent to the mobile computing device are for applications already installed on the mobile computing device.

[0017] Additionally, in some examples, a combination of these two methods may be used, with the mobile computing device filtering out third-party content items only for recently installed mobile computing device applications that were not included in the most recent update sent to the remote server.

[0018] Exemplary System 1 is a block diagram of a system 100 for filtering third-party content associated with the installation of mobile applications to be provided via a given mobile computing device based on which applications are already installed on the mobile computing device, according to some examples provided herein. The high-level architecture shown in FIG. 1 may include both hardware and software applications, and various data communication channels for communicating data between the various hardware and software components, as described below.

[0019] The system 100 may include, for example, a server device 102 and a mobile computing device 104 (such as, for example, a smartphone, tablet, smartwatch, laptop computer, other personal computer, etc.) configured to communicate with each other via a network 106, which may include a wired or wireless network.

[0020] The server device 102 may include one or more processors 108 and memory 110 (e.g., volatile memory, non-volatile memory). The memory 110 may be accessible by the one or more processors 108 (e.g., via a memory controller). The one or more processors 108 may interact with the memory 110, for example, to retrieve computer-readable instructions stored in the memory 110. The computer-readable instructions stored in the memory 110 may cause the one or more processors 108 to execute one or more applications, including, in some examples, a third-party content filtering application 112. Furthermore, in some examples, the computer-readable instructions stored in the memory 110 may include instructions for performing any of the steps of a method 200, which is described in further detail below in connection with FIG. 2.

[0021] Generally, executing the third-party content filtering application 112 may include transmitting third-party content to, or via, the mobile computing device 104 for presentation.

[0022] In some examples, the third-party content filtering application 112 may access a dataset stored in memory 110, such as a dataset including an indication of applications installed by various mobile computing devices, such as mobile computing device 104, an indication of candidate mobile applications, and / or an indication of third-party content associated with each candidate mobile application. Additionally or alternatively, the third-party content filtering application 112 may access an external database including one or more of these datasets or portions thereof, such as a database 114 that stores indications of applications installed by various mobile computing devices, such as mobile computing device 104, a candidate mobile application database 115 that stores data associated with candidate mobile applications, and / or a third-party content database 116 that stores data associated with third-party content associated with each candidate mobile application.

[0023] The third-party content filtering application 112 may determine or otherwise identify a set of candidate mobile applications associated with third-party content presentable via the mobile computing device 104. For example, the third-party content filtering application 112 may access datasets or databases (115, 116) that store data related to the candidate mobile applications and / or data related to the third-party content associated with each candidate mobile application. For example, in some examples, the third-party content may include advertising content or informational content related to one or more of the candidate mobile applications. In some examples, the third-party content filtering application 112 may identify particular candidate mobile applications for a particular mobile computing device 104 or for a particular user of the mobile computing device 104, and / or particular third-party content related to the candidate mobile applications for a particular user of the mobile computing device 104, based on additional data, such as location data, demographic data, or other user data related to the user of the mobile computing device 104, that is provided to the server device 102 based on, for example, permission granted by the user of the mobile computing device 104.

[0024] In some examples, the third-party content filtering application 112 may transmit these determined or identified items of third-party content, as well as an indication of the candidate mobile applications associated with each item of third-party content, to the mobile computing device 104. For example, in some examples, the third-party content filtering application 112 may subsequently receive a request from the mobile computing device 104 for additional items of third-party content associated with different (not necessarily specified) candidate mobile applications, and may transmit the additional items of third-party content, as well as an indication of the candidate mobile applications associated with each item of third-party content, to the mobile computing device 104.

[0025] Further, in some examples, the third-party content filtering application 112 may transmit a list of candidate mobile applications to the mobile computing device 104, and may then receive in response from the mobile computing device 104 an indication of one or more of the candidate mobile applications that are not currently installed in the memory of the mobile computing device 104. The third-party content filtering application 112 may then transmit to the mobile computing device 104 determined or identified items of third-party content associated with the candidate applications that are not yet installed by the mobile computing device 104.

[0026] Additionally, in some examples, the third-party content filtering application 112 may determine or receive an indication of which applications have been installed by the mobile computing device 104 (provided to the server device 102 based on a user of the mobile computing device 104 granting permission), and may send to the mobile computing device 104 determined or identified items of third-party content associated with applications not yet installed by the mobile computing device 104. In some examples, the third-party content filtering application 112 may access a dataset or database 114 that stores indications of applications downloaded and / or installed by various mobile computing devices, such as the mobile computing device 104, to determine which applications have not yet been installed by the mobile computing device 104. For example, in some examples, the database 114 may be populated by an application store or other application provider based on an application download history associated with the mobile computing device 104 (provided to the server device 102 based on a user of the mobile computing device 104 granting permission).

[0027] Additionally, in some examples, the third-party content filtering application 112 may send a query or request to the mobile computing device 104 regarding which applications are currently installed in the memory of the mobile computing device 104, and the third-party content filtering application may subsequently receive (from the mobile computing device 104) an indication of one or more applications currently installed in the memory of the mobile computing device 104 (provided to the server device 102 based on the user of the mobile computing device 104 granting permission). Additionally, in some examples, the third-party content filtering application 112 may periodically receive updates of one or more applications newly installed in the memory of the mobile computing device 104 (and / or one or more applications newly uninstalled from the memory of the mobile computing device 104), possibly regardless of whether the third-party content filtering application 112 sends a request for such updates to the mobile computing device 104.

[0028] For example, in some examples, the third-party content filtering application 112 may compare the set of candidate mobile applications with applications that the third-party content filtering application 112 has determined to be installed by the mobile computing device 104 and may identify candidate applications that have not yet been installed by the mobile computing device 104 (i.e., candidate applications that the third-party content filtering application 112 has not determined to be installed by the mobile computing device 104). Additionally, the third-party content filtering application 112 may transmit to the mobile computing device 104 third-party content associated with candidate applications that have not yet been installed by the mobile computing device 104. That is, in this example, the third-party content filtering application 112 may refrain from transmitting to the mobile computing device 104 third-party content associated with candidate applications that have already been installed by the mobile computing device 104 (i.e., based on the most recent update received by the third-party content filtering application 112).

[0029] Further, in some examples, the third-party content filtering application 112 (or another application on the server device 102) may receive an indication from the mobile computing device 104 of the applications installed by the mobile computing device 104 after the mobile computing device 104 presents third-party content associated with various applications (provided to the server device 102 based on a user of the mobile computing device 104 granting permission). For example, the server device 102 may receive an indication (from the mobile computing device 104) of whether an application associated with an item of third-party content was installed within a threshold period (e.g., 15 minutes, 1 hour, 1 day, 1 week, etc.) after the item of third-party content was presented by the mobile computing device 104, or may determine such an indication based on a report received from the mobile computing device 104.

[0030] The mobile computing device 104 may include a user interface 118, one or more processors 120, and memory 122 (e.g., volatile memory, non-volatile memory). The memory 122 may be accessible by the one or more processors 120 (e.g., via a memory controller). The one or more processors 120 may interact with the memory 122, for example, to retrieve computer-readable instructions stored in the memory 122. The computer-readable instructions stored in the memory 122 may cause the one or more processors 120 to execute one or more applications, including one or more various installed applications 124A, 124B, ... 124N, a third-party content filtering application 126, and / or a content presentation application 128. Furthermore, in some examples, the computer-readable instructions stored in the memory 122 may include instructions for performing any of the steps of a method 300, which is described in further detail below in connection with FIG. 3.

[0031] Executing the third-party content filtering application 126 may include identifying or otherwise determining which applications 124A, 124B, ... 124N are currently installed on the mobile computing device 104. For simplicity, the applications 124A, 124B, ... 124N currently installed on the mobile computing device 104 may include the third-party content filtering application 126 and / or the content presentation application 128, along with several other mobile computing device applications, all of which may be collectively referred to as "installed applications 124." In some examples, the third-party content filtering application 126 may periodically identify or determine which installed applications 124 are currently present on the memory 122 and may generate a report indicating the installed applications 124 currently present on the memory 122. For example, the report may include an indication of any installed applications 124 that have been added or removed since the previous report. In some examples, the third-party content filtering application 126 may send this report to the server device 102 (based on the user of the mobile computing device 104 providing permission), possibly in response to a request that the third-party content filtering application 126 may receive from the server device 102.

[0032] Additionally, in some examples, the third-party content filtering application 126 may receive a list of candidate mobile applications from the server device 102. The third-party content filtering application 126 may compare the list of candidate mobile applications received from the server device 102 with the installed applications 124 to identify one or more candidate mobile applications that are not already installed on the mobile computing device 104. The third-party content filtering application 126 may then send to the server device 102 an indication of one or more of the candidate mobile applications that are not currently installed in the memory of the mobile computing device 104 (based on the user of the mobile computing device 104 providing permission).

[0033] In some examples, after transmitting this information to the server device 102, the third-party content filtering application 126 may then receive items of third-party content from the server device 102 and provide these items of third-party content to the content presentation application 128 for presentation via the user interface 118.

[0034] Additionally, in some examples, the third-party content filtering application 126 may receive from the server device 102 items of third-party content as well as an indication of candidate mobile applications associated with each item of third-party content. The third-party content filtering application 126 may compare the candidate mobile applications associated with each item of third-party content to the installed applications 124 to determine whether any of the candidate mobile applications are already installed in the memory of the mobile computing device 104. Upon identifying one or more items of third-party content associated with applications that are not already installed on the mobile computing device 104, the third-party content filtering application 126 may provide these identified items of third-party content to the content presentation application 128 for presentation via the user interface 118.

[0035] Additionally, if all of the candidate mobile applications associated with the items of third-party content that the mobile computing device 104 receives from the server device 102 are already installed on the mobile computing device 104, the third-party content filtering application 126 may send a request to the server device 102 for additional items of third-party content associated with different (not necessarily specified) candidate mobile applications. The third-party content filtering application 126 may then receive from the server device 102 additional items of third-party content associated with the different candidate mobile applications, and may repeat this process until the third-party content filtering application 126 identifies one or more items of third-party content associated with applications that are not already installed on the mobile computing device 104. The third-party content filtering application 126 may provide these identified items of third-party content that are not already installed on the mobile computing device 104 to the content presentation application 128 for presentation via the user interface 118.

[0036] For example, executing the content presentation application 128 may include presenting content including media content, web content, gaming content, etc., as well as third-party content from the third-party content filtering application 126, via the user interface 118. In some examples, the content provided by the content presentation application 128 via the user interface 118 may include audio content, video content, haptic content, etc.

[0037] Additionally, in some examples, the third-party content filtering application 126 (or another application on the mobile computing device 104) may transmit an indication of applications installed by the mobile computing device 104 after the mobile computing device 104 presents third-party content associated with various applications (based on the user of the mobile computing device 104 providing permission). For example, the mobile computing device 104 may transmit an indication of whether an application associated with an item of third-party content was installed in the memory 122 of the mobile computing device 104 within a threshold period (e.g., 15 minutes, 1 hour, 1 day, 1 week, etc.) after the item of third-party content was presented by the mobile computing device 104.

[0038] Exemplary Method in a Server Device 2 is a flow diagram of an example method 200 for filtering third-party content associated with the installation of a mobile application to be provided via a given mobile computing device based on which applications are already installed on the mobile computing device, implemented by a server device that may be used in the system 100 of FIG. 1, according to some examples provided herein. One or more steps of method 200 may be implemented as a set of instructions stored in a computer-readable memory (e.g., memory 110 of server device 102) and executable on one or more processors (e.g., processor 108 of server device 102).

[0039] At block 204, the method 200 may include determining, by a server device (e.g., server device 102), a set of one or more candidate mobile applications each associated with each third-party content presentable on the mobile computing device (e.g., mobile computing device 104).

[0040] At block 206, a determination may be made as to whether one or more of the set of candidate mobile applications are included in the set of one or more mobile computing device applications installed on the mobile computing device.

[0041] For example, in some examples, method 200 may include receiving, from the mobile computing device, an indication of one or more mobile applications installed on the mobile computing device, and the determination at block 206 may be based on the indication of the one or more applications installed on the mobile computing device received from the mobile computing device itself. For example, the mobile computing device may periodically send (in response to a request from a server device or otherwise) an updated indication of the mobile applications installed on the mobile computing device. Further, in some examples, method 200 may include determining the indication of the one or more mobile applications installed on the mobile computing device based on data provided by a mobile application store or provider accessed by the mobile computing device. For example, the data provided by the mobile application store or provider may include an indication of which mobile applications have been purchased and / or downloaded by the mobile computing device, and the determination made at block 206 may be based on the indication of the one or more applications installed on the mobile computing device determined based on the data provided by the mobile application store or provider.

[0042] Further, in some examples, method 200 may include the server device sending an indication of the set of candidate mobile applications to the mobile computing device. The mobile computing device may respond to the indication of the candidate mobile applications sent by the server device by sending an indication of one or more of the candidate mobile applications that are installed on the mobile computing device and / or sending an indication of one or more of the candidate mobile applications that are not installed on the mobile computing device, i.e., method 200 includes the server device receiving an indication of one or more of the candidate mobile applications that are installed on the mobile computing device and / or receiving an indication of one or more of the candidate mobile applications that are not installed on the mobile computing device.

[0043] If one or more of the set of candidate mobile applications are included in the set of one or more mobile computing device applications installed on the mobile computing device (block 206, YES), method 200 may include refraining from sending third-party content related to those mobile applications to the mobile computing device (block 208).

[0044] If one or more of the set of candidate mobile applications are not included in the set of one or more mobile computing device applications installed on the mobile computing device (block 206, NO), method 200 may include sending third-party content related to one or more of those mobile applications to the mobile computing device (block 210).

[0045] Additionally, in some examples, method 200 may further include receiving or otherwise determining an updated indication of one or more mobile applications installed on the mobile computing device. For example, the updated indication of one or more applications installed on the mobile computing device may indicate that one of the applications previously determined to be absent from the mobile computing device was actually present on the mobile computing device before third-party content associated with that application was transmitted to the mobile computing device (e.g., because the previous indication / determination of one or more applications installed on the mobile computing device was out of date). In such a case, method 200 may include the server device transmitting third-party content associated with another mobile application that is absent from the mobile computing device in accordance with the updated indication of one or more applications installed on the mobile computing device.

[0046] Additionally, in some examples, the updated indication of one or more applications installed on the mobile computing device may indicate that one or more of the mobile applications previously determined to be present on the mobile computing device are no longer present on the mobile computing device (e.g., because these applications were uninstalled from the mobile computing device since the previous indication / determination of the one or more applications installed on the mobile computing device). In such cases, method 200 may include the server device transmitting third-party content related to one of the mobile applications newly determined to be absent from the mobile computing device.

[0047] Additionally, in some examples, the updated indication of one or more applications installed on the mobile computing device may indicate that one or more mobile applications for which associated third-party content was transmitted to the mobile computing device were subsequently installed on the mobile computing device. In particular, the updated indication of one or more applications installed on the mobile computing device may include an indication that one or more mobile applications for which associated third-party content was transmitted to the mobile computing device were subsequently installed on the mobile computing device within a threshold amount of time (e.g., 15 minutes, 1 hour, 1 day, 1 week) after the third-party content was presented via the mobile computing device.

[0048] Exemplary Methods in Mobile Computing Devices 3 is a flow diagram of an example method 300 for filtering third-party content associated with the installation of mobile applications to be provided via a given mobile computing device based on which applications are already installed on the mobile computing device, implemented by a mobile computing device that may be used in the system 100 of FIG. 1, according to some examples provided herein. One or more steps of method 300 may be implemented as a set of instructions stored in a computer-readable memory (e.g., memory 122 of mobile computing device 104) and executable on one or more processors (e.g., processor 120 of mobile computing device 104).

[0049] At block 302, the method 300 may include determining, by a mobile computing device (eg, the mobile computing device 104), an indication of a set of one or more mobile applications installed on the mobile computing device.

[0050] At block 304, the method 300 may include receiving, by the mobile computing device, an indication of a set of one or more candidate mobile applications each associated with a respective third-party content presentable on the mobile computing device, from a server device, such as, for example, server device 102. In some examples, the mobile computing device may receive, from the server device, for example, the third-party content associated with one or more of the candidate mobile applications.

[0051] At block 306, a determination may be made as to whether one or more of the set of candidate mobile applications are included in the set of one or more mobile computing device applications installed on the mobile computing device.

[0052] If one or more of the set of candidate mobile applications are included in the set of one or more mobile computing device applications installed on the mobile computing device (block 306, YES), the method 300 may include refraining from presenting third-party content associated with those mobile applications (block 308). If one or more of the candidate mobile applications are subsequently uninstalled or otherwise removed from the mobile computing device, the method 300 may further include subsequently presenting third-party content associated with those candidate mobile applications. For example, in some examples, the method 300 may include the mobile computing device requesting third-party content associated with those candidate mobile applications, e.g., from a server device, and subsequently receiving and presenting the third-party content associated with those candidate mobile applications.

[0053] If one or more of the set of candidate mobile applications are not included in the set of one or more mobile computing device applications installed on the mobile computing device (block 306, NO), method 300 may include presenting third-party content related to one or more of those mobile applications, for example, via a user interface (such as user interface 118) associated with the mobile computing device (block 310). For example, in some examples, method 300 may include the mobile computing device requesting third-party content related to one or more candidate mobile applications not installed on the mobile computing device from a server device. The mobile computing device may then receive and present the third-party content related to the one or more candidate mobile applications not installed on the mobile computing device.

[0054] In some examples, method 300 may include transmitting an update to the server device indicating that one or more mobile applications for which the associated third-party content was presented by the mobile computing device were subsequently installed on the mobile computing device. In particular, the update may include an indication that the one or more mobile applications for which the associated third-party content was sent to the mobile computing device were subsequently installed on the mobile computing device within a threshold amount of time (e.g., 15 minutes, 1 hour, 1 day, 1 week) after the mobile computing device presented the third-party content.

[0055] Further considerations The following additional considerations apply to the above discussion: Throughout this specification, components, operations, or structures described as a single instance may be implemented by multiple instances. While individual operations of one or more methods are shown and described as separate operations, one or more of the individual operations may be performed simultaneously, and the operations need not be performed in the order shown. Structures and functions presented as separate components in example configurations may be implemented as combined structures or components. Similarly, structures and functions presented as a single component may be implemented as separate components. These and other changes, modifications, additions, and improvements are within the scope of the present disclosure.

[0056] Additionally, certain embodiments are described herein as including logic or certain components, modules, or mechanisms. A module may constitute either a software module (e.g., code stored on a machine-readable medium) or a hardware module. A hardware module is a tangible unit that can perform certain operations and may be configured or arranged in a particular way. In exemplary embodiments, one or more computer systems (e.g., standalone client or server computer systems) or one or more hardware modules of a computer system (e.g., a processor or group of processors) may be configured by software (e.g., an application or portion of an application) as a hardware module that operates to perform certain operations as described herein.

[0057] A hardware module may include dedicated circuitry or logic that is permanently configured to perform particular operations (e.g., as a dedicated processor such as a field programmable gate array (FPGA) or application specific integrated circuit (ASIC)) or may include programmable logic or circuitry that is temporarily configured by software to perform particular operations (e.g., as contained within a general-purpose processor or other programmable processor). It will be appreciated that the decision to implement a hardware module in dedicated permanently configured circuitry or temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.

[0058] Thus, the term hardware should be understood to encompass tangible entities that may be physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a particular way or perform particular operations described herein. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), it is not necessary that each of the hardware modules be configured or instantiated at all times. For example, if the hardware modules include a general-purpose processor configured using software, the general-purpose processor may be configured as each different hardware module at different times. Thus, the software may, for example, configure the processor to configure a particular hardware module at one time and to configure a different hardware module at a different time.

[0059] Hardware and software modules can provide information to and receive information from other hardware and / or software modules. Thus, the described hardware modules may be considered to be communicatively coupled. When multiple such hardware or software modules are present simultaneously, communication may be achieved through the transmission of signals connecting the hardware or software modules (e.g., via appropriate circuits and buses). In embodiments in which multiple hardware modules or software modules are configured or instantiated at different times, communication between such hardware or software modules may be achieved, for example, through the storage and retrieval of information in memory structures accessible to the multiple hardware or software modules. For example, one hardware or software module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. An additional hardware or software module may then later access the memory device to retrieve and process the stored output. Hardware and software modules may also initiate communication with input or output devices and may operate on resources (e.g., collections of information).

[0060] Various operations of the example methods described herein may be performed, at least in part, by one or more processors that are temporarily or permanently configured (e.g., by software) to perform the associated operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. Modules referred to herein may, in some example embodiments, include processor-implemented modules.

[0061] Similarly, the methods or routines described herein may be implemented at least in part by a processor. For example, at least some of the operations of a method may be performed by one or more processors or hardware modules implemented by processors. Execution of some of the operations may be distributed among one or more processors that are not only present in a single machine, but also located across several machines. In some exemplary embodiments, one processor or multiple processors may be located in a single location (e.g., in a home environment, in an office environment, or as a server farm), while in other embodiments, the processors may be distributed across several locations.

[0062] The one or more processors may also operate to support execution of associated operations in a "cloud computing" environment or as SaaS. For example, as indicated above, at least some of the operations may be performed by a group of computers (as examples of machines that include processors), and these operations may be accessed over a network (e.g., the Internet) and via one or more suitable interfaces (e.g., APIs).

[0063] Execution of some of the operations may be distributed among one or more processors that are not only located within a single machine, but also across several machines. In some exemplary embodiments, one or more processors or modules implemented by the processors may be located in a single geographic location (e.g., in a home environment, an office environment, or a server farm). In other exemplary embodiments, one or more processors or modules implemented by the processors may be distributed across several geographic locations.

[0064] Some portions of this specification are presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals within a machine memory (e.g., computer memory). These algorithms or symbolic representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. As used herein, an "algorithm" or "routine" is a self-consistent sequence of operations or similar processes leading to a desired result. In this context, algorithms, routines, and operations involve physical manipulations of physical quantities. Usually, though not necessarily, such quantities may take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. It is sometimes convenient, primarily for reasons of common usage, to refer to such signals using words such as "data," "content," "bits," "values," "elements," "symbols," "characters," "words," "numbers," "digits," etc. However, these words are merely convenient labels and should be associated with the appropriate physical quantities.

[0065] Unless otherwise specified, discussions herein using words such as "processing," "computing," "calculation," "determining," "presenting," "displaying," etc. may refer to machine (e.g., computer) actions or processes that manipulate or transform data represented as physical (e.g., electrical, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.

[0066] As used herein, any reference to "one embodiment" or "an embodiment" means that a particular element, feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" in various places in this specification are not necessarily all referring to the same embodiment.

[0067] Some embodiments may be described using the terms "coupled" and "connected," along with their derivatives. For example, some embodiments may be described using the term "coupled" to indicate that two or more elements are in direct physical or electrical contact. However, the term "coupled" may also mean that two or more elements are not in direct contact with each other, but still cooperate or interact with each other. The embodiments are not limited in this context.

[0068] As used herein, the terms "comprises," "comprising," "includes," "including," "has," "having," or any other variation thereof, are intended to include a non-exclusive inclusion. For example, a process, method, product, or apparatus that includes a list of elements is not necessarily limited to only those elements and may include other elements not expressly listed or inherent to such process, method, product, or apparatus. Furthermore, unless expressly stated to the contrary, "or" refers to an inclusive or, not an exclusive or. For example, condition A or B is satisfied by any one of the following: A is true (or exists) and B is false (or does not exist), A is false (or does not exist) and B is true (or exists), and both A and B are true (or exist).

[0069] Additionally, the use of "a" or "an" is employed to describe elements and components of embodiments herein. This is done merely for convenience and to give a general sense of the description. This description should be read to include one or at least one, and the singular also includes the plural unless it is clear that otherwise is intended.

[0070] Upon reading this disclosure, those skilled in the art will appreciate further alternative structural and functional designs in accordance with the principles disclosed herein. Thus, while specific embodiments and applications have been shown and described, it should be understood that the disclosed embodiments are not limited to the precise structure and components disclosed herein. Various modifications, changes, and variations which will be apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and apparatus disclosed herein without departing from the spirit and scope, as defined in the appended claims.

[0071] The following is a non-exhaustive list of aspects of the present disclosure.

[0072] Aspect 1. Determining, by a server, a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with a respective third-party content presentable on a mobile computing device; In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, transmitting, by the server, to the mobile computing device, third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, and refraining from transmitting third-party content related to the second mobile application to the mobile computing device.

[0073] Aspect 2. The method of aspect 1, further comprising receiving, by the server, from the mobile computing device, an indication of one or more mobile applications installed on the mobile computing device.

[0074] Aspect 3. The method of aspect 1, further comprising determining, by the server, an indication of one or more mobile applications installed on the mobile computing device based on data provided by a mobile application store or provider accessed by the mobile computing device.

[0075] Aspect 4. Sending, by a server, an indication of a set of one or more candidate mobile applications to a mobile computing device; and receiving, by the server, one or more indications of (i) that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, or (ii) that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device.

[0076] Aspect 5. The set of one or more candidate mobile applications further includes a third mobile application, and the method further comprises: receiving, by a server, from the mobile computing device, an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the first mobile application was installed on the mobile computing device before the mobile computing device received third-party content related to the first mobile application; and in response to determining that the third mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, transmitting, by the server, third-party content related to the third mobile application to the mobile computing device.

[0077] Aspect 6. The method of any one of aspects 1 to 5, further comprising receiving, by the server, from the mobile computing device, an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the first mobile application was installed on the mobile computing device within a threshold period of time after the mobile computing device presented third-party content related to the first mobile application.

[0078] Aspect 7. Receiving, by a server, from the mobile computing device, an updated indication of one or more mobile applications installed on the mobile computing device, indicating that a second mobile application has been uninstalled from the mobile computing device; and in response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, transmitting, by the server, third-party content related to the second mobile application to the mobile computing device.

[0079] Aspect 8. One or more processors; A memory storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to: determining a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with each third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, transmit third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, and a memory that refrains from transmitting third-party content related to the second mobile application to the mobile computing device.

[0080] Aspect 9. The instructions, when executed by one or more processors, further cause the one or more processors to: The system of aspect 8, further comprising: receiving an indication of one or more mobile applications installed on the mobile computing device; and optionally, receiving the indication of the one or more mobile applications installed on the mobile computing device from the mobile computing device.

[0081] Aspect 10. The instructions, when executed by one or more processors, further cause the one or more processors to: The system of embodiment 8, wherein the system determines an indication of one or more mobile applications installed on the mobile computing device based on data provided by a mobile application store or provider accessed by the mobile computing device.

[0082] Aspect 11. The instructions, when executed by one or more processors, further cause the one or more processors to: causing the mobile computing device to transmit an indication of a set of one or more candidate mobile applications; 11. The system of any one of aspects 8 to 10, further comprising: receiving one or more indications of (i) that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device; or (ii) that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device; and optionally, receiving one or more indications from the mobile computing device of (i) that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device; or (ii) that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device.

[0083] Aspect 12. The set of one or more candidate mobile applications further includes a third mobile application, and the instructions, when executed by the one or more processors, further cause the one or more processors to: receiving, from the mobile computing device, an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the first mobile application was installed on the mobile computing device before the mobile computing device received the third-party content related to the first mobile application; 12. The system of any one of aspects 8 to 11, wherein in response to determining that the third mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, the system causes third-party content related to the third mobile application to be transmitted to the mobile computing device.

[0084] Aspect 13. The instructions, when executed by one or more processors, further cause the one or more processors to: 13. The system of any one of aspects 8 to 12, wherein after the mobile computing device presents third-party content related to the first mobile application, an updated indication of one or more mobile applications installed on the mobile computing device is received indicating that the first mobile application was installed on the mobile computing device within a threshold period of time, and optionally the updated indication is received from the mobile computing device.

[0085] Aspect 14. The instructions, when executed by one or more processors, further cause the one or more processors to: receiving an updated indication from the mobile computing device of one or more mobile applications installed on the mobile computing device indicating that the second mobile application has been uninstalled from the mobile computing device; 14. The system of any one of aspects 8 to 13, wherein in response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, causes third-party content related to the second mobile application to be transmitted to the mobile computing device.

[0086] Embodiment 15. A computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform the method of any one of embodiments 1-7.

[0087] Aspect 16. Determining, by a mobile computing device, an indication of a set of one or more mobile applications installed on the mobile computing device; receiving, by the mobile computing device, an indication of a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with a respective third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, presenting, by the mobile computing device, third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, and refraining, by the mobile computing device, from presenting the third-party content associated with the second mobile application.

[0088] Aspect 17. In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, requesting, by the mobile computing device, third-party content related to the first mobile application from a server; 17. The method of aspect 16, further comprising: receiving, by the mobile computing device from the server, third-party content related to the first mobile application.

[0089] Aspect 18. The method of aspect 16, further comprising receiving, by the mobile computing device from the server, third-party content associated with the first mobile application and third-party content associated with the second mobile application.

[0090] Aspect 19. The method of any one of aspects 16 to 18, further comprising: after the mobile computing device presents third-party content related to the first mobile application, transmitting, by the mobile computing device to a server, an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the first mobile application was installed on the mobile computing device within a threshold period of time.

[0091] Aspect 20. Determining, by a mobile computing device, that a second mobile application has been uninstalled from the mobile computing device; In response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, 20. The method of any one of aspects 16-19, further comprising: presenting, by the mobile computing device, third-party content related to the second mobile application.

[0092] Aspect 21. In response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, requesting, by the mobile computing device, third-party content related to the second mobile application from the server; 21. The method of aspect 20, further comprising: receiving, by the mobile computing device from the server, third-party content related to the second mobile application.

[0093] Aspect 22. One or more processors; A memory storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to: determining an indication of a set of one or more mobile applications installed on the mobile computing device; receiving an indication of a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with a respective third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, presenting third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, and causing the mobile computing device to refrain from presenting third-party content associated with the second mobile application.

[0094] Aspect 23. The instructions, when executed by one or more processors, further cause the one or more processors to: In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, requesting third-party content related to the first mobile application from a server; 23. The system of embodiment 22, wherein the system receives third-party content related to the first mobile application from a server.

[0095] Aspect 24. The instructions, when executed by one or more processors, further cause the one or more processors to: 23. The system of aspect 22, wherein the system receives, from a server, third-party content associated with a first mobile application and third-party content associated with a second mobile application.

[0096] Aspect 25. The instructions, when executed by one or more processors, further cause the one or more processors to: 25. The system of any one of aspects 22 to 24, wherein the system causes a server to transmit an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the first mobile application was installed on the mobile computing device within a threshold period of time after the mobile computing device presents third-party content related to the first mobile application.

[0097] Aspect 26. The instructions, when executed by one or more processors, further cause the one or more processors to: determining that the second mobile application has been uninstalled from the mobile computing device; In response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, 26. The system of any one of aspects 22 to 25, causing third-party content related to the second mobile application to be presented.

[0098] Aspect 27. The instructions, when executed by one or more processors, further cause the one or more processors to: In response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, requesting third-party content related to the second mobile application from the server; The system of embodiment 25, further comprising receiving third-party content related to the second mobile application from the server.

[0099] Embodiment 28. A computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform the method of any one of embodiments 16-21. [Explanation of symbols]

[0100] 100 systems 102 Server Device 104 Mobile Computing Devices 106 Network 108 processors 110 memory 112 Third-Party Content Filtering Applications 114 databases 115 candidate mobile application database 116 Third-Party Content Databases 118 User Interface 120 processors 122 memory 124A, 124B, ... 124N Installed Applications 126 Third-Party Content Filtering Applications 128 Content Presentation Applications 200 ways 300 ways

Claims

1. determining, by a server, a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with each third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in a set of one or more mobile applications installed on the mobile computing device, transmitting, by the server, to the mobile computing device, third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, refraining, by the server, from transmitting to the mobile computing device third-party content related to the second mobile application; receiving, by the server, from the mobile computing device, an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the first mobile application was installed on the mobile computing device within a threshold time period after the mobile computing device presented the third-party content related to the first mobile application; 20. A computer-implemented method comprising:

2. A method of determining, by a server, a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with a respective third-party content presentable on a mobile computing device; In response to determining that the first mobile application is not present in a set of one or more mobile applications installed on the mobile computing device, transmitting, by the server, to the mobile computing device, third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, refraining, by the server, from transmitting to the mobile computing device third-party content related to the second mobile application; receiving, by the server, from the mobile computing device, an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the second mobile application has been uninstalled from the mobile computing device; transmitting, by the server, third-party content related to the second mobile application to the mobile computing device in response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device; 20. A computer-implemented method comprising:

3. The method of claim 1 or 2, further comprising receiving, by the server, from the mobile computing device, an indication of one or more mobile applications installed on the mobile computing device.

4. 3. The method of claim 1 or 2, further comprising determining, by the server, an indication of one or more mobile applications installed on the mobile computing device based on data provided by a mobile application store or provider accessed by the mobile computing device.

5. transmitting, by the server, an indication of the set of one or more candidate mobile applications to the mobile computing device; 3. The method of claim 1 or 2, further comprising receiving, by the server, one or more indications of: (i) the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device; or (ii) the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device.

6. the set of one or more candidate mobile applications further includes a third mobile application, and the method further comprises: receiving, by the server, from the mobile computing device, an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the first mobile application was installed on the mobile computing device before the mobile computing device received the third-party content related to the first mobile application; 3. The method of claim 1 or 2, further comprising: in response to determining that the third mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, transmitting, by the server, third-party content related to the third mobile application to the mobile computing device.

7. one or more processors; a memory storing computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to: determining a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with each third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in a set of one or more mobile applications installed on the mobile computing device, transmitting third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, refrain from transmitting third-party content related to the second mobile application to the mobile computing device; and causing the mobile computing device to receive an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the first mobile application was installed on the mobile computing device within a threshold period of time after the mobile computing device presented the third-party content related to the first mobile application.

8. one or more processors; a memory storing computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to: determining a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with each third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in a set of one or more mobile applications installed on the mobile computing device, transmitting third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, refrain from transmitting third-party content related to the second mobile application to the mobile computing device; receiving from the mobile computing device an updated indication of one or more mobile applications installed on the mobile computing device indicating that the second mobile application has been uninstalled from the mobile computing device; and memory, in response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, causing third-party content related to the second mobile application to be transmitted to the mobile computing device.

9. The instructions, when executed by the one or more processors, further cause the one or more processors to:

9. The system of claim 7 or 8, further comprising receiving an indication of one or more mobile applications installed on the mobile computing device.

10. The instructions, when executed by the one or more processors, further cause the one or more processors to:

9. The system of claim 7 or 8, wherein an indication of one or more mobile applications installed on the mobile computing device is determined based on data provided by a mobile application store or provider accessed by the mobile computing device.

11. The instructions, when executed by the one or more processors, further cause the one or more processors to: transmitting an indication of the set of one or more candidate mobile applications to the mobile computing device; 9. The system of claim 7 or 8, further comprising: receiving one or more indications of (i) that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device; or (ii) that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device.

12. the set of one or more candidate mobile applications further includes a third mobile application, and the instructions, when executed by the one or more processors, further cause the one or more processors to: receiving from the mobile computing device an updated indication of one or more mobile applications installed on the mobile computing device indicating that the first mobile application was installed on the mobile computing device before the mobile computing device received the third-party content related to the first mobile application; 9. The system of claim 7 or 8, wherein in response to determining that the third mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, third-party content related to the third mobile application is transmitted to the mobile computing device.

13. 1. A computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to: determining a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with each third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in a set of one or more mobile applications installed on the mobile computing device, transmitting third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, refrain from transmitting third-party content related to the second mobile application to the mobile computing device; and receiving an updated indication of one or more mobile applications installed on the mobile computing device, the indication indicating that the first mobile application was installed on the mobile computing device within a threshold period of time after the mobile computing device presented the third-party content related to the first mobile application.

14. A computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to: determining a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with each third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in a set of one or more mobile applications installed on the mobile computing device, transmitting third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, refrain from transmitting third-party content related to the second mobile application to the mobile computing device; receiving from the mobile computing device an updated indication of one or more mobile applications installed on the mobile computing device indicating that the second mobile application has been uninstalled from the mobile computing device; A computer-readable storage medium that causes third-party content related to the second mobile application to be transmitted to the mobile computing device in response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device.

15. The instructions, when executed by the one or more processors, further cause the one or more processors to:

15. The computer-readable storage medium of claim 13 or 14, for receiving an indication of one or more mobile applications installed on the mobile computing device.

16. The instructions, when executed by the one or more processors, further cause the one or more processors to:

15. The computer-readable storage medium of claim 13 or 14, further comprising: determining an indication of one or more mobile applications installed on the mobile computing device based on data provided by a mobile application store or provider accessed by the mobile computing device.

17. The instructions, when executed by the one or more processors, further cause the one or more processors to: transmitting an indication of the set of one or more candidate mobile applications to the mobile computing device; 15. The computer-readable storage medium of claim 13 or 14, wherein the computer receives one or more indications of (i) that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, or (ii) that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device.

18. the set of one or more candidate mobile applications further includes a third mobile application, and the instructions, when executed by the one or more processors, further cause the one or more processors to: receiving from the mobile computing device an updated indication of one or more mobile applications installed on the mobile computing device indicating that the first mobile application was installed on the mobile computing device before the mobile computing device received the third-party content related to the first mobile application; 15. The computer-readable storage medium of claim 13 or 14, further comprising: causing third-party content related to the third mobile application to be transmitted to the mobile computing device in response to determining that the third mobile application is not present in the set of one or more mobile applications installed on the mobile computing device.

19. determining, by a mobile computing device, an indication of a set of one or more mobile applications installed on said mobile computing device; receiving, by the mobile computing device, an indication of a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with a respective third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, presenting, by the mobile computing device, third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, refraining, by the mobile computing device, from presenting third-party content related to the second mobile application; transmitting, by the mobile computing device to a server, an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the first mobile application was installed on the mobile computing device within a threshold time period after the mobile computing device presented the third-party content related to the first mobile application; 20. A computer-implemented method comprising:

20. In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, requesting, by the mobile computing device, the third-party content related to the first mobile application from a server; and receiving, by the mobile computing device from the server, the third-party content associated with the first mobile application.

21. 20. The method of claim 19, further comprising receiving, by the mobile computing device from a server, the third-party content associated with the first mobile application and the third-party content associated with the second mobile application.

22. determining, by the mobile computing device, that the second mobile application has been uninstalled from the mobile computing device; In response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, and presenting, by the mobile computing device, third-party content related to the second mobile application.

23. In response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, requesting, by the mobile computing device, the third-party content related to the second mobile application from a server; and receiving, by the mobile computing device from the server, the third-party content associated with the second mobile application.

24. one or more processors; a memory storing computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to: determining an indication of a set of one or more mobile applications installed on the mobile computing device; receiving an indication of a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with a respective third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, presenting third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, causing the mobile computing device to refrain from presenting third-party content related to the second mobile application; and causing a server to transmit an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the first mobile application was installed on the mobile computing device within a threshold period of time after the mobile computing device presented the third-party content related to the first mobile application.

25. The instructions, when executed by the one or more processors, further cause the one or more processors to: In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, requesting the third-party content related to the first mobile application from a server; 25. The system of claim 24, further comprising receiving the third-party content related to the first mobile application from the server.

26. The instructions, when executed by the one or more processors, further cause the one or more processors to:

25. The system of claim 24, further comprising receiving the third-party content associated with the first mobile application and the third-party content associated with the second mobile application from a server.

27. The instructions, when executed by the one or more processors, further cause the one or more processors to: determining that the second mobile application has been uninstalled from the mobile computing device; In response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, 27. The system of any one of claims 24 to 26, causing third-party content related to the second mobile application to be presented.

28. The instructions, when executed by the one or more processors, further cause the one or more processors to: In response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, requesting the third-party content related to the second mobile application from a server; 28. The system of claim 27, further comprising receiving the third-party content related to the second mobile application from the server.

29. 1. A computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to: determining an indication of a set of one or more mobile applications installed on the mobile computing device; receiving an indication of a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with a respective third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, presenting third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, causing the mobile computing device to refrain from presenting third-party content related to the second mobile application; A computer-readable storage medium that causes a server to transmit an updated indication of one or more mobile applications installed on the mobile computing device, indicating that the first mobile application was installed on the mobile computing device within a threshold period of time after the mobile computing device presented the third-party content related to the first mobile application.

30. The instructions, when executed by the one or more processors, further cause the one or more processors to: In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, requesting the third-party content related to the first mobile application from a server; 30. The computer-readable storage medium of claim 29, wherein the third-party content related to the first mobile application is received from the server.

31. The instructions, when executed by the one or more processors, further cause the one or more processors to:

30. The computer-readable storage medium of claim 29, wherein the third-party content associated with the first mobile application and the third-party content associated with the second mobile application are received from a server.

32. The instructions, when executed by the one or more processors, further cause the one or more processors to: determining that the second mobile application has been uninstalled from the mobile computing device; In response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, 32. The computer-readable storage medium of any one of claims 29 to 31, causing third-party content related to the second mobile application to be presented.

33. The instructions, when executed by the one or more processors, further cause the one or more processors to: In response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, requesting the third-party content related to the second mobile application from a server; 33. The computer-readable storage medium of claim 32, wherein the third-party content related to the second mobile application is received from the server.

34. determining, by a mobile computing device, an indication of a set of one or more mobile applications installed on said mobile computing device; receiving, by the mobile computing device, an indication of a set of one or more candidate mobile applications including a first mobile application and a second mobile application each associated with a respective third-party content presentable on the mobile computing device; In response to determining that the first mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, presenting, by the mobile computing device, third-party content related to the first mobile application; In response to determining that the second mobile application is included in the set of one or more mobile applications installed on the mobile computing device, refraining, by the mobile computing device, from presenting third-party content related to the second mobile application; determining, by the mobile computing device, that the second mobile application has been uninstalled from the mobile computing device; In response to determining that the second mobile application is not present in the set of one or more mobile applications installed on the mobile computing device, presenting, by the mobile computing device, third-party content related to the second mobile application; 20. A computer-implemented method comprising:

35. one or more processors; a memory storing computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to perform the method of claim 34.

36. 35. A computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform the method of claim 34.

Citation Information

Patent Citations

  • Electro-sensitive lethographic plate and its manufacture

    JP1983005294A

  • System, method and program product to manage installation of programs

    US20120144385A1

  • Software recommending method and recommending system

    US20140344254A1