How does the pushy.me service sdk work on Android? I'm specifically interested in how continuous delivery of notifications is ensured? Does he need any additional permissions or something like that? Why is the background process not killed by the system?
How pushy.me service work on android? How is continuous delivery of notifications ensured?
96 Views Asked by Student4543 At
2
There are 2 best solutions below
1
Anton Malyshev
On
Most probably use silent push notifications (so the receiver can awake on it). It doesn't provide any guarantees though, but usually is quite stable.
You can't keep any service running in background as latests Android versions will throttle / kill it. The recommended WorkManager API is too restrictive.
Related Questions in ANDROID
- Creating global Class holder
- Flutter + Dart: Editing name of a tab shows up a black screen
- android-pdf-viewer Received status code 401 from server: Unauthorized
- Sdk 34 WRITE_EXTERNAL_STORAGE not working
- ussd reader in Recket Native module
- Incorrect display of LinearGradientBrush in IOS
- The Binary Version Of its metadata is 1.8.0, expected Version is 1.6.0 build error
- I can't make TextInput to auto expand properly in Android
- Creating multiple instances of a class with different initializing values in Flutter
- How to create a lottie animation
- making android analyze with coverity sast tool
- Flutter plugin development android src not opening after opening example
- I initialize my ViewModel in the Activity with several fragments as tabs, but the fragments(tabs) return null for the updated livedata
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How I can use the shared preferences class?
Related Questions in PUSH-NOTIFICATION
- Custom Sound for Expo Push Notifications Only Works in Foreground
- Actionable notification api call not working in background
- After adding the packages of "Xamarin.Firebase.Messaging", getting error related to JAVA0000 "Compilation failed"
- How can I schedule OneSignal notifications programmatically from a Flutter app
- Firebase push doesnt receive after init in other process
- Background notification also get muted on removing "sound" from presentationOptions in @capacitor-firebase/messaging?
- Push notifications in flutter webview app
- (iOS) Can we have multiple APNs files for the same app?
- How does iOS notifications handle cases without content-available key
- Push notification can't be activated in certain phone models and OS
- How to modified remote notification body content in ios using react native
- Push notification sent from Laravel is received by Android device, but isn't received by iOS device
- i want to get the FCM token
- How to update my service worker for existing web push subscribers?
- Android FCM push notification not launching the application on click
Related Questions in PUSHY
- How pushy.me service work on android? How is continuous delivery of notifications ensured?
- PUSHY APNS - AnnotatedSocketException: Network is unreachable: api.sandbox.push.apple.com/2620
- How to update local sqlite data from custom data of Push notification payload when application is in Killed state or in background state
- How to hide a specific notification banner when application is in killed state and in background state in swift
- Unable to receive notification in Battery optimization mode Pushy
- How can I disable Pushy in Capacitor using Ionic Toggle?
- App crashing on android 8 to 12 due to java.lang.NoClassDefFoundError
- Pushy APNS: No route to host
- Android Notification Issue after last Android Update Pushy.me API
- Pushy.me: How to unregister from push notification in react native?
- Flutter push notification when app is closed
- After how many days will APNS mark a device as inactive?
- Flutter Pushy Error: Unhandled Exception: MissingPluginException(No implementation found for method notify on channel me.pushy.sdk.flutter/methods)
- How does pushy keep the socket open on Android?
- Pushy APNS http2 protocol - No init method in io.netty.util.concurrent.PromiseCombiner Error
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The background process is not killed by the system, because services were not intended to be killed, unlike for example, an app. They fill that role in the Android operating system.
As for how continuous delivery of notifications is ensured, there's three ways that are possible and one that is most likely.
1. Short polling
The service sends a request on a regular interval for the current data on recent notifications, and displays those that it hasn't already. The drawback being, you have to serve a substantial number of requests to ensure function, and you aren't getting true continuous delivery.
2. Long polling
The service sends a request with a long timeout period and the server holds the request until an update is made, at which point it will respond with the updated data. If it times out, another request is sent by the client. The drawback here is that the request needs to be held, frozen, until data is updated, locking up resources.
3. Web Sockets
The likely solution for this. In regular HTTP, the server needs to be queried for data. Web sockets allow bidirectional communication that is only terminated when one side closes the connection, not after every query is served. As such, the server may communicate to the client unprompted. It doesn't need an incoming request to specify an address to return the response to.
See: this.