- Send push notifications from any back end to any platform. The platform can be :
- IOS
- Android
- Windows universal
- Xamarin (ios, android and safari)
And backend can be :
- Cloud
- On-premise locations
- Sample use cases”
- Push Breaking news
- Marketing campaigns
- MFA
Resource Structure :
- Hubs – push resource
- Namespaces – collection of hubs in a region, can have prod and test hubs
Pricing model :
- Free – not for production apps as there is no SLA. 500 devices and 1 mil pushes/namespace/month
- Basic – 200k devices, 10 mil pushes/namespace/month
- Standard – 10 mil devices, 10 mil pushes/namespace/month
Pricing details are : https://azure.microsoft.com/en-us/pricing/details/notification-hubs/
Latency:
- Process atleast 1 mil push notification sends a min and can delay up to 10 mins because PNS might be throttling the app. Mostly within minutes.
Security Model :
- uses SAS security model either at namespace level or notification hub level
- Encryption with data at rest except registration tags (dont use tags for confidential customer data)
- It can log all write operations like put, post and delete on any azure resource but not log read or get operation
Limitations :
- Azure Notification hubs doesnt support VOIP push notifications
- Doesnt support email or text possibilities
Other ways to achieve push notifications using SQL server :
- Query notifications
- Query Notification will push to a Service Broker service
- SQLDependency
- notorious for memory leak issues
- App needs to create SQLDependency object and register to receive notifications using onchangeventhandler
- Workflow is :
- Queue to stored all updated values
- Service broker to insert the messages into queue
- Table trigger for all DML operations to generate an XML message and use SB to insert into the queue system
- Service Broker
Query notifications and SQLDependency have limitation that they will not push the data but alert that info has changed.
Local datasets need be refreshed to get the updates.