A method for calculating the duration of a usage session in an application and for assigning rewards.

The method estimates app usage time using MMP event timestamps to address security and compatibility issues, ensuring secure and reliable reward allocation across iOS and Android platforms.

JP2026108586APending Publication Date: 2026-06-30MYAPPFREE SPA

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
MYAPPFREE SPA
Filing Date
2025-12-16
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing methods for calculating app usage time and assigning rewards are complex, insecure, and not universally compatible with major operating systems like iOS and Android, posing security risks and privacy issues.

Method used

A calculation method that estimates app usage time based on event timestamps within the app, using a mobile measurement partner (MMP) to track session duration without relying on the operating system, ensuring secure and reliable reward allocation across different platforms.

Benefits of technology

Provides a secure and reliable method to calculate app usage time and assign rewards, respecting user privacy and operating system compatibility, reducing reliance on local measurements and avoiding synchronization errors.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The present invention provides a method for calculating the duration of a current app usage session or the total app usage time, which does not infringe on any user data and is operable on at least the most popular operating systems, and a method for assigning rewards based on the calculated app usage time. [Solution] A calculation method for calculating the duration of a current usage session of an application running on a device includes: obtaining a user identifier and a timestamp for each event in a series of events sent to the user by the application; and assigning to the duration of the current usage session a time corresponding to the elapsed time between the timestamp of the first event in the series of events within the current usage session and the timestamp of the last event in the series of events.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a calculation method for calculating the duration or total usage time of a usage session in an application, and, in particular, to a method for allocating rewards designed for an advertising campaign distributed via an application (app) that can be installed on, for example, a mobile device.

Background Art

[0002] An advertising campaign distributed on a mobile device via an app preferably utilizes the usage time of the app itself to deliver an advertising message to a user.

[0003] As the number of people who use and are active in an app, and / or who use the app for a longer time, for example by playing, increases, the interest in using such an app for an advertising campaign also increases. This is because more advertising messages can be proposed.

[0004] In this regard, methods for allocating rewards associated with an application have been developed, whereby users are more motivated to use the app itself for a longer time. Such methods are substantially based on tracking the time spent by a user in the app, that is, the duration of the usage session of the application.

[0005] An example of a help system for a video game that provides an external incentive (such as a reward) by displaying an advertisement according to an event in the game is described in US10740777.

[0006] Regarding game apps, other methods for allocating rewards are based on the progress of a user through the game levels. Progress through the levels depends on play time. Therefore, by giving rewards for level transitions, users are motivated to play the app for as long as possible.

[0007] The drawback of such a method stems from the fact that evaluating the actual time spent using the app from level transitions, and therefore determining how and how much to reward users, is complex.

[0008] To overcome such shortcomings, methods have been developed to assign rewards based on actual usage time, which is data counted by the operating system of the device on which the target app is downloaded. For example, a system that suggests a list of games to download to the user is integrated into the main app.

[0009] Users can select a game from a list, download it, install it, and start playing. The system then assigns points or rewards (e.g., credits or bonuses usable in the main app) to the user based on the time they spend playing.

[0010] Therefore, accumulated rewards can be used directly in the main app, encouraging users to remain active.

[0011] As mentioned above, such systems utilize the functionality of the device's operating system, for example, Android®, which makes it possible to determine how much time is being spent on a particular app.

[0012] Therefore, in order for it to work, users will be asked to enable this particular feature and agree to the terms of service during installation, which also prevents reward payments from being made without the user's permission.

[0013] A serious drawback, particularly on Android®, is that the enabled feature allows third parties to monitor not only the apps downloaded to play but all apps used on the device, creating obvious security issues for user data.

[0014] On the other hand, other operating systems, such as iOS®, do not allow general access to app usage time, which could be a drawback as such methods for assigning rewards may not work.

[0015] Therefore, the need for a calculation method to determine the duration of a current application usage session or the application usage time, and a method for assigning rewards, both of which must be reliable, versatile, and secure with respect to user data, remains unmet. [Overview of the project]

