Microsoft Push Notification Service capacity - push-notification

Does anybody know the limits of using the MPNS? I need to know specifically if I can send to MPNS millions of notifications to unique devices (if I ever had) almost all at once (seconds) and how will the MPNS handle it? is it no problem? will MPNS handle the notifications as soon as it can? would the MPNS block my service?
Thanks

The only limit I saw mentioned on MSDN is this :
Authenticated web
services do not have a daily limit on the number of push notifications
they can send. Unauthenticated web services, on the other hand, are
throttled at a rate of 500 push notifications per subscription per
day. For more info, see Setting up an authenticated web service to
send push notifications for Windows Phone.
It's a limit per device per day, and it exists only if you don't setup an authenticated web service.
They don't mention a limit on the number of unique devices.

Related

Firebase: How to send push notifications in batches to avoid problem with backend overload?

We have an app (iOS, Android) where we send push notifications to from the Firebase web interface to all the registered users.
The backend system cannot handle the peak load that occurs when all the users are pulled into the app calling the REST API from the push notifications.
Is there a way to split the registered users to send the push notifications little by little at an appropriate rate?
I suspect that this has to be done programmatically. C#?
Question with workarounds handling peak times when sending push notifications
The web console for sending notifications with Firebase Cloud Messaging does not have a way to throttle message delivery. It's an interesting concern though, so I'd recommend filing a feature request.
For the moment though, I can think of two options:
Create multiple audiences that cover your entire user base, and then send to each audience at a different time.
Use the FCM API to send out the messages to your users in batches.

Does Firebase Cloud Messaging have an option to limit maximum no. of notifications sent per user per day?

We use FCM to send app notifications. Basically, we want to put a cap on maximum number of notifications that an app user can get in a day. Does FCM have an option where on hitting the cap, the subsequent messages are discarded by FCM and not sent to the user?
FCM is a free service which currently doesn't have any limitations whatsoever when it comes to the count of notifications sent and received.
If you want to enforce a limit of some sort, you would have to enforce this on your implementation (probably server side), by preventing further messages when a specific range is hit.
In general, push notification features are good for letting users know of specific (non-critical) information. I don't get why anyone would limit something when it's already free of use -- unless there's some different cost you're limiting which is directly affected by the push notif service.

Web push notifications

I am making a website and one of the features is that whenever a contract is nearing its end, the user should be notified about it. So I was looking for a way to notify users and I found out about push notifications.
Now, there are lots of things written about it. I heard a lot about Google Cloud Messaging, Firebase Cloud Messaging and Service Workers.
Now the thing is that my website will probably be on an Intranet. So maybe I won't be able to use GCM/FCM.
But I have a few questions regarding GCM, FCM and Service-Workers:
Why do I need FCM/GCM?
What is the difference between FCM and Service Workers?
Is there a way to push notifications even if the browser is closed?
Because my website is on an Intranet, is there another way to push notifications to the users?
1. Why do I need FCM/GCM?
You may check here the features of FCM.
Notification payload: 4KB, Message payload: 2KB. Note that the notification includes device and app information too.
Stores 100 notification/messages per device if the device is offline.
Stores notification/messages for 30 days if the device is offline, and deleted them all one this period is over and the device is still offline.
FCM supports Android and iOS devices, and even chrome web apps. The notifications are sent to iOS devices in this way: App Server -> FCM -> Apple Push Notification Server (APNs) -> iOS device -> App.
GCM supports 1 million subscribers while FCM do not have this limitation.
Supports programming in C++.
Less requirements for coding.
2. What is the difference between FCM and Service Workers?
Service Worker is a background service that handles network requests. Ideal for dealing with offline situations and background syncs or push notifications. Cannot directly interact with the DOM. Communication must go through the Service Worker’s postMessage method. Service Workers are pretty perfect for creating offline-first web apps. They let you interact with the server when you can (to fetch new data from the server, or push updated info back to the server), so your app can work regardless of your user’s connectivity.
While using FCM, you can notify a client app that new email or other data is available to sync. You can send notification messages to drive user reengagement and retention. For use cases such as instant messaging, a message can transfer a payload of up to 4KB to a client app.
3. Is there a way to push notifications even if the browser is closed?
Check this thread: Notifications while browser is closed
4. Because my website is on an Intranet, is there another way to push notifications to the users?
Unfortunately, I don't see any documentation regarding this.
Hope my answers help you.

Windows Phone push notification multiple Devices in one request

i'm trying to implement push notification for our Windows Phone apps. We have about 40, 50 games on Mobile Phones, each game we have about ~400.000 users on their device.
I read some tutorial about push notification for Windows Phone such as this (http://joashpereira.com/blog/2015/03/18/php-script-to-send-android-ios-and-windwos-phone-push-notification/), but there's a problem is that we can only send push notification to one device per request. If i use this method, our program will process very very slow.
It's not look like Android or IOS, where i can send notification to ~1000 devices per request. That's pretty easier.
Anyone know how i can deal with this problem? Pls Help, thanks.
[Answer to a comment in the question]
The send method of the NotificationHub returns a NotificationOutcome object. This object contains several informations. Also a TrackingId which is a unique identifier which has been generated by the Notification Hub. But at the moment you have no possibility (as far as I know) to get more informations.
You can use the TrackingId to contact the azure-support, when you have problems or questions.
The problem is, that azure don't send the notifications directly to the devices. Azure just sends it to the device specific notification server (APNS, GCM, MPNS), and this server decide about the time to send the notificaiton
Look at this page at the end (section 'Debug failed notifications/ Review notification outcome' or 'Review telemetry') for more informations.

Microsoft push notification service pricing

I've read Microsoft documentation about Push Notification Service that they are offering for Windows phones but there is no information about pricing. I've read somewhere that it is free to use max 500 notification per day/per application/per device and it is unauthenticated mode but there is also authenticated mode which has no daily limit and cost some money. Is that true and if it is, how much is price?
Also I am interested in information about saving messages in server if user is not active in time of sending. How much push messages can Microsoft Push Service save for one device/user before starts to discard it?
It is free, authenticated or not.
Not sure if they actually store messages on the server to be delivered. When you send one they will give you the clients connection status as part of the response.

Resources