SlideShare une entreprise Scribd logo
1  sur  27
Prabath Fonseka (MVP)
CTO
Occulem
Microsoft Azure Notification Hub
Dinusha Kumarasiri (MVP)
Software Architect
Occulem
• Windows WNS
• Toast
• Tile
• Badge
• Raw
• Windows Phone (MPNS)
• Toast
• Tile
• Raw
• Apple
• Google
• Amazon
Reservation changes, Deals,
Back-office
Travel/Hospitality/Airlines
SMS replacement, Deals,
Back-office
Banking/Insurance
Orders, Product UX,
Back-office
Discrete manufacturing/Auto
Prescriptions, Appointments,
LOB (maintenance)
Healthcare
Breaking news
News/Media
Offers, Orders, Back-office
Retail
• Client app contacts Platform Notification Service,
to retrieve current channel (for example:
ChannelURIs, device tokens, registrationIds)
• App updates handle in back-end
Registration at
app launch
• App back-end send notification to PNS
• PNS pushes the notification to the app on the
device
Sending
Notification
• Delete expired handles when PNS rejects themMaintenance
Platform
Notification
Service
App back-end
For enterprise apps
Keep users up to date
Not only for alerts
‘push to sync’ notifications
For consumer apps
Richer than SMS
Considerably cheaper
• Different communication protocols to PNS
• Different presentation formats and capabilities
Platform dependency
• Provide a way to send a message to a device/channel
• Target user or group of interest
• Back-end has to maintain an identification repository
Routing
• Need to store current handles for each device
• Broadcast to millions of devices with low latency
Scale
Message
Distribution
Push notification to millions of
devices across supported
platforms with single call
Collect information from devices
(e.g. location)
Message Templating
Convert message in to appropriate
format
• XML or JSON
Use for localization
Templates can be used to present
certain information according to user
preferences
Device Registration
Maintains a registry of devices
and users/groups
Message Targeting
Targets specific users and
groups based on tags
Allows you to target messages
to specific users
Bing (news, finance, sports, …) Past event sample – Sochi 2014
Preinstalled on
Windows Millions of devices
Millions of
notifications/day Minutes to delivery
Interest groups
(countries,
disciplines, athletes)
Localized
notifications
Million devices
(iOS, Android, WP) Million notifications
10s
3+ <2
100s
3+ 150+
Send Notification
App back-end sends a message to
Notification Hub
Notification Hub pushes it to PNS’
Register
Client app retrieves its current handle
(PNS)
Client app registers on Notification Hub
(current handle)
One-time set up
Create a Notification Hub
APNsWNS
Notification Hub
App back-end
iOS app Windows app
MPNS
GCM
ADM
X-plat: from
any back-end
to any mobile
platform
No need to
store device
information in
the app back-
end
Routing and
interest groups
Personalization
and
localization
Broadcast at
scale, multicast,
unicast
Telemetry
Windows 10 to Send/Receive Notifications
Step 1
• Register a new app in the Windows Dev Store and enable Push notification for this app (retrieve MPNS SSID &
secret)
Step 2
• Create your app in Visual studio and associate it with the store
Step 3
• Create an Azure Notification hub service and enter your MPNS SSID & secret
Step 4
• In Visual Studio, add WindowsAzure.Messaging.Managed nuget package. Develop your app.
1. Register your device at application startup
2. Send a notification from your back-end:
Code Snippets
Register Send
await hub.RegisterNativeAsync(channel.Uri);
[hub registerNativeWithDeviceToken:deviceToken
tags:nil
completion:^(NSError* error) { … }];
hub.register(regid);
var toast = @"<notification payload>";
hub.SendWindowsNativeNotificationAsync(toast);
hubService.wns.sendToastText01(null,
{
text1: 'Hello from Node!'
},
function (error)
{
…
}
);
Payload Snippets
<toast><visual>
<binding template="ToastText01">
<text id="1">Hello from a .NET App!</text>
</binding>
</visual></toast>
{"aps":{"alert":"Hello from .NET!"}}
{"data":{"message":"Hello from .NET!"}}
Example : Payload for windows 10
• Adaptive and interactive toast notification
• New Features like
o Actions
o Input (Text, Dropdown)
o Sounds
Example : Payload for windows 10
<toast launch="1">
<visual>
<binding template="ToastGeneric">
<image id="1" src="AssetsSquare30x30Logo.png" alt=""/>
<text id="1">Dear Bill Gates Get 40% if you come visit us today ! Best Regards from our
team.</text>
</binding></visual>
<actions>
<action activationType="foreground" content="Yes I will !" arguments="details"/>
<action activationType="background" content="No thanks." arguments="later"/>
</actions>
</toast>
Tags as interest groups
• Client app can register with a set of tags
• Tags are simple strings (no pre-provisioning is
required)
• App back-end can target all clients with the same
tag
You can use tags also for:
• Multiple type of interest groups, for example:
• Follow bands: tag “followband:Beatles”
• Follow users: tag “followuser:Alice”
• Tag devices with a user ID
• Tags can be user preferences or system information
Notification Hub
App back-end
Tag:”Beatles”Tag:”Wailers”
Tag:”Beatles
”
Register
await new string[] {"myTag", "myOtherTag"}
[hub registerNativeWithDeviceToken:deviceToken tags:@[@"myTag", @"myOtherTag"] completion:
^(NSError* error) {
…
}];
hub.register(regid, "myTag“, "myOtherTag");
Send
• “All my group except me”
group:id && !user:idSocial
• Touchdown event is send to everybody following either team
Followteam:A || Followteam:B || followplayer:1 || followplayer:2
…
Events
• Send notifications at specific times. E.g. Tag with timezone, @12pm in Seattle
send:
timezone:PST && follows:thaifood
Hours
• Send a reminder to update to your first Android app version:
version:1.0 && platform:AndroidVersions & platforms
Templates for multi-platform push
Registration
• Client apps can register with a platform specific
template, for example:
• Windows tablet registers with Windows Store
ToastText01 template
• iPhone with the Apple JSON template: { aps: { alert:
“$(message)” } }
Send notification
• App back-end sends a platform independent
message: {message: “Hello!”}
Notes
• Multiple templates can be specified for each device
• Each template can have a different set of tags
Notification Hub
App back-end
<toast>
<visual>
<binding template="ToastText01">
<text id="1">$(message)</text>
</binding>
</visual>
</toast>
{
aps: {
alert: “$(message)”
}
}
{
message: “Hello!”
}
Hello!
Hello!
Templates for localization
Registration
• Client apps can register with personalized templates,
for example:
• Windows tablet wants to receive news in English
• iPhone wants Italian
Send notification
• App back-end sends a message including both
languages: {news_en: “Hello!”, news_it: “Ciao!”}
Template Expressions
• Templates support a simple expression language:
• For example: {‘Elio, ’+$(friend)+’ added you to
’+$(groupName)}
Notification Hub
App back-end
<toast>
<visual>
<binding template="ToastText01">
<text id="1">$(news_en)</text>
</binding>
</visual>
</toast>
{
aps: {
alert: “$(news_it)”
}
}
{
news_en: “Hello!”,
news_it: “Ciao!”
}
Hello!
Ciao!
Thank You
Visit azure.microsoft.com for updated content and news

Contenu connexe

Tendances

Enterprise-Database-Migration-Strategies-and-Options-on-AWS
Enterprise-Database-Migration-Strategies-and-Options-on-AWSEnterprise-Database-Migration-Strategies-and-Options-on-AWS
Enterprise-Database-Migration-Strategies-and-Options-on-AWSAmazon Web Services
 
Microsoft Azure cloud services
Microsoft Azure cloud servicesMicrosoft Azure cloud services
Microsoft Azure cloud servicesNajeeb Khan
 
Introduction to Azure Event Grid
Introduction to Azure Event GridIntroduction to Azure Event Grid
Introduction to Azure Event GridCallon Campbell
 
Getting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics servicesGetting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics servicesEastBanc Tachnologies
 
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & ProcessesAmazon Web Services
 
Introduction to Amazon Elasticsearch Service
Introduction to  Amazon Elasticsearch ServiceIntroduction to  Amazon Elasticsearch Service
Introduction to Amazon Elasticsearch ServiceAmazon Web Services
 
Decouple and Scale Applications Using Amazon SQS and Amazon SNS - July 2017 A...
Decouple and Scale Applications Using Amazon SQS and Amazon SNS - July 2017 A...Decouple and Scale Applications Using Amazon SQS and Amazon SNS - July 2017 A...
Decouple and Scale Applications Using Amazon SQS and Amazon SNS - July 2017 A...Amazon Web Services
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Amazon Web Services
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAmazon Web Services
 
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016Amazon Web Services
 
Azure Storage
Azure StorageAzure Storage
Azure StorageMustafa
 

Tendances (20)

Enterprise-Database-Migration-Strategies-and-Options-on-AWS
Enterprise-Database-Migration-Strategies-and-Options-on-AWSEnterprise-Database-Migration-Strategies-and-Options-on-AWS
Enterprise-Database-Migration-Strategies-and-Options-on-AWS
 
AWS SQS SNS
AWS SQS SNSAWS SQS SNS
AWS SQS SNS
 
Azure storage
Azure storageAzure storage
Azure storage
 
Microsoft Azure cloud services
Microsoft Azure cloud servicesMicrosoft Azure cloud services
Microsoft Azure cloud services
 
Introduction to Azure Event Grid
Introduction to Azure Event GridIntroduction to Azure Event Grid
Introduction to Azure Event Grid
 
Azure logic app
Azure logic appAzure logic app
Azure logic app
 
Cost Optimisation on AWS
Cost Optimisation on AWSCost Optimisation on AWS
Cost Optimisation on AWS
 
Getting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics servicesGetting started with azure event hubs and stream analytics services
Getting started with azure event hubs and stream analytics services
 
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
 
Introduction to Amazon Elasticsearch Service
Introduction to  Amazon Elasticsearch ServiceIntroduction to  Amazon Elasticsearch Service
Introduction to Amazon Elasticsearch Service
 
Aws ppt
Aws pptAws ppt
Aws ppt
 
Decouple and Scale Applications Using Amazon SQS and Amazon SNS - July 2017 A...
Decouple and Scale Applications Using Amazon SQS and Amazon SNS - July 2017 A...Decouple and Scale Applications Using Amazon SQS and Amazon SNS - July 2017 A...
Decouple and Scale Applications Using Amazon SQS and Amazon SNS - July 2017 A...
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
AWS CLIでAssumeRole
AWS CLIでAssumeRoleAWS CLIでAssumeRole
AWS CLIでAssumeRole
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar Series
 
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016
Introduction to AWS Cloud Computing | AWS Public Sector Summit 2016
 
Azure 101
Azure 101Azure 101
Azure 101
 
Azure Storage
Azure StorageAzure Storage
Azure Storage
 

En vedette

Introduction to SharePoint Online
Introduction to SharePoint OnlineIntroduction to SharePoint Online
Introduction to SharePoint OnlineDinusha Kumarasiri
 
Data Loss Prevention in SharePoint 2016
Data Loss Prevention in SharePoint 2016Data Loss Prevention in SharePoint 2016
Data Loss Prevention in SharePoint 2016Dinusha Kumarasiri
 
Enhance user experience for Search using display templates
Enhance user experience for  Search using display templatesEnhance user experience for  Search using display templates
Enhance user experience for Search using display templatesDinusha Kumarasiri
 
Getting to know SharePoint 2013
Getting to know SharePoint 2013Getting to know SharePoint 2013
Getting to know SharePoint 2013Dinusha Kumarasiri
 
Introduction to Excel services 2010
Introduction to Excel services 2010Introduction to Excel services 2010
Introduction to Excel services 2010Dinusha Kumarasiri
 
SharePoint 2010 development with WCF
SharePoint 2010 development with WCFSharePoint 2010 development with WCF
SharePoint 2010 development with WCFDinusha Kumarasiri
 
SharePoint site provisioning techniques
SharePoint site provisioning techniquesSharePoint site provisioning techniques
SharePoint site provisioning techniquesDinusha Kumarasiri
 
Logical architecture considerations for SharePoint 2013
Logical architecture considerations for SharePoint 2013Logical architecture considerations for SharePoint 2013
Logical architecture considerations for SharePoint 2013Dinusha Kumarasiri
 
Introducing WCF Duplex services
Introducing WCF Duplex servicesIntroducing WCF Duplex services
Introducing WCF Duplex servicesDinusha Kumarasiri
 
Scaling push notifications to millions of devices using notification hubs
Scaling push notifications to millions of devices using notification hubsScaling push notifications to millions of devices using notification hubs
Scaling push notifications to millions of devices using notification hubscloudbeatsch
 

En vedette (17)

Introduction to SharePoint
Introduction to SharePointIntroduction to SharePoint
Introduction to SharePoint
 
Introduction to SharePoint Online
Introduction to SharePoint OnlineIntroduction to SharePoint Online
Introduction to SharePoint Online
 
Data Loss Prevention in SharePoint 2016
Data Loss Prevention in SharePoint 2016Data Loss Prevention in SharePoint 2016
Data Loss Prevention in SharePoint 2016
 
Introduction to SharePoint
Introduction to SharePointIntroduction to SharePoint
Introduction to SharePoint
 
Enhance user experience for Search using display templates
Enhance user experience for  Search using display templatesEnhance user experience for  Search using display templates
Enhance user experience for Search using display templates
 
SharePoint best practices
SharePoint best practicesSharePoint best practices
SharePoint best practices
 
Getting to know SharePoint 2013
Getting to know SharePoint 2013Getting to know SharePoint 2013
Getting to know SharePoint 2013
 
Introduction to Excel services 2010
Introduction to Excel services 2010Introduction to Excel services 2010
Introduction to Excel services 2010
 
SharePoint 2010 development with WCF
SharePoint 2010 development with WCFSharePoint 2010 development with WCF
SharePoint 2010 development with WCF
 
Lap Around VSTS 2010
Lap Around VSTS 2010Lap Around VSTS 2010
Lap Around VSTS 2010
 
eDiscovery in SharePoint 2013
eDiscovery in SharePoint 2013eDiscovery in SharePoint 2013
eDiscovery in SharePoint 2013
 
SharePoint site provisioning techniques
SharePoint site provisioning techniquesSharePoint site provisioning techniques
SharePoint site provisioning techniques
 
Logical architecture considerations for SharePoint 2013
Logical architecture considerations for SharePoint 2013Logical architecture considerations for SharePoint 2013
Logical architecture considerations for SharePoint 2013
 
OAuth in SharePoint 2013
OAuth in SharePoint 2013OAuth in SharePoint 2013
OAuth in SharePoint 2013
 
Introducing WCF Duplex services
Introducing WCF Duplex servicesIntroducing WCF Duplex services
Introducing WCF Duplex services
 
SharePoint Authentication
SharePoint AuthenticationSharePoint Authentication
SharePoint Authentication
 
Scaling push notifications to millions of devices using notification hubs
Scaling push notifications to millions of devices using notification hubsScaling push notifications to millions of devices using notification hubs
Scaling push notifications to millions of devices using notification hubs
 

Similaire à Azure Notification Hub for Multi-Platform Push

Cross Platform Mobile Push Notifications with Azure Notifications Hub
Cross Platform Mobile Push Notifications with Azure Notifications HubCross Platform Mobile Push Notifications with Azure Notifications Hub
Cross Platform Mobile Push Notifications with Azure Notifications HubSukriti Sharma
 
Push Notification with Unity in iOS using App42 Backend
Push Notification with Unity in iOS using App42 BackendPush Notification with Unity in iOS using App42 Backend
Push Notification with Unity in iOS using App42 BackendShepHertz
 
Lime - Push notifications. The big way.
Lime - Push notifications. The big way.Lime - Push notifications. The big way.
Lime - Push notifications. The big way.Petr Dvorak
 
Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014Amazon Web Services
 
Mobile March Windows Azure Notification Hubs
Mobile March Windows Azure Notification HubsMobile March Windows Azure Notification Hubs
Mobile March Windows Azure Notification HubsAdam Grocholski
 
Net campus15 notification-hub
Net campus15 notification-hubNet campus15 notification-hub
Net campus15 notification-hubDotNetCampus
 
AZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBAZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBDotNetCampus
 
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...Amazon Web Services
 
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...Amazon Web Services
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobileFlavius-Radu Demian
 
Push_notifikacije_na_Azureu[1]
Push_notifikacije_na_Azureu[1]Push_notifikacije_na_Azureu[1]
Push_notifikacije_na_Azureu[1]Ivan Marković
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile ServicesMarco Parenzan
 
Un backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectésUn backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectésAmazon Web Services
 
Delivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in MinutesDelivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in MinutesSasha Goldshtein
 
Azure Mobile Services per Windows Phone e smartphones
Azure Mobile Services per Windows Phone e smartphonesAzure Mobile Services per Windows Phone e smartphones
Azure Mobile Services per Windows Phone e smartphonesMarco Parenzan
 
WP7 & Azure
WP7 & AzureWP7 & Azure
WP7 & AzureSam Basu
 
follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications
follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications
follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications QIRIS
 

Similaire à Azure Notification Hub for Multi-Platform Push (20)

Cross Platform Mobile Push Notifications with Azure Notifications Hub
Cross Platform Mobile Push Notifications with Azure Notifications HubCross Platform Mobile Push Notifications with Azure Notifications Hub
Cross Platform Mobile Push Notifications with Azure Notifications Hub
 
Push Notification with Unity in iOS using App42 Backend
Push Notification with Unity in iOS using App42 BackendPush Notification with Unity in iOS using App42 Backend
Push Notification with Unity in iOS using App42 Backend
 
Lime - Push notifications. The big way.
Lime - Push notifications. The big way.Lime - Push notifications. The big way.
Lime - Push notifications. The big way.
 
Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014Engaging Your Audience with Mobile Push Notifications - GDC 2014
Engaging Your Audience with Mobile Push Notifications - GDC 2014
 
Mobile March Windows Azure Notification Hubs
Mobile March Windows Azure Notification HubsMobile March Windows Azure Notification Hubs
Mobile March Windows Azure Notification Hubs
 
Net campus15 notification-hub
Net campus15 notification-hubNet campus15 notification-hub
Net campus15 notification-hub
 
AZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBAZURE NOTIFICATION HUB
AZURE NOTIFICATION HUB
 
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
(MBL301) Beyond the App - Extend Your User Experience with Mobile Push Notifi...
 
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...
Engage your users with Amazon SNS Mobile Push (Now with Broadcast) - Jinesh V...
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobile
 
Push_notifikacije_na_Azureu[1]
Push_notifikacije_na_Azureu[1]Push_notifikacije_na_Azureu[1]
Push_notifikacije_na_Azureu[1]
 
Building mobile apps on aws
Building mobile apps on awsBuilding mobile apps on aws
Building mobile apps on aws
 
Building mobile apps on AWS
Building mobile apps on AWSBuilding mobile apps on AWS
Building mobile apps on AWS
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services
 
Un backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectésUn backend: pour tous vos objets connectés
Un backend: pour tous vos objets connectés
 
Delivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in MinutesDelivering Millions of Push Notifications in Minutes
Delivering Millions of Push Notifications in Minutes
 
Azure Mobile Services per Windows Phone e smartphones
Azure Mobile Services per Windows Phone e smartphonesAzure Mobile Services per Windows Phone e smartphones
Azure Mobile Services per Windows Phone e smartphones
 
PushApps - Smart, Fast and Scalable Push Notifications solution
PushApps - Smart, Fast and Scalable Push Notifications solutionPushApps - Smart, Fast and Scalable Push Notifications solution
PushApps - Smart, Fast and Scalable Push Notifications solution
 
WP7 & Azure
WP7 & AzureWP7 & Azure
WP7 & Azure
 
follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications
follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications
follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications
 

Plus de Dinusha Kumarasiri

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Migrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure MigrateMigrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure MigrateDinusha Kumarasiri
 
Azure Event Hubs for Kafka.pptx
Azure Event Hubs for Kafka.pptxAzure Event Hubs for Kafka.pptx
Azure Event Hubs for Kafka.pptxDinusha Kumarasiri
 
Future of Collaboration with Office 365.pptx
Future of Collaboration with Office 365.pptxFuture of Collaboration with Office 365.pptx
Future of Collaboration with Office 365.pptxDinusha Kumarasiri
 
Application Development with Azure
Application Development with AzureApplication Development with Azure
Application Development with AzureDinusha Kumarasiri
 
Building Data Solutions with Azure
Building Data Solutions with AzureBuilding Data Solutions with Azure
Building Data Solutions with AzureDinusha Kumarasiri
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computingDinusha Kumarasiri
 
Real time communication with Azure Functions with Azure SignalR
Real time communication with Azure Functions with Azure SignalRReal time communication with Azure Functions with Azure SignalR
Real time communication with Azure Functions with Azure SignalRDinusha Kumarasiri
 
Azure active directory and role based access control
Azure active directory and role based access controlAzure active directory and role based access control
Azure active directory and role based access controlDinusha Kumarasiri
 
Azure Identity and access management
Azure   Identity and access managementAzure   Identity and access management
Azure Identity and access managementDinusha Kumarasiri
 
PowerApps with Common Data Services
PowerApps with  Common Data ServicesPowerApps with  Common Data Services
PowerApps with Common Data ServicesDinusha Kumarasiri
 
Automating Business Processes with SharePoint & Flow
Automating Business Processes with SharePoint & FlowAutomating Business Processes with SharePoint & Flow
Automating Business Processes with SharePoint & FlowDinusha Kumarasiri
 
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusReal-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusDinusha Kumarasiri
 

Plus de Dinusha Kumarasiri (16)

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Migrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure MigrateMigrating On-Premises Workloads with Azure Migrate
Migrating On-Premises Workloads with Azure Migrate
 
Azure Event Hubs for Kafka.pptx
Azure Event Hubs for Kafka.pptxAzure Event Hubs for Kafka.pptx
Azure Event Hubs for Kafka.pptx
 
Future of Collaboration with Office 365.pptx
Future of Collaboration with Office 365.pptxFuture of Collaboration with Office 365.pptx
Future of Collaboration with Office 365.pptx
 
Application Development with Azure
Application Development with AzureApplication Development with Azure
Application Development with Azure
 
Building Data Solutions with Azure
Building Data Solutions with AzureBuilding Data Solutions with Azure
Building Data Solutions with Azure
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
 
Real time communication with Azure Functions with Azure SignalR
Real time communication with Azure Functions with Azure SignalRReal time communication with Azure Functions with Azure SignalR
Real time communication with Azure Functions with Azure SignalR
 
Azure active directory and role based access control
Azure active directory and role based access controlAzure active directory and role based access control
Azure active directory and role based access control
 
Azure Identity and access management
Azure   Identity and access managementAzure   Identity and access management
Azure Identity and access management
 
Step into cloud
Step into cloudStep into cloud
Step into cloud
 
PowerApps and Flow
PowerApps and FlowPowerApps and Flow
PowerApps and Flow
 
PowerApps with Common Data Services
PowerApps with  Common Data ServicesPowerApps with  Common Data Services
PowerApps with Common Data Services
 
Automating Business Processes with SharePoint & Flow
Automating Business Processes with SharePoint & FlowAutomating Business Processes with SharePoint & Flow
Automating Business Processes with SharePoint & Flow
 
ALM with SharePoint
ALM with SharePointALM with SharePoint
ALM with SharePoint
 
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusReal-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service Bus
 

Dernier

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Dernier (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Azure Notification Hub for Multi-Platform Push

  • 1. Prabath Fonseka (MVP) CTO Occulem Microsoft Azure Notification Hub Dinusha Kumarasiri (MVP) Software Architect Occulem
  • 2.
  • 3.
  • 4. • Windows WNS • Toast • Tile • Badge • Raw • Windows Phone (MPNS) • Toast • Tile • Raw • Apple • Google • Amazon
  • 5. Reservation changes, Deals, Back-office Travel/Hospitality/Airlines SMS replacement, Deals, Back-office Banking/Insurance Orders, Product UX, Back-office Discrete manufacturing/Auto Prescriptions, Appointments, LOB (maintenance) Healthcare Breaking news News/Media Offers, Orders, Back-office Retail
  • 6. • Client app contacts Platform Notification Service, to retrieve current channel (for example: ChannelURIs, device tokens, registrationIds) • App updates handle in back-end Registration at app launch • App back-end send notification to PNS • PNS pushes the notification to the app on the device Sending Notification • Delete expired handles when PNS rejects themMaintenance Platform Notification Service App back-end
  • 7. For enterprise apps Keep users up to date Not only for alerts ‘push to sync’ notifications For consumer apps Richer than SMS Considerably cheaper
  • 8. • Different communication protocols to PNS • Different presentation formats and capabilities Platform dependency • Provide a way to send a message to a device/channel • Target user or group of interest • Back-end has to maintain an identification repository Routing • Need to store current handles for each device • Broadcast to millions of devices with low latency Scale
  • 9.
  • 10. Message Distribution Push notification to millions of devices across supported platforms with single call Collect information from devices (e.g. location) Message Templating Convert message in to appropriate format • XML or JSON Use for localization Templates can be used to present certain information according to user preferences Device Registration Maintains a registry of devices and users/groups Message Targeting Targets specific users and groups based on tags Allows you to target messages to specific users
  • 11. Bing (news, finance, sports, …) Past event sample – Sochi 2014 Preinstalled on Windows Millions of devices Millions of notifications/day Minutes to delivery Interest groups (countries, disciplines, athletes) Localized notifications Million devices (iOS, Android, WP) Million notifications 10s 3+ <2 100s 3+ 150+
  • 12. Send Notification App back-end sends a message to Notification Hub Notification Hub pushes it to PNS’ Register Client app retrieves its current handle (PNS) Client app registers on Notification Hub (current handle) One-time set up Create a Notification Hub APNsWNS Notification Hub App back-end iOS app Windows app MPNS GCM ADM
  • 13. X-plat: from any back-end to any mobile platform No need to store device information in the app back- end Routing and interest groups Personalization and localization Broadcast at scale, multicast, unicast Telemetry
  • 14. Windows 10 to Send/Receive Notifications Step 1 • Register a new app in the Windows Dev Store and enable Push notification for this app (retrieve MPNS SSID & secret) Step 2 • Create your app in Visual studio and associate it with the store Step 3 • Create an Azure Notification hub service and enter your MPNS SSID & secret Step 4 • In Visual Studio, add WindowsAzure.Messaging.Managed nuget package. Develop your app.
  • 15. 1. Register your device at application startup
  • 16. 2. Send a notification from your back-end:
  • 17. Code Snippets Register Send await hub.RegisterNativeAsync(channel.Uri); [hub registerNativeWithDeviceToken:deviceToken tags:nil completion:^(NSError* error) { … }]; hub.register(regid); var toast = @"<notification payload>"; hub.SendWindowsNativeNotificationAsync(toast); hubService.wns.sendToastText01(null, { text1: 'Hello from Node!' }, function (error) { … } );
  • 18. Payload Snippets <toast><visual> <binding template="ToastText01"> <text id="1">Hello from a .NET App!</text> </binding> </visual></toast> {"aps":{"alert":"Hello from .NET!"}} {"data":{"message":"Hello from .NET!"}}
  • 19. Example : Payload for windows 10 • Adaptive and interactive toast notification • New Features like o Actions o Input (Text, Dropdown) o Sounds
  • 20. Example : Payload for windows 10 <toast launch="1"> <visual> <binding template="ToastGeneric"> <image id="1" src="AssetsSquare30x30Logo.png" alt=""/> <text id="1">Dear Bill Gates Get 40% if you come visit us today ! Best Regards from our team.</text> </binding></visual> <actions> <action activationType="foreground" content="Yes I will !" arguments="details"/> <action activationType="background" content="No thanks." arguments="later"/> </actions> </toast>
  • 21. Tags as interest groups • Client app can register with a set of tags • Tags are simple strings (no pre-provisioning is required) • App back-end can target all clients with the same tag You can use tags also for: • Multiple type of interest groups, for example: • Follow bands: tag “followband:Beatles” • Follow users: tag “followuser:Alice” • Tag devices with a user ID • Tags can be user preferences or system information Notification Hub App back-end Tag:”Beatles”Tag:”Wailers” Tag:”Beatles ”
  • 22. Register await new string[] {"myTag", "myOtherTag"} [hub registerNativeWithDeviceToken:deviceToken tags:@[@"myTag", @"myOtherTag"] completion: ^(NSError* error) { … }]; hub.register(regid, "myTag“, "myOtherTag");
  • 23. Send • “All my group except me” group:id && !user:idSocial • Touchdown event is send to everybody following either team Followteam:A || Followteam:B || followplayer:1 || followplayer:2 … Events • Send notifications at specific times. E.g. Tag with timezone, @12pm in Seattle send: timezone:PST && follows:thaifood Hours • Send a reminder to update to your first Android app version: version:1.0 && platform:AndroidVersions & platforms
  • 24. Templates for multi-platform push Registration • Client apps can register with a platform specific template, for example: • Windows tablet registers with Windows Store ToastText01 template • iPhone with the Apple JSON template: { aps: { alert: “$(message)” } } Send notification • App back-end sends a platform independent message: {message: “Hello!”} Notes • Multiple templates can be specified for each device • Each template can have a different set of tags Notification Hub App back-end <toast> <visual> <binding template="ToastText01"> <text id="1">$(message)</text> </binding> </visual> </toast> { aps: { alert: “$(message)” } } { message: “Hello!” } Hello! Hello!
  • 25. Templates for localization Registration • Client apps can register with personalized templates, for example: • Windows tablet wants to receive news in English • iPhone wants Italian Send notification • App back-end sends a message including both languages: {news_en: “Hello!”, news_it: “Ciao!”} Template Expressions • Templates support a simple expression language: • For example: {‘Elio, ’+$(friend)+’ added you to ’+$(groupName)} Notification Hub App back-end <toast> <visual> <binding template="ToastText01"> <text id="1">$(news_en)</text> </binding> </visual> </toast> { aps: { alert: “$(news_it)” } } { news_en: “Hello!”, news_it: “Ciao!” } Hello! Ciao!
  • 26.
  • 27. Thank You Visit azure.microsoft.com for updated content and news

Notes de l'éditeur

  1. Platform notification service