[0016] In this scenario, a method is proposed for calculating or tracking the duration of a current app usage session or the total app usage time, and for assigning rewards, which can overcome at least some of the shortcomings of the conventional technologies described above and satisfy the aforementioned needs.

[0017] In particular, the object of the present invention is to provide a calculation method for calculating the duration of a current app usage session or the total app usage time, which does not infringe on any user data and is operable on at least the most popular operating systems such as iOS® and Android®, and a method for assigning rewards based on the calculated app usage time.

[0018] This objective is achieved by a calculation method for calculating the duration of a current usage session of an app or the total usage time of an app, and by a method for allocating rewards, including technical features described in one or more of the claims of the appended patent claims. The dependent claims correspond to various possible embodiments of the present invention.

[0019] According to a first aspect, the present invention relates to a calculation method performed by at least one processor for calculating the duration of a current usage session of an application running on a device, for example, on a mobile device such as a smartphone.

[0020] In other words, the present invention relates to a calculation method for calculating the usage time of an application running on a device, which is performed by at least one processor.

[0021] In the following, for the sake of brevity, playtime will also be mentioned as a preferred example of usage time.

[0022] The method for calculating playtime is based on the time intervals between events that occur within the application, as will be revealed below.

[0023] In the context of ad tech, the term "event" refers to any time-stamped action or signal (such as start, level completion, or banner display) sent to a user by an app.

[0024] Event timestamps are usually accessible data.

[0025] The applicant noticed that when events are sufficiently close to each other, i.e., the interval between consecutive events falls within a predetermined time range, for example, within 2 - 3 minutes, it can be considered that the user has not left the app, or in the preferred case of a game app, is continuing to play within the current usage session or active session.

[0026] Advantageously, therefore, the applicant noticed that it is possible to estimate the duration of the active session from the timestamps of the events.

[0027] Following a test campaign, the applicant noticed, advantageously, that this estimate is recognized by the user as the measured value of the play time.

[0028] Advantageously, the reward calculation method for the user can be based on the duration of the active session calculated based on the occurrence of events.

[0029] The usage time of an application executed on a device consists of a plurality of events sent to the user by the application.

[0030] In particular, the current usage session or active session consists of a series of events sent to the user by the application. This calculation method includes obtaining a user identifier for each event in the series of events so as to be able to assign the duration of the session to a specific user.

[0031] The calculation method includes obtaining a timestamp for each event in the plurality of events.

[0032] Advantageously, it is possible to use third - party - made functions installed to count events within the app that are explicitly permitted outside the operating system.

[0033] The calculation method can utilize information obtained from a separate counter, distinct from the operating system, to form the basis for calculating total playtime.

[0034] The calculation method according to this embodiment can utilize information that can be obtained from a counter other than the operating system, such as a timestamp or information containing a timestamp, as the basis for calculating the total play time.

[0035] Preferably, information including a timestamp is provided by a known type of mobile measurement partner (MMP).

[0036] Schematically, an MMP is an external platform for advertisers that provides sophisticated evaluation criteria for analyzing download attribution and in-app user behavior.

[0037] The primary function is attribution of installations and in-app actions. MMP links app installations and subsequent actions (e.g., purchases, registrations) to the digital advertising campaigns that generated them.

[0038] MMP provides reports and dashboards that show performance metrics such as click-through rate, conversion rate, and user lifetime value.

[0039] Generally, any actions performed within an app that an advertiser wants to know about can be sent to the advertiser via an MMP (Mobile Management Platform).

[0040] Such actions are also sent to the advertising network to which the user is assigned.

[0041] Therefore, MMPs are generally integrated into apps to obtain analytical data for advertising campaigns.

[0042] Preferably, the calculation method includes ignoring an event if it has a timestamp equal to or earlier than the timestamp of an event preceding it.

[0043] This calculation method includes assigning the time elapsed between the timestamp of the first event in a series of events in the current session and the timestamp of the last event in that series to the duration of the current session.

[0044] In practice, it is assumed that the application events experienced by the user can be used to estimate the duration of the current session.

[0045] Preferably, according to this calculation method, the first event to be considered for the current session is an event that is consecutive to an event sent by the application prior to the first event, beyond a predefined inactivity interval between events.

