High Scale Cross Platform Push Notifications Kirill Gavrylyuk, @kirillg_msft Principal Lead Program Manager.

Download Report

Transcript High Scale Cross Platform Push Notifications Kirill Gavrylyuk, @kirillg_msft Principal Lead Program Manager.

High Scale Cross Platform
Push Notifications
Kirill Gavrylyuk, @kirillg_msft
Principal Lead Program Manager
Sochi 2014 Results App
 Localized for each user’s language,
country and time zone
 Segmented and personalized push
based on event type, sport, and
athlete preferences
 Social and current as a result of
Facebook and Twitter integration,
refreshed content and merchandise
Push Notifications 101
Register device handle at app launch
1.
2.
1
Client app retrieves handle from Platform Notification Service (PNS)
App passes the handle to the back-end
4
Client app
Send Notification
3.
App back-end sends notification to Platform Notification Service (PNS),
uses PNS credentials to authenticate
4.
2
3
PNS pushes the notification to the app on the device
5
Maintain device handles
5.
6.
Platform
Notification
Service
Backend deletes expired handles when PNS rejects them
Maintain mapping between logical users/groups and device handles
App back-end
6
Why is Push hard?
•
Needs to be cross-platform
•
Requires maintaining accurate device registry
•
Target audience segments are dynamic
•
Needs to be personalized based on language,
timezone, other user preferences
•
Often requires in high-volume with low latency
Azure Notification Hubs
Register device handle at app launch
1.
2.
Client app retrieves handle from Platform Notification Service (PNS)
App passes the handle to the back-end, back-end registers handle
with Notification Hubs, using tags to represent logical users/groups
Send Notification
3.
4.
1
4
Client app
PNS
4
5
2
App back-end sends notification to logical users or groups of users
using Notification Hubs tags
Notification Hubs delivers notifications to matching devices via PNS
6
2
Maintain device handles
5.
6.
Notification Hubs deletes expired handles when PNS rejects them
Maintains mapping between logical users/groups and device
handles
App back-end
3
Notification
Hub
Demo
Advantages of using Notification Hubs
X-plat: from any back-end to any mobile platform
•
•
.NET, Java, PHP, Node, etc
IOS, Android, Windows Phone, Windows, Kindle
Avoid storing device information in the app back-end
•
Notification Hub maintains the registry of devices and the associations to
users/interest groups
Work with logical users and segments
•
Target individual users and large interest groups using tags
Personalization and localization
•
Keep your back-end free of presentation concerns like localization and user
preferences using templates
Broadcast at scale, multicast, unicast
•
Push notifications to millions of devices (across platforms) with a single call
Telemetry
•
Rich telemetry available through portal or APIs
Customers
Resources
http://azure.microsoft.com/documentation/services/notification-hubs/