Systems and methods for providing content
Systems, methods, and non-transitory computer-readable media can determine that a software application running on a computing device has been backgrounded. A determination is made that one or more prefetch criteria is satisfied. A request to prefetch one or more content items for the software application is generated based on determination that the one or more prefetch criteria is satisfied.
1. A computer-implemented method comprising:
determining, by a computing system, that a software application has been backgrounded;
determining, by the computing system, that prefetch criteria are satisfied, wherein the prefetch criteria comprise at least a minimum background time threshold specifying a minimum amount of time the software application must be backgrounded before a prefetch request can be initiated, wherein the minimum background time threshold is computed dynamically based on a computation of an average amount of time between active sessions on the software application and excludes outlier periods of inactivity, wherein the outlier periods of inactivity are determined based on a selected number of standard deviations; and
generating, by the computing system, a request to prefetch one or more content items for the software application based on a determination that the prefetch criteria are satisfied.
2. The computer-implemented method of claim 1 , wherein the request to prefetch one or more content items for the software application comprises a request to prefetch a plurality of content items for a plurality of feeds associated with the software application.
3. The computer-implemented method of claim 1 , wherein the prefetch criteria further comprise a connection type criterion.
4. The computer-implemented method of claim 3 , wherein the connection type criterion requires a connection to a network using an unmetered connection.
5. The computer-implemented method of claim 3 , wherein the connection type criterion requires a connection to a network using a Wi-Fi connection.
6. The computer-implemented method of claim 1 , further comprising:
transmitting the request to a content provider;
receiving one or more prefetched content items in response to the request;
storing the one or more prefetched content items; and
loading at least some of the one or more prefetched content items based on a determination that the software application has been foregrounded.
7. A system comprising:
at least one processor; and
a memory storing instructions that, when executed by the at least one processor, cause the system to perform a method comprising:
determining that a software application has been backgrounded;
determining that prefetch criteria are satisfied, wherein the prefetch criteria comprise at least a minimum background time threshold specifying a minimum amount of time the software application must be backgrounded before a prefetch request can be initiated, wherein the minimum background time threshold is computed dynamically based on a computation of an average amount of time between active sessions on the software application and excludes outlier periods of inactivity, wherein the outlier periods of inactivity are determined based on a selected number of standard deviations; and
generating a request to prefetch one or more content items for the software application based on a determination that the prefetch criteria are satisfied.
8. The system of claim 7 , wherein the request to prefetch one or more content items for the software application comprises a request to prefetch a plurality of content items for a plurality of feeds associated with the software application.
9. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:
determining that a software application has been backgrounded;
determining that prefetch criteria are satisfied, wherein the prefetch criteria comprise at least a minimum background time threshold specifying a minimum amount of time the software application must be backgrounded before a prefetch request can be initiated, wherein the minimum background time threshold is computed dynamically based on a computation of an average amount of time between active sessions on the software application and excludes outlier periods of inactivity, wherein the outlier periods of inactivity are determined based on a selected number of standard deviations; and
generating a request to prefetch one or more content items for the software application based on a determination that the prefetch criteria are satisfied.
10. The non-transitory computer-readable storage medium of claim 9 , wherein the request to prefetch one or more content items for the software application comprises a request to prefetch a plurality of content items for a plurality of feeds associated with the software application.
11. The system of claim 7 , wherein the prefetch criteria further comprise a connection type criterion.
12. The system of claim 11 , wherein the connection type criterion requires a connection to a network using an unmetered connection.
13. The system of claim 11 , wherein the connection type criterion requires a connection to a network using a Wi-Fi connection.
14. The system of claim 7 , wherein the instructions, when executed by the at least one processor, cause the system to further perform:
transmitting the request to a content provider;
receiving one or more prefetched content items in response to the request;
storing the one or more prefetched content items; and
loading at least some of the one or more prefetched content items based on a determination that the software application has been foregrounded.
15. The non-transitory computer-readable storage medium of claim 9 , wherein the prefetch criteria further comprise a connection type criterion.
16. The non-transitory computer-readable storage medium of claim 15 , wherein the connection type criterion requires a connection to a network using an unmetered connection.
17. The non-transitory computer-readable storage medium of claim 15 , wherein the connection type criterion requires a connection to a network using a Wi-Fi connection.
18. The non-transitory computer-readable storage medium of claim 9 , wherein the instructions, when executed by the at least one processor, cause the computing system to further perform:
transmitting the request to a content provider;
receiving one or more prefetched content items in response to the request;
storing the one or more prefetched content items; and
loading at least some of the one or more prefetched content items based on a determination that the software application has been foregrounded.