Method and system for providing push notifications on a user device
Patent Information
- Application Number
- PCT/IN2026/050193
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-02-18
- Filing Date
- 2026-02-06
- Publication Date
- 2026-08-27
Smart Images

Figure IN2026050193_27082026_PF_FP_ABST
Abstract
Description
METHOD AND SYSTEM FOR PROVIDING PUSH NOTIFICATIONS ON A USER DEVICE TECHNICAL FIELD
[0001] The present invention relates to the field of mobile computing and user engagement systems. More specifically, the invention of the present disclosure relates to a method and system for providing push notifications on a user device.BACKGROUND
[0002] Push notifications have become a critical engagement tool for applications across various industries, including e-commerce, content streaming, live events, finance, and social media. Traditional push notification systems are server-driven, where notifications are generated at the backend and provided via third-party services provided by various operating systems.
[0003] While server-based push notifications are widely used, certain limitations exist, particularly during high-traffic, and in offline scenarios. During peak traffic events (such as live sports matches, flash sales, breaking news updates), server-driven notifications experience queuing delays due to sheer volume of notifications being processed in a short time span. This results in users receiving notifications too late, missing important offers, live updates, and realtime engagement opportunities. Also, many applications rely on notifications to drive user participation in time-sensitive events (such as flash sales, auction bids, or live voting). If notifications are delayed due to server congestion, users may miss out on engaging with the content, leading to less participation and lost revenue.
[0004] Further, traditional notification systems do not work when a user’s device is offline or experiencing network issues. Users consuming downloaded or offline content do not receive timely notifications, affecting engagement during offline streaming. Further, sending personalized notifications, during peak concurrency, at a large scale requires substantial serverside processing, that leads to increase in operational costs and infrastructure complexity. During peak times, dynamically generating notifications for millions of users may strain backend resources, impacting performance of the overall system. If multiple users are receiving notifications simultaneously, the server has to manage a large number of concurrent connections, dynamically create personalized messages, and ensure that they are all sent in real-time. Thisinvolves significant processing power, memory usage, and database lookups, all of which can consume a lot of resources.
[0005] In addition, traditional notification systems lack real-time awareness of device conditions, such as battery level, app activity and location-based triggers. This leads to generic notifications instead of context-aware, and user-specific alerts that are more likely to drive user engagement. Also, traditional notification systems rely on centralized (server-based) approach for tracking notification analytics (such as user interaction (clicks, dismissal, etc.)), which includes periodic data syncing between a client device and the backend and is cost and time inefficient.
[0006] To overcome the above-mentioned issues / limitations, there exists a need for for providing more advanced systems and methods of providing push notifications on a user device. The present invention addresses these issues by disclosing an innovative method and system for providing push notifications on the user device.OBJECTIVES OF THE INVENTION
[0007] This section is provided to introduce certain objectives and aspects of the present invention in a simplified format, that are then further elaborated upon in the subsequent paragraphs provided in the section of detailed description of the present disclosure.
[0008] In order to overcome at least a few of the problems of the known solutions as provided in the previous section, an objective of the present invention is to substantially reduce the limitations and / or drawbacks of the prior arts as described herein above.
[0009] Another objective of the present invention is to minimize notification latency by enabling push notification service on a user device without relying on server-based processes, particularly in scenarios where network delays may affect timely delivery of notifications.
[0010] Yet another objective of the present invention is to support offline engagement by providing notifications to the user even when the user device is offline.
[0011] Yet another objective of the present invention is to prioritize between locally generated push notifications and server-based notifications to avoid redundancy and reduce load on both server infrastructure and user device.
[0012] Yet another objective of the present invention is to provide personalized local push notifications to a plurality of users.
[0013] Yet another objective of the present invention is to enable a local push notification service that operates efficiently using computational or processing capabilities of the user device, leveraging data from in-app modules to generate and provide relevant push notifications on the user device.
[0014] Yet another objective of the present invention is to dynamically transition from locally generated push notifications to server-based backend notifications and from server-based backend notifications to locally generated push notifications, based on one or more triggering conditions.SUMMARY
[0015] In an aspect, the present disclosure relates to a method for providing push notifications on a user device. The method includes determining one or more triggering conditions on the user device. The method includes activating a push notification service based on determining the one or more triggering conditions. The push notification service is configured to be activated in at least one of: an online mode and an offline mode. In addition, the method includes generating one or more push notifications based on the activated push notification service. The method further includes providing the generated one or more push notifications on the user device based on a set of parameters associated with at least a predefined applicationlevel logic, a current streaming content on the user device, one or more user preferences, and one or more user device attributes.
[0016] In an embodiment, determining the one or more triggering conditions and activating the push notification service are initiated on at least one of: the user device, and a server-based notification system.
[0017] In an embodiment, the push notification service is activated on the user device, and the one or more push notifications are generated on the user device.
[0018] In an embodiment, upon activation of the push notification service, the one or more push notifications are generated based on at least: one or more scheduled notification instructions. The one or more scheduled notification instructions comprise live event reminders, new release reminders, user behaviour triggers, countdown timers for content and offers limited to specific duration, location-based alerts, time-specific alerts, in-app navigation reminders, subscription renewals and subscription plan upgrades.
[0019] In an embodiment, the push notification service is further configured to communicate with one or more application modules to receive the one or more triggering conditions based on one or more events and generate the push notifications in the offline mode on the user device. The one or more application modules comprise at least one of interactive widgets, product categories, promotional content trays, live event feeds, user engagement sections, recommendation engines, and trending sections.
[0020] In an embodiment, prior to providing the generated one or more push notifications to the user device, the method includes determining receiving of one or more backend notifications based on the one or more triggering conditions, prioritizing between the one or more push notifications and the one or more backend notifications based on at least a predefined ranking system, and providing one of the one or more push notifications and the one or more backend notifications to the user device, based on the prioritizing.
[0021] In an embodiment, the method includes activating notification deduplication process to eliminate providing redundant notifications when both the one or more push notifications and the one or more backend notifications are generated for the one or more triggering conditions. The one or more backend notifications are generated by a server-based notification system. The server-based notification system operates in the online mode.
[0022] In an embodiment, the method includes iteratively determining at least: a presence and an absence of the one or more triggering conditions based on a predefined time period, and transitioning to the one or more backend notifications, in an event of determining the absence of the one or more triggering conditions.
[0023] In an embodiment, the method includes tracking one or more user interactions with the provided one or more push notifications to refine and optimize future notifications. The one or more user interactions comprises at least one or more clicks and one or more dismissals.
[0024] In an embodiment, the one or more triggering conditions comprises at least: a network latency, high-traffic live events, offline status of the user device, battery level of the user device, location changes of the user device, and personalized notification campaigns.
[0025] In another aspect, the present disclosure relates to a system for providing push notifications on a user device. The system includes at least one processor and a memory storing instructions which, when executed cause the at least one processor to determine one or more triggering conditions on the user device and activate a push notification service based on determining the one or more triggering conditions. The push notification service is configured to be activated in at least one of an online mode and an offline mode. Further, the processor is configured to generate one or more push notifications based on the activated push notification service, and provide the generated one or more push notifications on the user device based on a set of parameters associated with at least a predefined application-level logic, a current streaming content on the user device, one or more user preferences, and one or more user device attributes.BRIEF DESCRIPTION OF DRAWINGS
[0001] FIG. 1 illustrates a block diagram of a system for providing push notifications on a user device, in accordance with an embodiment of the present disclosure.
[0002] FIG. 2 illustrates an exemplary embodiment of an architecture of a computing device in which the system may be employed, in accordance with an embodiment of the present disclosure.
[0003] FIG. 3 illustrates a flowchart depicting a method for providing the one or more push notifications, in accordance with an embodiment of the present disclosure.DETAILED DESCRIPTION
[0026] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the presentdisclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter may each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above.
[0027] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.
[0028] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skilled in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail.
[0029] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in any figure.
[0030] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive — in a manner similar to theterm “comprising” as an open transition word — without precluding any additional or other elements.
[0031] As used herein, a “processing unit” or “processor” or “operating processor” includes one or more processors, wherein processor refers to any logic circuitry for processing instructions. A processor may be a general -purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a (Digital Signal Processing) DSP core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input / output processing, and / or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor or processing unit is a hardware processor.
[0032] As used herein, “a user equipment”, “a user device”, “a smart-user-device”, “a smart-device”, “an electronic device”, “a mobile device”, “a handheld device”, “a wireless communication device”, “a mobile communication device”, “a communication device”, “ a client device” may be any electrical, electronic and / or computing device or equipment, capable of implementing the features of the present disclosure. The user equipment / device may include, but is not limited to, a mobile phone, smart phone, laptop, a general -purpose computer, desktop, personal digital assistant, tablet computer, wearable device, television, living room media devices, streaming consoles (firestick, Xbox), headwear units (oculus, apple vision pro), AR / VR / MR devices, shopping kiosk, or any other computing device which is capable of implementing the features of the present disclosure. Also, the user device may contain at least one input means configured to receive an input from at least one of a transceiver unit, a processing unit, a storage unit, a detection unit and any other such unit(s) which are required to implement the features of the present disclosure.
[0033] As used herein, “storage unit” or “memory unit” refers to a machine or computer-readable medium including any mechanism for storing information in a form readable by a computer or similar machine. For example, a computer-readable medium includes read-only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices or other types of machine-accessible storage media. The storage unit stores at least the data that may be required by one or more units of the system to perform their respective functions.
[0034] All modules, units, components used herein, unless explicitly excluded herein, may be software modules or hardware processors, the processors being a general -purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASIC), Field Programmable Gate Array circuits (FPGA), any other type of integrated circuits, etc.
[0035] As discussed in the background section, the current known solutions have several shortcomings such as delays during peak hours, operational load, offline issues, and the like. The present disclosure aims to overcome the above-mentioned and other existing problems in this field of technology by providing a method and system for providing push notifications on a user device. The present disclosure introduces a push notification service that enables push notifications to be triggered, processed, and executed locally on the user device, without relying on a server or a server-based notification system.
[0036] Embodiments of the present disclosure relate to a system and method for providing push notifications on a user device. The system determines one or more triggering conditions on the user device to activate a push notification service. The push notification service is configured to be activated in an online mode as well as in offline mode. The offline mode facilitates offline notification support, ensuring that users receive relevant push notifications or alerts even without internet access. Further, the system has hybrid notification capability basis which the system may switch seamlessly between server-based / backend notifications and locally generated notifications for optimal performance.
[0037] As used herein, one or more push notifications are the local push notifications that are generated on the user device without relying on the server.
[0038] As used herein, one or more backend notifications are server-driven notifications generated by a server-based notification system. The server-based notification system is operable only in online mode.
[0039] The present disclosure may now be explained in detail with the help of a few preferred embodiments that are described herein below.
[0040] FIG. 1 illustrates a block diagram
[0100] of a system
[0102] for providing one or more push notifications on a user device, in accordance with an embodiment of the present. In an embodiment, the system
[0102] may be installed in the user device as an application.
[0041] In an embodiment, the user device is a fixed communication device. In another embodiment, the user device is a portable communication device. In some examples, the fixed communication device includes, but is not limited to, desktop computers, and smart kiosks. In some examples, the portable communication device includes, but is not limited to, smartphones, tablets, laptops, handheld gaming devices, or wearable devices such as smartwatches.
[0042] The user device runs on an operating system such as iOS, Android, or Windows, providing necessary software components for the system
[0102] , The operating system also facilitates communication between hardware and software components, ensuring smooth interaction between the user device and the system
[0102] , In one implementation, the user device may run on an operating system stored in a memory of the user device. In some examples, the operating system may include Darwin, RTXC, LINUX, UNIX, OS X, an embedded operating system, and the like. In addition, the user device may run on any version of the operating system. In general, the operating system includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
[0043] The system
[0102] comprises at least one processor
[0104] , a memory
[0106] , and a push notification service module (PSNM)
[0108] , The memory
[0106] stores instructions for the processor
[0104] , which when executed, cause the processor
[0104] to perform a set of operations (as explained below).
[0044] The processor
[0104] is configured to determine one or more triggering conditions on the user device, using a triggering module [104a], The one or more triggering conditions comprises at least: a network latency, high-traffic live events, offline status of the user device, battery level of the user device, location changes of the user device, and personalized notification campaigns. In general, network latency refers to a delay in receiving notifications from backend (i.e., a server). In an example, a user has subscribed to receive notifications about a live cricket match. If the backend (server-driven) notification is delayed due to congestion during the live cricket match, the processor
[0104] may detect the network latency. The network latency herein10acts as a triggering condition. In an example, the network latency may be detected based on comparison between notification transmit timestamp and notification delivery timestamp.
[0045] Further, the offline status of the user device means that the user’s device is not connected to the Internet, but the user is engaged with an application or the system
[0102] , For example, the user may be watching a downloaded content. The offline status of the user device herein acts as a triggering condition. In addition, battery level of the user device may act a triggering condition. For example, if the current battery level of the user device falls below a predefined threshold, a push notification service may be activated to generate one or more push notifications on the user device ensuring that important notifications are provided before the battery drains.
[0046] Furthermore, location changes of the user device may act as a triggering condition. For example, users who frequently change locations (e.g., traveling, commuting) may have different content preferences based on their current location. In this scenario, the server may not fast enough for moving users, but the one or more push notifications may adapt to changes in the location in real-time as the one or more push notifications are locally generated on the user device. Also, personalized notification campaigns act as a triggering condition by leveraging user-specific data, user behaviour, user preferences, and real-time context to generate relevant push notifications on the user device. In an implementation, the one or more triggering conditions may include high concurrency events. The high concurrency events are scenarios when multiple notifications are being generated at once, especially during peak times (like live events or sales).
[0047] The processor
[0104] is further configured to activate the push notification service based on determining the one or more triggering conditions. The one or more triggering conditions are determined by the triggering module [104a], In an embodiment, the push notification service is activated using the push notification service module (PSNM)
[0108] , The push notification service is configured to be activated in at least one of an online mode [108a] (when the user device is connected to the Internet) and an offline mode [108b] (when the user device is not connected to the Internet). The processor
[0104] initiates determining of the one or more triggering conditions and activating the push notification service based on at least one of the user device and a server-based notification system. The push notification service is activated on the user device. Also, the one or more push notifications are generated on the user device.
[0048] The server-based notification system may dynamically initiate activation of the push notification service based on various operational parameters. For instance, the server-based notification system continuously monitors load metrics, health status, and delivery efficiency across multiple infrastructure components, such as CDN nodes, messaging queues, and backend notification servers. If the server-based notification system detects that the metrics exceed a predefined or dynamically adjusted threshold — indicating potential delivery delays or failures — The server-based notification system may trigger a fallback mechanism to activate the one or more push notifications (local push notifications) on the user device. This triggering command may be transmitted in one or more ways: (1.) as a separate command sent to the user device, (2.) embedded within a manifest file or content package that is already being delivered to the user device, or (3.) relayed via a proxy service that acts as an intermediary between the server -based notification system and the user device. The fallback mechanism ensures that even in scenarios where backend push notification delivery is compromised, locally generated push notifications may seamlessly take over, maintaining uninterrupted user engagement.
[0049] The processor
[0104] is further configured to generate the one or more push notifications based on the activated push notification service. In an example, a user watches a movie on a streaming application but stops halfway and after stopping the movie, the user switches off the Internet on the user device or loses the Internet connection due to any reason. The application / system
[0102] needs to remind the user to continue watching the movie. The processor
[0104] detects a triggering condition as the user has paused the movie and the user device is in the offline mode [108b], Based on this triggering condition, the processor
[0104] activates the push notification service module (PNSM)
[0108] that further activates the push notification service. The processor
[0104] may generate a push notification on the user device such as, “You left ‘ABC movie’ halfway. Ready to continue watching?” without requiring an Internet connection.
[0050] Upon activation of the push notification service, the one or more push notifications are generated based on at least: one or more scheduled notification instructions. In an embodiment, the one or more scheduled notification instructions are predefined rules or conditions that dictate when notifications must be sent. The one or more scheduled notification instructions help ensure timely and relevant alerts for users. The one or more scheduled notification instructions comprise live event reminders, new release reminders, user behaviour triggers, countdown timers for content and offers limited to specific duration, location-based alerts, time-specific alerts, in-app navigation reminders, subscription renewals and subscription12plan upgrades. It is to be noted that the one or more scheduled notification instructions are not limited to the above-mentioned instructions.
[0051] In an example, live event reminders notify users about upcoming live events they have shown interest in, such as “The football match between Team A and Team B starts in 10 minutes”. Further, new release reminders alert users about newly released content based on their preferences. New release reminders may be, “A new episode of XYZ series is now available. Watch now!”, “Most awaited movie “XYZ” is now out”. User behavior triggers may refer to notifications or alerts based on user actions or inactivity. For example, if a user adds a product to their cart but doesn’t buy it within 24 hours, the user gets a reminder: “Your items are waiting in the cart. Complete your purchase now!”.
[0052] In addition, countdown timers for content and offers limited to specific duration are for notifying users about time-sensitive promotions or expiring content. For example, “Hurry! Your 60% discount expires in 1 hour!”. Further, location-based alerts are used for sending notifications when a user is in a specific location. For example, “You’re near Starbucks! Get 20% off on your favorite coffee”. Furthermore, time-specific alerts are notifications or alerts that are triggered at a scheduled time. For example, “Good morning! Here’s your daily news briefing”. Moreover, in-app navigation reminders guide users back to an application based on their past interactions. For example, “Check out the trending topics in your feed”. Also, subscription renewals remind users to renew their subscriptions before they expire, and subscription plan upgrades suggest better plans based on user activity.
[0053] The push notification service is further configured to communicate with one or more application modules
[0110] , The PSNSM
[0108] allows communication of the push notification service with the one or more application modules
[0110] , The push notification service is configured to communicate with the one or more application modules
[0110] to receive the one or more triggering conditions based on one or more events and generate the one or more push notifications in the offline mode on the user device. Further, the one or more application modules
[0110] comprises at least one of interactive widgets, product categories, promotional content trays, live event feeds, user engagement sections, recommendation engines, and trending sections. The one or more events may be user interaction with a widget (taps, scrolls, or expands the widget), real time update occurrence (such as goal in a football match) in a subscribed live event, and the like.
[0054] Interactive widgets are small app elements that allow users to engage with content or perform specific actions without navigating away from their current screen.. For example, media playback widget allows users to play, pause or skip content directly from the widget. Further, in an example, a widget showing the user’s next meeting may trigger a reminder notification. In an embodiment, product categories are sections in an application that organizes products or content. For example, if a user frequently watches content from “Action content” category, the user may get a notification whenever a new action movie or web series is added. Promotional content trays display promotions, deals, or featured content. For example, “Exclusive offer: 30% off on subscription renewal. Tap to claim now!”. Further, live event feeds show real-time updates on ongoing events (e.g., sports, news, concerts). Furthermore, user engagement sections are those areas of the application where user activity is high, like comment sections or discussion forums. In addition, recommendation engines may be Al-driven systems that suggest content or products based on user behavior. Also, trending sections are the sections highlighting popular or viral content.
[0055] The processor
[0104] is further configured to provide the generated one or more push notifications on the user device based on a set of parameters associated with at least a predefined application-level logic, a current streaming content on the user device, one or more user preferences, and one or more device attributes. In general, the predefined application-level logic refers to one or more rules and behaviors set by the system
[0102] to manage its functions, including notifications. The system
[0102] may be an application (herein after, the app). In an embodiment, the app defines specific conditions under which the one or more push notifications may be triggered, based on programming logic. For example, the app may have predefined rules for alerting the user about new content releases every 24 hours.
[0056] In an embodiment, the processor
[0104] provides the generated one or more push notifications on the user device based on the current streaming content on the user device. For example, a user is watching a content for the last 30 minutes and suddenly pauses the content, whether intentionally (e.g., to take a break) or accidentally and later forgets to resume watching. Now, the push notification service may consider the current streaming content parameter and trigger actions based on that pause in the activity. For example, if the content is paused for an extended period (e.g., 30 minutes, or an hour), the processor
[0104] may generate a reminder notification to encourage the user to continue watching the content. Further, the one or more user preferences include choices made by a user such as the user may choose to receive daily news notifications at 8 AM rather than immediately when the news is published.
[0057] Furthermore, the one or more device attributes may refer to physical and software attributes of the user device that may influence how the one or more push notifications are provided. In an embodiment, the one or more device attributes include settings of the user device such as silent mode, battery status, and the like. In another embodiment, the one or more device attributes include physical dimensions of screen of the user device, resolution of the screen, and the like. In an example, a smartphone may display a push notification in a compact format, while a tablet may display the same push notification with more detailed information, buttons, or images as the tablet’s screen is bigger than the smartphone’s screen.
[0058] Further, prior to providing the generated one or more push notifications to the user device, the processor
[0104] is configured to determine receiving of one or more backend notifications based on the one or more triggering conditions, prioritize between the one or more push notifications and the one or more backend notifications based on a predefined ranking system, and provide one of: the one or more push notifications and the one or more backend notifications to the user device, based on the prioritization. The prioritization is performed by a prioritizing module [104b] of the processor
[0104] , In an example, if both a push notification about a new message and a backend notification about app updates are generated at the same time, the prioritizing module [104b] prioritizes between the push notification and the backend notification to send first to the user device, based on the predefined ranking system. In an embodiment, the predefined ranking system may include a set of predefined rules or algorithms that prioritize one type of notification over the other. For example, a time-sensitive notification (like a reminder for an event) may be prioritized over a general update notification, and a user engagement notification (e.g., a special offer or recommendation) may be given higher priority than a system update notification. The notification with the highest priority is provided to the user device. In an embodiment, priority may be assigned by assessing context of the notification. For example, notifications whose context closely aligns with that of live content (such as, live sports scores, real-time event updates, etc.) are given high priority and provided to the user accordingly. The predefined ranking systems may be periodically updated.
[0059] Further, the processor includes a deduplication module [104c], The deduplication module [104c] is configured to activate notification deduplication process to eliminate displaying redundant notifications when both the one or more push notifications and one or more backend notifications are generated for the one or more triggering conditions. The one or more backend notifications are generated by the server-based notification system. The server-based notification system operates in the online mode. For example, if a same event or a condition trigger both a15push notification (generated by the user device itself) and a backend notification (generated by the server-based notification system), the processor
[0104] activates the notification deduplication process to ensure that the user does not receive duplicate notifications. The notification deduplication process includes comparing the one or more push notifications and the one or more backend notifications with each other for the same event or the same triggering condition to eliminate redundant notifications.
[0060] In addition, the processor
[0104] includes an in-app analytics module [104d], The processor
[0104] is configured to iteratively determine at least: a presence and an absence of the one or more triggering conditions based on a predefined time period, using the in-app analytics module [104d], In an embodiment, the processor
[0104] continuously checks whether the one or more triggering conditions are present or absent over a given time period. Also, the processor
[0104] is configured to transition to the one or more backend notifications, in an event of determining the absence of the one or more triggering conditions.
[0061] If the one or more triggering conditions are present, the processor
[0104] generates the one or more push notifications (locally generated on the user device). If the one or more triggering conditions are absent, the processor
[0104] transitions to the one or more backend notifications. For example, imagine a user watching a downloaded movie on a streaming app while in the offline mode. Since the user device cannot fetch real-time updates, the app triggers a local push notification saying, “Continue watching your downloaded episode of XYZ Show!” However, once the user reconnects to the Internet, the processor
[0104] detects that the offline condition is no longer valid and transitions to backend notifications. Now, instead of local reminders, the app fetches real-time recommendations from the server-based notification system and sends a backend notification like, “New episodes of XYZ Show are now available for streaming!”.
[0062] Further, the processor
[0104] is configured to: track one or more user interactions with the provided one or more push notifications to refine and optimize future notifications, using the in-app analytics module [104d], The one or more user interactions comprises at least one or more clicks, and one or more dismissals. In an example, if a user taps on or selects a notification, it indicates user’s interest in said notification. The system
[0102] may provide more similar notifications in the future. In another example, if a user swipes away or performs any other gesture / provides any other input to ignore a notification, it suggests that the notification may not be relevant for the user. The system
[0102] may reduce similar notifications or adjust their timing.
[0063] Further, consider a scenario where a user receives a limited-time offer notification for a subscription discount. The in-app analytics module [ 104d] records whether the user clicks on the notification or dismisses it without interaction. If the user clicks on the notification and explores the offer, the processor
[0104] recognizes this as a positive engagement. In the next instance, the push notification service may prioritize similar notifications, such as personalized discounts or renewal reminders, to increase conversion rates. However, if the user dismisses the notification without engagement, the in-app analytics module [104d] may interpret this as disinterest. In the next instance, the notification strategy may change by adjusting the timing (sending it at a different time when the user is more likely to engage), modifying the content (focusing on a different value proposition, such as exclusive early access instead of discounts), or reducing the notification frequency to prevent user fatigue. By continuously analysing user responses through the in-app analytics module [104d], the system
[0102] dynamically adapts its notification strategy, ensuring that users receive more relevant and engaging notifications over time.
[0064] The processor
[0104] is configured to identify optimal time to provide notifications on the user device by analyzing user behavior patterns, and engagement history. Based on the optimal time, the one or more push notifications are sent to the user device. The optimal time is the time when the user is most likely to engage, such as during regular app usage hours or after periods of inactivity. Also, the processor
[0104] pre-warms the push notification service by collecting offline / unavail ability data from at least Android FCM (Firebase Cloud Messaging) and Apple Push Notification Service (APNs). If the user’s device has been offline or unavailable for a period, the offline data facilitates the system
[0102] to generate the one or more push notifications locally, thereby improving user engagement by providing contextually relevant notifications at the right time.
[0065] FIG. 2 illustrates an exemplary embodiment of an architecture of a computing device
[0200] in which the system may be employed, in accordance with an embodiment of the present disclosure. In an implementation, the computing device
[0200] may also implement a method (explained in FIG. 3) for providing the one or more push notifications on the user device. In another implementation, the computing device
[0200] itself implements the method for providing the one or more push notifications on the user device using one or more units configured within the computing device
[0200] , wherein said one or more units are capable of implementing the features as disclosed in the present disclosure.
[0066] The computing device
[0200] may include a bus
[0202] or other communication mechanism for communicating information, and a hardware processor
[0204] coupled with bus
[0202] for processing information. The hardware processor
[0204] may be, for example, a general-purpose microprocessor. The computing device
[0200] may also include a main memory
[0206] , such as a random-access memory (RAM), or other dynamic storage device, coupled to the bus
[0202] for storing information and instructions to be executed by the processor
[0204] , The main memory
[0206] also may be used for storing temporary variables or other intermediate information during execution of the instructions to be executed by the processor
[0204] , Such instructions, when stored in non-transitory storage media accessible to the processor
[0204] , render the computing device
[0200] into a special-purpose machine that is customized to perform the operations specified in the instructions. The computing device
[0200] further includes a read only memory (ROM)
[0208] or other static storage device coupled to the bus
[0202] for storing static information and instructions for the processor
[0204] ,
[0067] A storage device
[0210] , such as a magnetic disk, optical disk, or solid-state drive is provided and coupled to the bus
[0202] for storing information and instructions. The computing device
[0200] may be coupled via the bus
[0202] to a display
[0212] , such as a cathode ray tube (CRT), Liquid crystal Display (LCD), Light Emitting Diode (LED) display, Organic LED (OLED) display, etc. for displaying information to a computer user. An input device
[0214] , including alphanumeric and other keys, touch screen input means, etc. may be coupled to the bus
[0202] for communicating information and command selections to the processor
[0204] , Another type of user input device may be a cursor controller
[0216] , such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor
[0204] , and for controlling cursor movement on the display
[0212] , The input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
[0068] The computing device
[0200] may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and / or program logic which in combination with the computing device
[0200] causes or programs the computing device
[0200] to be a special-purpose machine. According to one implementation, the techniques herein are performed by the computing device
[0200] in response to the processor
[0204] executing one or more sequences of one or more instructions contained in the main memory
[0206] , Such instructions may be read into the main memory
[0206] from another storage medium, such as the storage device
[0210] , Execution of the sequences of instructions contained in the main memory18
[0206] causes the processor
[0204] to perform the process steps described herein. In alternative implementations of the present disclosure, hard-wired circuitry may be used in place of or in combination with software instructions.
[0069] The computing device
[0200] also may include a communication interface
[0218] coupled to the bus
[0202] , The communication interface
[0218] provides a two-way data communication coupling to a network link
[0220] that is connected to a local network
[0222] , For example, the communication interface
[0218] may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, the communication interface
[0218] may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, the communication interface
[0218] sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.
[0070] The computing device
[0200] can send messages and receive data, including program code, through the network(s), the network link
[0220] and the communication interface
[0218] , In the Internet example, a server
[0230] might transmit a requested code for an application program through the Internet
[0228] , the ISP
[0226] , the local network
[0222] and the communication interface
[0218] , The received code may be executed by the processor
[0204] as it is received, and / or stored in the storage device
[0210] , or other non- volatile storage for later execution. The server
[0230] includes but may not be limited to a plurality of server networks (third party server networks) connected either internally or through cloud, or in a combination of both.
[0071] In an example, a user initiates streaming on an application installed in the computing device
[0200] , The user launches a streaming app on the computing device
[0200] (e.g., smartphone, smart TV, or tablet). The streaming application sends a request via the communication interface
[0218] to the server
[0230] through the network link
[0220] and the Internet
[0228] , The server
[0230] may be a content delivery server in this example. The request is processed, and content (for example, a movie) is retrieved from a Content Delivery Network to optimize streaming speed and quality.
[0072] The user watches the movie but pauses for 20 minutes. The server
[0230] detects inactivity and schedules a reminder push notification through Android FCM or Apple Push Notification Service. The push notification is sent form a third-party server, travels via the Internet
[0228] , ISP
[0226] , the local network
[0222] , the network link
[0220] , and the communication interface
[0218] , and is received on the computing device
[0200] of the user. The processor
[0204] processes the incoming notification and triggers an alert on the display
[0212] ,
[0073] Further, during the offline mode [108b], the user’s device is offline, and backend notifications from the server
[0230] may not be received. The PSNM
[0108] activates the push notification service and provides the one or more push notifications (generated locally) on the user device (computing device
[0200] ) and displays the one or more push notifications on the display
[0212] ,
[0001] FIG. 3 illustrates a flowchart depicting a method
[0300] for providing the one or more push notifications on the user device, in accordance with an embodiment of the present disclosure. The method
[0300] initiates at step
[0302] ,
[0074] Following step
[0302] , at step
[0304] , the method
[0300] includes determining the one or more triggering conditions on the user device. The one or more triggering conditions comprises at least: a network latency, high-traffic live events, offline status of the user device, battery level of the user device, location changes of the user device, and personalized notification campaigns. In general, network latency refers to a delay in receiving notifications from backend (i.e., a server). In an example, a user has subscribed to receive notifications about a live cricket match. If the backend (server-driven) notification is delayed due to congestion during the live cricket match, the processor
[0104] may detect the network latency. The network latency herein acts as a triggering condition.
[0002] Further, the offline status of the user device means that the user’s device is not connected to the Internet, but the user is engaged with an application or the system
[0102] , For example, the user may be watching a downloaded content. The offline status of the user device herein acts as a triggering condition. In addition, battery level of the user device may act a triggering condition. For example, if the battery falls below a predefined threshold, a push notification service may be activated to generate one or more push notifications on the user device ensuring that important notifications are provided before the battery drains. Furthermore, location changes of the user device may act as a triggering condition. For example, users who frequently change locations (e.g., traveling, commuting) may have different content preferences20based on their current location. In this scenario, the server may not fast enough for moving users, but the one or more push notifications may adapt to changes in the location in real-time as the one or more push notifications are locally generated on the user device. Also, personalized notification campaigns act as a triggering condition by leveraging user-specific data, user behaviour, user preferences, and real-time context to generate relevant push notifications on the user device.
[0003] At step
[0306] , the method
[0300] includes activating the push notification service based on determining the one or more triggering conditions. In an embodiment, the push notification service is activated using the push notification service module (PSNM)
[0108] of FIG.1. The push notification service is configured to be activated in at least one of: an online mode (when the user device is connected to the Internet) and an offline mode (when the user device is not connected to the Internet). The processor
[0104] initiates determining of the one or more triggering conditions and activating the push notification service based on at least one of: the user device and a server-based notification system, (as explained in FIG. 1)
[0075] At step
[0308] , the method
[0300] includes generating the one or more push notifications based on the activated push notification service. In an example, a user watches a movie on a streaming application but stops halfway and after stopping the movie, the user switches off the internet on the user device. The application needs to remind the user to continue watching the movie. The processor
[0104] detects a triggering condition as the user has paused the movie and the user device is in the offline mode. Based on this triggering condition, the processor
[0104] activates the push notification service module (PNSM)
[0108] that further activates the push notification service. The processor
[0104] may generate a push notification on the user device such as, “You left ‘PQR movie’ halfway. Ready to continue watching?” without requiring an internet connection.
[0076] At step
[0310] , the method
[0300] includes providing the generated one or push notifications on the user device based on a set of parameters associated with at least the predefined application-level logic, the current streaming content on the user device, the one or more user preferences, and the one or more user device attributes. In general, the predefined application-level logic refers to one or more rules and behaviors set by the system
[0102] to manage its functions, including notifications. The system
[0102] may be an application (herein after, the app). In an embodiment, the app defines specific conditions under which the one or more push notifications may be triggered, based on a logic developed by app developers or21coders. For example, the app may have predefined rules for alerting the user about new content releases every 24 hours, (as explained in FIG. 1)
[0077] In an embodiment, method
[0300] includes providing the generated one or more push notifications on the user device based on the current streaming content on the user device. For example, a user is watching a content for the last 30 minutes and suddenly pauses the content, whether intentionally (e.g., to take a break) or accidentally and later forgets to resume watching. Now, the push notification service may consider the current streaming content parameter and trigger actions based on that pause in the activity. For example, if the content is paused for an extended period (e.g., 30 minutes, or an hour), the processor
[0104] may generate a reminder notification to encourage the user to continue watching the content. Further, the one or more user preferences include choices made by a user such as the user may choose to receive daily news notifications at 8 AM rather than immediately when the news is published. Furthermore, the one or more device attributes may refer to physical and software attributes of the user device that may influence how the one or more push notifications are provided. In an embodiment, the one or more device attributes include settings of the user device such as silent mode, battery status, and the like. In another embodiment, the one or more device attributes include physical dimensions of screen of the user device, resolution of the screen, and the like. In an example, a smartphone may display a push notification in a compact format, while a tablet may display the same push notification with more detailed information, buttons, or images as the tablet’s screen is bigger than the smartphone’s screen.
[0078] Further, prior to providing the generated one or more push notifications to the user device, the method
[0300] includes determining receiving of one or more backend notifications based on the one or more triggering conditions, prioritizing between the one or more push notifications and the one or more backend notifications based on a predefined ranking system, and providing one of the one or more push notifications and the one or more backend notifications to the user device, based on the prioritization. In an example, if both a push notification about a new message and a backend notification about app updates are generated at the same time, the processor
[0104] prioritizes between the push notification and the backend notification to send first to the user device, based on the predefined ranking system. In an embodiment, the predefined ranking system may include a set of predefined rules or algorithms that prioritize one type of notification over the other. For example, a time-sensitive notification (like a reminder for an event) may be prioritized over a general update notification, and a user engagement notification (e.g., a special offer or recommendation) may be given higher prioritythan a system update notification. The notification with the highest priority is provided to the user device.
[0079] Additionally, the method
[0300] includes activating notification deduplication process to eliminate displaying redundant notifications when both the one or more push notifications and one or more backend notifications are generated for the one or more triggering conditions. The one or more backend notifications are generated by the server-based notification system. The server-based notification system operates in the online mode. For example, if a same event or a condition trigger both a push notification (generated by the user device itself) and a backend notification (generated by the server-based notification system), the processor
[0104] activates the notification deduplication process to ensure that the user does not receive duplicate notifications. The notification deduplication process includes comparing the one or more push notifications and the one or more backend notifications with each other for the same event or the same triggering condition to eliminate redundant notifications.
[0080] Further, the method
[0300] includes iteratively determining at least: a presence and an absence of the one or more triggering conditions based on a predefined time period. In an embodiment, the processor
[0104] continuously checks whether the one or more triggering conditions are present or absent over a given time period. Also, the processor
[0104] is configured to transition to the one or more backend notifications, in an event of determining the absence of the one or more triggering conditions. If the one or more triggering conditions are present, the processor
[0104] generates the one or more push notifications (locally generated on the user device). If the one or more triggering conditions are absent, the processor
[0104] transitions to the one or more backend notifications. For example, imagine a user watching a downloaded movie on a streaming app while in the offline mode. Since the user device cannot fetch real-time updates, the app triggers a local push notification saying, “Continue watching your downloaded episode of XYZ Show!” However, once the user reconnects to the internet, the processor detects that the offline condition is no longer valid and transitions to backend notifications. Now, instead of local reminders, the app fetches real-time recommendations from the server-based notification system and sends a backend notification like, “New episodes of XYZ Show are now available for streaming!”.
[0004] The method
[0300] terminates at step
[0312] ,
[0005] As is evident from the paragraphs above, the present invention provides a technically advanced solution for providing push notifications on a user device by intelligently determining and responding to various triggering conditions. Unlike conventional notification systems that rely solely on server-generated alerts, the present invention enables both online and offline notification delivery, ensuring seamless user engagement even in the absence of network connectivity. This approach not only ensures more timely and relevant notifications but also saves server resources, as notifications may be generated locally when appropriate, reducing the reliance on the server. By leveraging real-time event detection, user behavior analysis, and device-specific attributes, the system dynamically prioritizes between locally generated and backend notifications to optimize relevance and timing. Additionally, the present invention incorporates notification deduplication, iterative condition monitoring, and interaction tracking to refine future notifications, thereby enhancing user experience while reducing redundant or intrusive alerts.
[0006] While considerable emphasis has been placed herein on the disclosed implementations, it will be appreciated that many implementations can be made and that many changes can be made to the implementations without departing from the principles of the present disclosure. These and other changes in the implementations of the present disclosure will be apparent to those skilled in the art, whereby it is to be understood that the foregoing descriptive matter to be implemented is illustrative and non-limiting.
Claims
WE CLAIM:
1. A method [300] for providing push notifications on a user device, the method comprising:determining one or more triggering conditions on the user device;activating a push notification service based on determining the one or more triggering conditions, wherein the push notification service is configured to be activated in at least one of: an online mode [108a] and an offline mode [108b];generating one or more push notifications based on the activated push notification service; andproviding the generated one or more push notifications on the user device based on a set of parameters associated with at least a predefined application-level logic, a current streaming content on the user device, one or more user preferences, and one or more user device attributes.
2. The method [300] as claimed in claim 1, wherein determining of the one or more triggering conditions and activating the push notification service are initiated on at least one of: the user device, and a server-based notification system.
3. The method [300] as claimed in claim 1, wherein the push notification service is activated on the user device, wherein the one or more push notifications are generated on the user device.
4. The method [300] as claimed in claim 1, wherein, upon activation of the push notification service, the one or more push notifications are generated based on at least: one or more scheduled notification instructions, wherein the one or more scheduled notification instructions comprise live event reminders, new release reminders, user behaviour triggers, countdown timers for content and offers limited to specific duration, location-based alerts, time-specific alerts, in-app navigation reminders, subscription renewals and subscription plan upgrades.
5. The method [300] as claimed in claim 1, wherein the push notification service is further configured to communicate with one or more application modules [110] to:receive the one or more triggering conditions based on one or more events; and generate the push notifications in the offline mode on the user device,25wherein the one or more application modules [110] comprise at least one of: interactive widgets, product categories, promotional content trays, live event feeds, user engagement sections, recommendation engines, and trending sections.
6. The method [300] as claimed in claim 1, wherein prior to providing the generated one or more push notifications to the user device, the method comprises:determining receiving of one or more backend notifications based on the one or more triggering conditions;prioritizing between the one or more push notifications and the one or more backend notifications based on at least a predefined ranking system; andproviding one of: the one or more push notifications and the one or more backend notifications to the user device, based on the prioritizing.
7. The method [300] as claimed in claim 6, further comprising: activating notification deduplication process to eliminate providing redundant notifications when both the one or more push notifications and the one or more backend notifications are generated for the one or more triggering conditions, wherein the one or more backend notifications are generated by a server-based notification system, wherein the server-based notification system operates in the online mode [108a],8. The method [300] as claimed in claim 7, further comprising:iteratively determining at least: a presence and an absence of the one or more triggering conditions based on a predefined time period; andtransitioning to the one or more backend notifications, in an event of determining the absence of the one or more triggering conditions.
9. The method [300] as claimed in claim 1, wherein the method further comprises:tracking one or more user interactions with the provided one or more push notifications to refine and optimize future notifications, wherein the one or more user interactions comprises at least one or more clicks and one or more dismissals.
10. The method [300] as claimed in claim 1, wherein the one or more triggering conditions comprises at least: a network latency, high-traffic live events, offline status of the user device, battery level of the user device, location changes of the user device, and personalized notification campaigns.
11. A system [102] for providing push notifications on a user device, the system comprising: at least one processor [104];a memory [106] storing instructions which, when executed, cause the at least one processor [104] to:o determine one or more triggering conditions on the user device;o activate a push notification service based on determining the one or more triggering conditions, wherein the push notification service is configured to be activated in at least one of: an online mode [108a] and an offline mode [108b]; o generate one or more push notifications based on the activated push notification service; ando provide the generated one or more push notifications on the user device based on a set of parameters associated with at least a predefined application-level logic, a current streaming content on the user device, one or more user preferences, and one or more user device attributes.
12. The system [102] as claimed in claim 11, wherein the at least one processor [104] initiates determining of the one or more triggering conditions and activating the push notification service based on at least one of: the user device and a server-based notification system.
13. The system [102] as claimed in claim 11, wherein the push notification service is activated on the user device, wherein the one or more push notifications are generated on the user device.
14. The system [102] as claimed in claim 11, wherein, upon activation of the push notification service, the one or more push notifications are generated based on at least: one or more scheduled notification instructions, wherein the one or more scheduled notification instructions comprise live event reminders, new release reminders, user behaviour triggers, countdown timers for content and offers limited to specific duration, location-based alerts, time-specific alerts, in-app navigation reminders, subscription renewals and subscription plan upgrades.
15. The system [102] as claimed in claim 11, wherein the push notification service is further configured to communicate with one or more application modules [110] to:receive the one or more triggering conditions based on one or more events; andgenerate the one or more push notifications in the offline mode [108b] on the user device,wherein the one or more application modules [110] comprises at least one of interactive widgets, product categories, promotional content trays, live event feeds, user engagement sections, recommendation engines, and trending sections.
16. The system [102] as claimed in claim 11, wherein, prior to providing the generated one or more push notifications to the user device, the at least one processor [104] is configured to:determine receiving of one or more backend notifications based on the one or more triggering conditions;prioritize between the one or more push notifications and the one or more backend notifications based on a predefined ranking system; andprovide one of the one or more push notifications and the one or more backend notifications to the user device, based on the prioritization.
17. The system [102] as claimed in claim 16, wherein the at least one processor [104] is further configured to: activate notification deduplication process to eliminate displaying redundant notifications when both the one or more push notifications and one or more backend notifications are generated for the one or more triggering conditions, wherein the one or more backend notifications are generated by a server-based notification system, wherein the server-based notification system operates in the online mode [108a],18. The system [102] as claimed in claim 17, wherein the at least one processor [104] is further configured to:iteratively determine at least: a presence and an absence of the one or more triggering conditions based on a predefined time period; andtransition to the one or more backend notifications, in an event of determining the absence of the one or more triggering conditions.
19. The system [102] as claimed in claim 11, wherein the at least one processor [104] is further configured to:track one or more user interactions with the provided one or more push notifications to refine and optimize future notifications, wherein the one or more user interactions comprises at least one or more clicks, and one or more dismissals.
20. The system [102] as claimed in claim 11, wherein the one or more triggering conditions comprises at least: a network latency, high-traffic live events, offline status of the user device, battery level of the user device, location changes of the user device, and personalized notification campaigns.29