[0046] In practice, for generic events sent by an application, the first event of the current session, from which the count of the active session duration begins, is the event that follows the generic event if it occurs beyond a predefined maximum inactivity period.

[0047] Preferably, according to this calculation method, the current session is considered to have ended with the last event if the last event is one of a series of events that precede the last event sent by the application beyond a predefined inactivity interval between events.

[0048] In practice, if an inactive period follows an event in the current session during which the application does not send any events, that event is considered the last event of the active session.

[0049] According to this calculation method, the first event is considered to start an active session for a user within the application, and the last event is considered to end that active session. Since events occur sequentially within an active session, this calculation method makes it possible to estimate the duration of the current session instantaneously.

[0050] This, advantageously, allows users to estimate their own application usage time.

[0051] An event following the last event may be considered to initiate a new active session that is consecutive to the active session terminated by the last event.

[0052] Preferably, “usage time” means the duration of the current session.

[0053] Preferably, the predefined maximum time or inactivity interval between events is between 4 and 10 minutes, and preferably equal to 7 minutes.

[0054] The maximum time between events or the predefined inactivity interval may also exceed 10 minutes, and even exceed 20 minutes, depending on, for example, the type of application and / or the advertising campaign that utilizes this calculation method.

[0055] Preferably, this calculation method includes setting the maximum duration of the current session being used.

[0056] This calculation method may include assigning the maximum duration to the current session duration if the elapsed time between the timestamp of the first event and the timestamp of the last event exceeds the maximum duration.

[0057] As a result, once the maximum duration is reached, the current session will not accumulate any further usage time.

[0058] Setting a maximum duration for usage can be helpful in advertising campaigns that utilize this calculation method to avoid over-rewarding users.

[0059] The maximum duration can be, for example, 60 minutes.

[0060] Advantageously, this calculation method allows for a reliable estimate of the duration of the currently used session, and in particular, it can identify the start and end of each active session.

[0061] This calculation method reduces reliance on the client's local measurements and avoids synchronization errors.

[0062] This calculation method enables scalable computation regardless of the amount of events generated by the application.

[0063] According to one aspect, the present invention relates to a calculation method, performed by at least one processor, for calculating the total usage time of an application running on a device, for example, a mobile device such as a smartphone.

[0064] A user's total usage or playtime consists of the time spent during usage or game sessions that have a start and end date.

[0065] Total playtime includes at least the first session used.

[0066] The first game session includes at least one event which may mark the start of the first game session.

[0067] The total playtime includes the second event that follows the first event.

[0068] The second event may be an event in the first game session, such as a level transition, or it may be an event in a second use or game session after the first game session, such as the start of a second use session.

[0069] This calculation method includes obtaining information, including application usage or playtime, during the first game session when the second event occurs.

[0070] The occurrence of the second event determines the acquisition of information that may include the playtime of the first game session.

[0071] When the second event occurs, the information may include the playtime of the first game session and / or the usage time or playtime between the first and second events.

[0072] When the second event occurs, the information may include the playtime of the game session at the time the second event occurred.

[0073] Advantageously, by utilizing the occurrence of specific events to collect information, including app usage time, access to data present on the user's device is severely restricted, particularly to data from other apps that are not the running app and for which it is desirable to know the time the user has spent on that app.

[0074] Information about a single event in a single application is available across all operating systems and is reliable regarding the data embedded within it.

[0075] For example, an app can use explicitly permitted third-party features outside of the operating system, which are installed to count events within the app.

[0076] The calculation method according to the present invention can utilize information that can be obtained from a counter different from the operating system in order to form the basis for calculating the total play time.

[0077] This calculation method involves adding the duration of the first game session to the user's accumulated usage time or play time in order to obtain the user's total play time. Accumulated play time may not include the play time of the current or active game session.

[0078] The playtime accumulated by the user is given by the sum of the playtime of all game sessions that precede the ongoing session and / or the event being considered.

[0079] Preferably, information regarding the occurrence of a second event, including the play time of the first game session, is provided by a known type of mobile measurement partner (MMP).

[0080] The second event could be a second use after the first game session or the start of a new game session.

