SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Mastering Azure Monitor
Mastering Azure MonitorMastering Azure Monitor
Mastering Azure MonitorRichard Conway
 
AZ-900 Azure Fundamentals.pdf
AZ-900 Azure Fundamentals.pdfAZ-900 Azure Fundamentals.pdf
AZ-900 Azure Fundamentals.pdfssuser5813861
 
Azure仮想マシンと仮想ネットワーク
Azure仮想マシンと仮想ネットワークAzure仮想マシンと仮想ネットワーク
Azure仮想マシンと仮想ネットワークKuninobu SaSaki
 
Azure App Service
Azure App ServiceAzure App Service
Azure App ServiceBizTalk360
 
Introduction to Microsoft Azure
Introduction to Microsoft AzureIntroduction to Microsoft Azure
Introduction to Microsoft AzureKasun Kodagoda
 
Zero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resourcesZero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resourcesJoonas Westlin
 
Microservices with event source and CQRS
Microservices with event source and CQRSMicroservices with event source and CQRS
Microservices with event source and CQRSMd Ayub Ali Sarker
 
Azure Identity and access management
Azure   Identity and access managementAzure   Identity and access management
Azure Identity and access managementDinusha Kumarasiri
 
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座Minoru Naito
 
Introduction to Azure monitor
Introduction to Azure monitorIntroduction to Azure monitor
Introduction to Azure monitorPraveen Nair
 
Serverless with Google Cloud Functions
Serverless with Google Cloud FunctionsServerless with Google Cloud Functions
Serverless with Google Cloud FunctionsJerry Jalava
 
Introduction to the Microsoft Azure Cloud.pptx
Introduction to the Microsoft Azure Cloud.pptxIntroduction to the Microsoft Azure Cloud.pptx
Introduction to the Microsoft Azure Cloud.pptxEverestMedinilla2
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic AppsBizTalk360
 
Microsoft Azure - Introduction
Microsoft Azure - IntroductionMicrosoft Azure - Introduction
Microsoft Azure - IntroductionPranav Ainavolu
 
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~Trainocate Japan, Ltd.
 
The Azure Group - Azure Network Watcher
The Azure Group - Azure Network WatcherThe Azure Group - Azure Network Watcher
The Azure Group - Azure Network WatcherAdin Ermie
 

Was ist angesagt? (20)

Mastering Azure Monitor
Mastering Azure MonitorMastering Azure Monitor
Mastering Azure Monitor
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
 
Azure Messaging Services #1
Azure Messaging Services #1Azure Messaging Services #1
Azure Messaging Services #1
 
AZ-900 Azure Fundamentals.pdf
AZ-900 Azure Fundamentals.pdfAZ-900 Azure Fundamentals.pdf
AZ-900 Azure Fundamentals.pdf
 
Azure仮想マシンと仮想ネットワーク
Azure仮想マシンと仮想ネットワークAzure仮想マシンと仮想ネットワーク
Azure仮想マシンと仮想ネットワーク
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
Introduction to Microsoft Azure
Introduction to Microsoft AzureIntroduction to Microsoft Azure
Introduction to Microsoft Azure
 
Zero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resourcesZero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resources
 
Microservices with event source and CQRS
Microservices with event source and CQRSMicroservices with event source and CQRS
Microservices with event source and CQRS
 
Azure App Service Deep Dive
Azure App Service Deep DiveAzure App Service Deep Dive
Azure App Service Deep Dive
 
Azure Identity and access management
Azure   Identity and access managementAzure   Identity and access management
Azure Identity and access management
 
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
 
Introduction to Azure monitor
Introduction to Azure monitorIntroduction to Azure monitor
Introduction to Azure monitor
 
Serverless with Google Cloud Functions
Serverless with Google Cloud FunctionsServerless with Google Cloud Functions
Serverless with Google Cloud Functions
 
Introduction to the Microsoft Azure Cloud.pptx
Introduction to the Microsoft Azure Cloud.pptxIntroduction to the Microsoft Azure Cloud.pptx
Introduction to the Microsoft Azure Cloud.pptx
 
Azure Logic Apps
Azure Logic AppsAzure Logic Apps
Azure Logic Apps
 
Microsoft Azure - Introduction
Microsoft Azure - IntroductionMicrosoft Azure - Introduction
Microsoft Azure - Introduction
 
AKS
AKSAKS
AKS
 
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
 
The Azure Group - Azure Network Watcher
The Azure Group - Azure Network WatcherThe Azure Group - Azure Network Watcher
The Azure Group - Azure Network Watcher
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 
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
 

Mehr von Dinusha Kumarasiri (15)

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
 
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
 

Kürzlich hochgeladen

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Kürzlich hochgeladen (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

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

Hinweis der Redaktion

  1. Platform notification service