What about ios push notification disabled for my app? - java

I'm sending push notifications on devices in Java with Javapns.
When a user uninstalled my app and I send a push to him, I'll find this user in the feedback service, that's ok.
But how it works if the user disabled my app notifications ? How can I know it on server side ?
The app can know it (with UIRemoteNotificationType) and warn the server with a get/post but is there a way to know it on the server ?
The doc isn't clear enough about push notifications sent and user deviced push notifications disabled

You can not. Except for the feedback that you described, you will know nothing. Even if the user installed your app and enabled notifications, it may never get the notification and you won't know about this.

Related

Doze mode on Oreo

I am facing issue in my app regarding doze mode. I am making a chat application and when app is in backgroud during doze mode and receive any message . Device does not show notification in orea.
I have followed the proper procedure for OREO notification by building channel for it.
I need to find if there is a way to whiteList my app from doze mode so that I can have notifications. Or any other process to optimize notification building.
I do not need to whitelist my application to get notifications in doze mode. I recommend to look at your notification to see if you can find the issue there.
Some tips:
Send a notification, use the notification field. If theres no notification field it will be handled as a data notification. Data notifications are delivered when the app starts again.
Set priority to high.
Maybe use time to live = 0. That will make firebase to try harder to get it delivered. But it will be lost if it fails.
Hard to give you more direct advice when I do not know where you are sending the notification from.
https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages

Send Notification to other users and other users have the option to accept or reject it

I am building an Android app and i am using Firebase as the database to store users and more. My requirement is that i need users to click on a button and send notifications to other users(typically they will be 2-3 users). When other users receive the notification they should have the option to "accept" it or "reject" the request. If they click to accept it the sender of the notification should get notified (just a notification) as well as the admin users.
I have found online several options on how to send notifications with FCM or using a third party server but the tricky part that i haven't found is how will they accept or reject a notification? Has anyone done something similar or can someone direct me to a solution that would satisfy this requirement(accept and reject a notification)?

how to find failed notifications in IOS APNS calls when device in airplane mode

If sender is sending apns notifications to user successfully and suddenly user sets device to air plane mode or do not disturb mode then how does the sender know if the device has got the notification or not.
Will Apns notify of success or failure to the sender.
----Update to above question below,
is there a way for IOS app to tell the sending java client about the notifications received, without the user's action of launching the app or clicking one the notification.
For e.g. user might be busy and the device may be idle. In such case if a notification arrives, is there a way or API/Method in IOS to send acknowledgement to the sender, that notification with 'someID' is reviced in notification tray.
Reason being, if someOne wants to charge for notifications sent to a device. if user does not recieve it than it may cause problems.
You need to understand the concept of APNS properly. Have a look at the docs to understand it better :) Though, lemme add some key info here to help you :)
There are few wrong assumptions you have about APNS :)
Mistake 1
"If sender is sending apns notifications to user successfully"
I believe by that statement, you mean user using an app sends a APNS to other user using APNS :)
Sorry :) iOS client applications dont directly talk with APNS to send push notifications :) Request to send a push notification might generate at iOS client app (like user types a text and clicks on send) App wont directly make a call to APNS and handover the payload to it :) There is another important entity playing a very important role in background that is your App Server
What happens when I send a text to other user using APNS??
Your application should gather user text and send it to your Application server :) Your Application server then establishes a two way hand shake with APNS :) Once successful it creates the payload in perticular format :) gets the device ID's to which it has to send the data and sends it to APNS finally APNS delivers it to client apps :)
Mistake 2
Will Apns notify of success or failure to the sender.
Apple documentations clearly says APNS is a best effort service :) Which means APNS will not take any guarantee of delivering every single request sent to it :) and does not provide any feedback regarding the successful delivery of packages at client end :)
All the requests that your Application server sends to APNS gets queued and gets delivered when APNS is free to process them :) If request-1 is yet to be processed and request-2 comes from your application server to APNS request-1 will be discarded and request-2 will be processed :)
How to deal with this kind of situations then ?
Once receiving the message your receiver iOS app should talk with your application server and inform that it has received the message/package :)
Assume user 1 sends 2 message :) lets say message1 and message 2 :) now your application server sends message1 to APNS hoping that it will deliver the message :) If APNS sends it to user 2, user 2's app should talk with your app server and say hey I got message 1 :) Now when user 1 sends message 2 your application server knows that no messages are pending to send to user 2 :)
If user 1 sends message 3 and user 2 does not receive anything from APNS when user 1 again sends message 4 and user 2 informs that he has recieved message 4 your application server should be able to identify that it has not recieved the feed back for messge 3 so it should re-send it again :)
There are 100 other ways to keep your Client and server in sync :)
TIP
If you are developing chat app depending on APNS is not feasible solution :) Hope I guided you atleast with the concept :) Happy coding all the best

How to write APNS FeedBack Service using java?

I am working on sending Push Notifications to an Apple device using Java. For this i am using JavaPNS-2.1.1 library. I have successfully sent push notifications to an apple device. But when i call APNS FeedBack Service it doesnt return anything.
To test the APNS Feedback Service, i deleted the app first from device then sent few notifications to that device. While sending push notifications i called the FeedBack Service every time i sent push notification. But each time it doesnt return anything. The piece of code for FeedBack Service as below,
List<Device> devices = new Vector<Device>();
FeedbackServiceManager feedbackManager = new FeedbackServiceManager();
feedbackManager.setProxy(host,port);
AppleFeedbackServer server = new AppleFeedbackServerBasicImpl(keystore, password, false);
devices.addAll(feedbackManager.getDevices(server));
return devices;
Can anyone help me on where am i getting it wrong? On few Questions here in StackOverflow, i read it works in SandBox environment only, is it true? As i am also working on SandBox here.
What is the exact response does the Feedback Service provides? Will it give me all notifications failed? Or only the device token to which it doesnt delivered the notification? Suppose i sent 3 notifications to only one device, then will it give me all 3 instances of failure or device token of that device with timestamp of last failure?
When should i call the FeedBack Service? Means exactly after how much time i call it when APNS fails to deliver push notifications?
My experience with the sandbox-feedback service is that it only works if you have two different sandbox-push enabled apps on your device. When you uninstall one of them, you'll get something on the feedback service saying the token isn't valid anymore. This was several years ago when I tested it, so I don't know if it still applies.

Receive email notifications in android app

Im trying to make a simple app (just for learning sake) that will be able to send and receive emails from my own server. I don't have a problem sending emails from my app, my problem is:
How do you receive push notifications from the email server
Have the app check inbox, refresh the inbox list
I have tried searching for this, but have found nothing.
Thanks for your help
C2DM does push notifications, depending on your server. Search stackoverflow for it.
The app can check the inbox with whatever API is available to get the server's status. Even HTTP is possible.
The SampleSyncAdapter sample app is an example of using a sync adapter to regularly synchronize data between the server and the device, but you can use the same idea for download-only.

Categories

Resources