[0081] For example, in the first game session, if there are no events communicated to the advertiser by the MMP after the start of the first game session (if the start of the first game session is considered the first event, then there is no second event), no information is transmitted, and therefore, there is no information including the game session's play time.

[0082] The start of a second game session following a first game session may constitute a second event in which the MMP provides the duration of the first game session.

[0083] Preferably, the start of a session (session event) always coincides with the end of the previous session's usage time.

[0084] Events during a usage session, such as a level transition in a game session, trigger the transmission of information including the app's usage time during the ongoing usage session leading up to the level transition.

[0085] Given that usage sessions can be interrupted at any time, it is advantageous to provide information including the app usage time in the preceding session when a second session begins after an interrupted session, thereby allowing the total usage time to be constantly updated.

[0086] An example of the flow for calculating or tracking total usage time can be illustrated as follows: - For each event received, - If a received event initiates a new session (session event), the preceding session is terminated; that is, the usage time of the preceding session is added to the cumulative usage time, and the usage time of the new session is reset to zero. - If the received event belongs to the current active session or is not the start of a new session, the usage time in the current session will be updated with the new value.

[0087] Preferably, the calculation method includes associating the first and second events with a first game session and a second game session, respectively, especially when the first and second events are obtained in a non-continuous order.

[0088] According to one aspect, the present invention relates to an electronic computer comprising at least one processor configured to perform the calculation method according to the above-described aspect.

[0089] According to one aspect, the present invention relates to a program for an electronic computer, which includes instructions that, when the program is executed by the electronic computer, cause the execution of the calculation method according to the aforementioned aspect.

[0090] According to one aspect, the present invention relates to a method for assigning rewards to a user in an application running on a device.

[0091] The allocation method is performed by at least one processor and includes calculating the duration or total usage time of the current session using the calculation method described above.

[0092] According to one embodiment, the method for allocation includes calculating the usage time to be paid by subtracting the time already paid from the duration of the current usage session.

[0093] The allocation method includes allocating compensation to users according to the amount of time they are required to spend.

[0094] Preferably, assigning compensation to users based on the time spent to be paid includes verifying whether the time spent to be paid is at least equal to a predetermined time block.

[0095] Preferably, a method for allocating compensation includes adding a predetermined time block to the usage time already paid, provided that the usage time to be paid is at least equal to a predetermined time block.

[0096] Preferably, a method for allocating rewards includes updating a predetermined time block to a predetermined new time value, preferably a time value greater than the aforementioned predetermined time value.

[0097] Preferably, the method for allocating rewards includes verifying whether a predefined minimum time interval has elapsed since the last reward allocation before allocating rewards to the user according to the usage time to be paid.

[0098] Preferably, the predefined minimum time interval is equal to 1 minute.

[0099] According to one embodiment, a method for assigning rewards to a user in accordance with the usage time to be paid for in an application running on a device is performed by at least one processor and includes calculating the user's total usage time in the calculation method according to the above embodiment, in particular subtracting usage time already paid to the user from the total usage time in order to obtain usage time to be paid when a second event occurs, and assigning rewards to the user based on the usage time to be paid.

[0100] Preferably, assigning compensation to users based on the time spent to be paid includes verifying whether the time spent to be paid is at least equal to a predetermined time block.

[0101] Preferably, a method for allocating compensation includes adding a predetermined time block to the usage time already paid, provided that the usage time to be paid is at least equal to a predetermined time block.

[0102] Advantageously, payment methods based on the calculation methods described above do not infringe on any user data, respect user privacy, and can operate on major operating systems such as iOS® and Android®, regardless of the accessibility of data by the operating system itself, based on, for example, timestamps of in-app events or other information obtainable when an event occurs. In one embodiment, the present invention relates to an electronic computer comprising at least one processor configured to perform a method for allocating rewards according to the described embodiments.

[0103] According to one embodiment, the present invention relates to an electronic computer that includes instructions causing an electronic computer to perform a method for allocating rewards in accordance with the above embodiment when a program is executed by the electronic computer.

[0104] Further features and advantages of the aforementioned embodiments will become more apparent from the illustrative and therefore non-exclusive description of preferred but non-exclusive embodiments of a calculation method for calculating the duration or total usage time of a user's current usage session of an application running on a device, and a method for allocating rewards.

[0105] In a preferred embodiment, the method for calculating total usage time according to this specification is integrated with a known type of mobile measurement partner (MMP). The method for assigning rewards is based on the calculation method for calculating total usage time.

[0106] In particular, the purpose of the calculation method is to reliably track users' playtime or usage time of the app and reward them accordingly. For simplicity, playtime and usage time of the game app are mentioned. [Modes for carrying out the invention]

[0107] A schematic example of the calculation method and how to allocate rewards in a campaign is shown below.

[0108] Example 1 - Calculation method for determining the duration of a session in use Glossary - MMP (Mobile Measurement Partner): A third-party platform (e.g., Adjust, Appsflyer) that tracks installations and in-app user behavior and notifies the partner that generated the installation in real time. - Events: Any timestamped action or signal sent by the app (e.g., start, level completion, ad banner, etc.) - New session threshold: The maximum inactivity interval between events, preferably expressed in minutes. - Postback interval: The minimum time interval, preferably expressed in minutes, that must elapse between two reward allocations (postbacks) for the same user. - Maximum session duration: A limit in minutes, beyond which a single session cannot accumulate further playtime. -Current playtime: Time accumulated by the user in the currently ongoing session. - Paid playtime: Playtime for which the user has already received a reward. - Unpaid playtime: The difference between total cumulative playtime and playtime for which rewards have already been paid. - Next reward block: Usage time threshold, preferably expressed in minutes, which, when the threshold is exceeded, a reward is assigned. The calculation method for determining total usage time is based on timestamps of events that occur during gameplay or app usage.

[0109] According to the present invention, the timestamp is preferably obtained by MMP.

[0110] MMP sends information, including the event's timestamp, especially when each event occurs.

[0111] The calculation method includes obtaining a user identifier for each event of a group of events, and preferably obtaining a timestamp for each active or passive event that is sent by the application and attributed to the user, using an MMP.

[0112] Generally, and preferably, if an event has a timestamp earlier than or equal to the timestamp of the last event captured for the same user, that event is ignored.

[0113] According to this method, the time a user spends on an application (usage time or play time) is estimated based on the event's timestamp.

[0114] In particular, the calculation method involves assigning a duration to the current session that corresponds to the elapsed time between the timestamp of the first event in a series of events and the timestamp of the last event in the series of events downstream of the first event in the current session.

[0115] In practice, for each event in the current session, the duration of the current session is taken to be equal to the difference between the timestamp of the event being considered (which is the last event at that point) and the first event of the session itself.

[0116] The first event considered for estimating the duration of the current game session (current playtime) is a subsequent event sent by the application prior to the first event, and which exceeds the maximum time between events or a predefined inactivity interval (new session threshold).

[0117] In other words, if an event sent by an application is separated from a preceding event by a time greater than a new session threshold, preferably by a time greater than or equal to that threshold, then that event becomes the first event in the sense that it is an event from which the current play time of the currently used session is counted.

[0118] Current session, ongoing session, and active session all represent sessions for which duration is being measured.

[0119] The final event that determines the end of the current session is the event preceding one of the events in the sequence of events that sent beyond the maximum time between events or a predefined inactivity interval (new session threshold).

[0120] In other words, if an event sent by an application is separated from subsequent events by a time greater than a new session threshold, preferably by a time greater than or equal to that threshold, then that event becomes the final event, signifying the end of the current play time for the current session.

[0121] An identical event is the last event in the current session at the time the event occurs, and becomes the final event when the next event occurs after an inactivity interval.

[0122] In practice, at the end of the current session, the final event corresponds to the last event of that session itself.

[0123] The next event following the final event starts a new active session, and that session is a continuation of the active session that was terminated by the final event.

[0124] The new session threshold is configurable and, in a preferred embodiment, is between 4 and 10 minutes, for example, equal to 7 minutes.

[0125] In an example case, if the timestamp of the last valid event and the timestamp of the current event are separated by more than 7 minutes, the active session will end and a new session will be started.

[0126] If the elapsed time between the timestamp of the last valid event and the timestamp of the current event is less than 7 minutes, the current event belongs to the active session.

[0127] The calculation method preferably includes setting the maximum duration of the current session, for example, 60 minutes (maximum session duration).

[0128] Preferably, the calculation method includes allocating the maximum duration to the duration of the active session if the duration corresponding to the elapsed time between the timestamp of the first event and the timestamp of the last event is greater than the maximum duration.

[0129] A further object of this specification is an electronic computer (not shown) comprising at least one processor configured to perform the calculation method described above.

[0130] Example 2 - Method for calculating total usage time - MMP (Mobile Measurement Partner): A third-party platform (e.g., Adjust, Appsflyer) that tracks installations and in-app user behavior and notifies the partner that generated the installation in real time. - Session ID: A unique identifier for a game session, used to distinguish between different game sessions, for example, to distinguish between the first game session and the second game session. - Total Playtime: Total game time accumulated across all game sessions excluding the current active session. - CurrentSessionPlayTime: Duration of the current active session - Total Paid Playtime: The total playtime for which payment has already been made, i.e., the total time for which the user has already received compensation. - NextRangeBlock: A first predetermined time block that can be paid for, i.e., the first time block (e.g., 1 minute, 2 minutes, 5 minutes) spent by the user in the app, upon which the user can be made aware of the reward. - Payout Settings: A configuration that defines the payment structure based on playtime, including time blocks and increment rates. The calculation method for determining total usage time is based on incremental monitoring of playtime provided by events while playing or using the app.

[0131] MMP can send information, especially when each event occurs, and this information is - Elapsed time for each event: Includes user activity time (in seconds), for example, - session_start → The first event is the start of the session, and the time starts at 0 seconds. - level_complete → The first event is a game level transition, and the information includes the elapsed time since the last event (e.g., 45 seconds). - Total session time: The total session time at the event, used to prevent the loss of the remaining part of the session and to allow for final adjustments. - A Session ID for each event, including a session ID that associates each event with its respective session, even if the events are received in a non-contiguous order.

[0132] When events are frequently communicated to advertisers via MMP, shorter usage times can be tracked, improving the resolution of the calculation method.

[0133] The calculation method involves assigning a unique identifier (e.g., UserID, ClickID, TransactionId) to each user, ensuring that usage time and rewards are correctly allocated to the relevant campaigns.

[0134] An example of the flow for calculating or tracking total usage time can be illustrated as follows: - For each event received, - If an event starts a new session (the second session), it terminates the preceding session (the first session), i.e., - The usage time of the first session (LastTimeSpent) is added to the cumulative usage time (TotalPlayTime).

[0135] - Resets the usage time of the (second) session (the current active session, CurrentSessionPlayTime) to zero.

[0136] - If the event (the second event) belongs to the current active session, - Update the usage time (CurrentSessionPlayTime) of the (first) session with the new value (TimeSpent).

[0137] An example of a method for allocating rewards can be schematically illustrated to include the following: - Verify whether the usage time to be paid, i.e., the usage time that has not yet been paid, is sufficient to complete at least one predetermined time block (e.g., 1 minute, 2 minutes), - Increase the already paid playtime (TotalPaidPlayTime) by the number of predetermined time blocks paid in the preceding step.

[0138] The calculation method for determining total usage time can provide updated evaluation criteria such as usage time within a session and cumulative usage time.

[0139] A further object of this specification is a computer program which includes instructions that, when executed by a computer, cause the execution of the calculation method described above.

[0140] A further object of this specification is a program for an electronic computer, which, when executed by the electronic computer, includes instructions that cause the execution of the calculation methods described above, particularly in Example 1 or Example 2.

[0141] A further object of this specification is preferably a method for assigning rewards to a user in an application running on a device, which is executed by at least one processor.

[0142] In one example, the method for assigning rewards involves calculating the duration of the current session using the calculation method described in Example 1 or Example 2.

[0143] In one embodiment, a method for allocating compensation includes calculating the usage time to be paid by subtracting the time already paid from the duration of the current usage session.

[0144] Methods for allocating rewards include assigning rewards to users based on the amount of time they are paid for.

[0145] The method for allocating rewards includes calculating the usage time to be paid (unpaid playtime), subtracting the time already paid (paid playtime) from the total usage time, and allocating rewards to users according to the usage time to be paid.

[0146] In particular, assigning rewards to users based on the usage time to be paid involves verifying whether the usage time to be paid is at least equal to, or greater than, a predetermined time block (the next reward block).

[0147] A method for allocating rewards preferably includes verifying whether a predefined minimum time interval, such as one minute, has elapsed since the most recent or preceding reward allocation, before allocating the reward to the user in proportion to the usage time to be paid.

[0148] For example, unpaid playtime is calculated by subtracting the time for which rewards have already been awarded from the total cumulative playtime.

[0149] A new reward notification will be sent if your unpaid playtime exceeds the next reward block and at least one minute has passed since the most recent reward notification.

[0150] The method for allocating rewards includes adding a predetermined time block to the already paid time (paid playtime) in order to update the already paid time (paid playtime), provided that the usage time to be paid is at least equal to a predetermined time block.

[0151] Preferably, the method for allocating rewards includes updating a predetermined time block (the next reward block) to a new predetermined time value that is greater than a preceding predetermined time value.

[0152] For example, after sending a reward, the next reward block will be updated based on the rules of the ongoing campaign (e.g., from 1 minute to 2 minutes, then from 2 minutes to 5 minutes, etc.).

[0153] In one embodiment, the method for assigning rewards is preferably, - This includes updating a predefined time block after the last paid block (NextRangeBlock) based on the Payout Settings established for the ongoing campaign.

[0154] For example, Payout Settings could offer the option to shorten the first time block (e.g., 1 minute) to capture the user's attention, and then lengthen subsequent blocks (e.g., 10 minutes) to ensure profitability.

[0155] Rewards can receive a defined increase rate for each time block. For example, - 0-120 seconds → 10% increase every 60-second block. - 120-240 seconds → 11% increase for every 120-second block. - The maximum payment increase is set at 200%.

[0156] A method for allocating rewards can be provided that time blocks can be divided within the payment period.

[0157] Preferably, the method for assigning the reward can return an item (UpdatePlayTimeDto), and this item is - The total of all payments calculated for completed blocks, - Total processing time within the block, - The size of the next block to be applied, - The rate of increase applied to subsequent blocks. - Includes identifying attributes, such as user and campaign identifying attributes.

[0158] A further object of this specification is an electronic computer (not shown) having at least one processor configured to perform the methods for assigning rewards as described above.

[0159] A further object of this specification is a program for an electronic computer, which, when executed by the electronic computer, includes instructions that cause the execution of a method for allocating the rewards described above. [Prior art documents] [Patent Documents]

[0160] [Patent Document 1] US10740777

Claims

1. A calculation method for calculating the duration or total usage time of a current usage session of an application running on a device, wherein the current usage session includes a series of events sent to the user by the application, and the calculation method is performed by at least one processor. For each event in the aforementioned series of events, obtain the user identifier, To obtain information including a timestamp for each event in the aforementioned series of events, A calculation method comprising assigning to the duration of the current usage session a time corresponding to the elapsed time between the timestamp of the first event of the series of events in the current usage session and the timestamp of the last event of the series of events, wherein the information is provided by a Mobile Measurement Partner (MMP).

2. The calculation method according to claim 1, wherein the first event is consecutive to an event sent by the application prior to the first event, beyond a predefined inactivity interval between events.

3. The calculation method according to claim 2, wherein if the last event is one of a series of events that precede a successive event of the last event sent by the application beyond the predefined inactivity interval between events, the current usage session is deemed to have ended with the last event.

4. The calculation method according to claim 3, wherein the predefined inactivity interval between events is between 4 and 10 minutes, preferably equal to 7 minutes.

5. The calculation method according to any one of claims 1 to 4, comprising setting the maximum duration of the current session, wherein the calculation method comprises assigning the maximum duration to the duration of the user's current session if the elapsed time between the timestamp of the first event and the timestamp of the last event exceeds the maximum duration.

6. The calculation method according to claim 5, wherein the maximum duration is 60 minutes.

7. The calculation method according to any one of claims 1 to 6, comprising ignoring one of the events in the series if it has a timestamp equal to or earlier than the timestamp of a preceding event.

8. A calculation method for calculating the duration or total usage time of a current usage session in an application running on a device, wherein the user's total usage time includes at least a first usage session that includes at least a first event, The total usage time includes a second event that follows the first event. The calculation method is performed by at least one processor, When the second event occurs, information including the usage time of the first session is obtained, A calculation method comprising adding the usage time of the first usage session to the usage time accumulated by the user in order to obtain the total usage time of the user, wherein the information is provided by a mobile measurement partner (MMP).

9. The calculation method according to claim 8, wherein the first usage session includes the second event.

10. The calculation method according to claim 9, wherein the information includes the usage time between the first event and the second event.

11. The calculation method according to any one of claims 1 to 10, wherein the second event is the start of a second usage session.

12. The calculation method according to claim 11, wherein the second usage session is continuous with the first usage session.

13. The calculation method according to claim 11 or 12, further comprising associating the first event and the second event with the first and second usage sessions, respectively, when the first and second events are acquired in a non-continuous order.

14. The calculation method according to any one of claims 8 to 13, wherein the first event is the start of the first usage session.

15. The calculation method according to any one of claims 8 to 14, wherein the information, including the usage time of the first usage session, is provided by a mobile measurement partner (MMP) when the second event is the start of a second usage session.

16. - Regarding the first event and the second event, - If the second event starts a second session, the first session will be terminated, and terminating the first session is: - The usage time spent in the first usage session is added to the user's cumulative usage time, - Including resetting the usage time spent in the second session to zero, - If the second event belongs to the first session, the calculation method is: - A calculation method according to any one of claims 8 to 15, comprising updating the usage time spent in the first usage session based on the information including the usage time spent in the first usage session between the first event and the second event.

17. An electronic computer comprising at least one processor configured to perform the calculation method according to any one of claims 1 to 7 and / or the calculation method according to any one of claims 8 to 16.

18. An electronic computer program, which, when the program is executed by an electronic computer, includes an instruction to execute the calculation method described in any one of claims 1 to 7 or the calculation method described in any one of claims 8 to 16.

19. A method for assigning rewards to users in an application running on a device, The method for making such allocation is performed by at least one processor, Calculating the duration of the current session in use using the calculation method described in any one of claims 1 to 7, The amount of time to be paid is calculated by subtracting the time already paid from the duration of the current session, A method comprising allocating compensation to the user based on the usage time to be paid.

20. A method for assigning rewards to users in accordance with the usage time for which payment is due in an application running on a device, The method for making such allocation is performed by at least one processor, Calculating the user's total usage time using the calculation method described in any one of claims 8 to 18, In order to obtain the usage time to be paid, when the second event occurs, the usage time already paid to the user is subtracted from the total usage time, A method comprising allocating compensation to the user based on the usage time to be paid.

21. A method for assigning a reward according to claim 19 or 20, wherein assigning a reward to the user in accordance with the usage time to be paid includes verifying that the usage time to be paid is at least equal to a predetermined time range block.

22. A method for allocating compensation according to claim 21, comprising adding a predetermined time block to the usage time already paid, if the usage time to be paid is at least equal to a predetermined time block.

23. A method for assigning a reward according to claim 21 or 22, comprising updating the predetermined time block to a new predetermined time value that is greater than a preceding predetermined time value.

24. A method for assigning a reward according to any one of claims 19 to 24, comprising verifying whether a predefined minimum time interval has elapsed since the last reward assignment before assigning the reward to the user in accordance with the usage time to be paid.

25. The method for assigning a reward according to claim 24, wherein the predefined minimum time interval is one minute.

26. An electronic computer comprising at least one processor configured to perform a method for assigning rewards according to any one of claims 19 to 25.

27. An electronic computer program, which, when the program is executed by an electronic computer, includes instructions for performing a method for allocating a reward as described in any one of claims 19 to 25.