Push to ALL the iPhones with Azure Chris Risner Senior Technical Microsoft Azure.

Slides:



Advertisements
Similar presentations
Cross Platform Push with Azure
Advertisements

Staying in Sync with Cloud 2 Device Messaging. About Me Chris Risner Twitter: chrisrisner.
Attie Naude 14 May 2013 Windows Azure Mobile Services.
Students: Ilya Paskhover, Alex Tarasiuk Supervisors: Simon Zeltser, Idan Sheinberg.
Introduction to the Cloud OS Windows Azure Overview Visual Studio Tooling for Windows Azure Scenarios: Dev/Test Web Mobile Hybrid.
Azure Websites Marc Gagne Startup Lead & Sr. Technical Evangelist – Microsoft -
Building Connected iOS Apps with Mobile Services Chris Risner Senior Technical Microsoft Azure.
| Basel Discovering Windows Azure Mobile Services and Media Services Ken Casada
Kirill Gavrylyuk | Principal Program Manager Lead, Azure Mobile Miranda Luna | Product Manager, Azure Mobile.
Khalid Siddiqui Senior Architect, Mobility Center of Excellence Microsoft Corporation SESSION CODE: WPH311.
Cross Platform Mobile Backend with Mobile Services James
A Tutorial on Windows Phone 7 and Windows Azure COSC7388 Spring 2011 Huy Nguyen.
.NET backend Heterogeneous data Hybrid Connections Offline sync Xamarin AAD Authentication Visual Studio API Management Notification Hubs Sencha.
Building Android Apps with Mobile Services Speaker Name Speaker Title Speaker Company Twitter:
Microsoft Azure Introduction ISYS 512. Microsoft Azure Microsoft Azure is a cloud.
Building Android Apps with Windows Azure Mobile Services Chris Risner Technical Evangelist Microsoft
Kirill Principal Lead Program Manager High Scale Cross Platform Push Notifications.
Building Connected Android Apps with Azure Chris Risner Technical Evangelist
Building iOS Apps with Windows Azure Mobile Services Chris Risner Technical Evangelist Microsoft
Reservation changes, Deals, Back-office Travel/Hospitality/Airlines SMS replacement, Deals, Back-office Banking/Insurance Orders, Product UX,
Cloud Powered Android Apps in Minutes Chris Risner Senior Technical Microsoft Azure.
David Burela.
BIT 285: ( Web) Application Programming Lecture 15: Tuesday, February 24, 2015 Microsoft Azure Instructor: Craig Duckett.
6 Platform Notification Service App back-end.
ROLE 1 ROLE 2 Q/T Durable 1:1 – 1:n – Filtered Sessions w/State De-duplication Transactions Batching Scheduling & TTL Auto-forwarding Dead-lettering.
Building Connected iOS Apps With Mobile Services Chris Risner Senior Technical Microsoft Azure.
How* to Win the #BestMicrosoftHack Shahed Chowdhuri Sr. Technical WakeUpAndCode.com *Hint: Use the Cloud.
I am familiar with Mobile Services Node.js Express ASP.NET Web API SQL Table Storage Blob Storage WNS APNS GCM Mongo DB Notification Hubs Source.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
Building Mobile Phone Applications With Windows Azure Nick HarrisWindows Azure Technical Evangelist Microsoft Blog:
3 TIME IT CAPACITY Actual Load Allocated IT-capacities Too Much Power Not Enough Power Load Forecast.
FCM Workflow using GCM.
WINDOWS AZURE MOBILE SERVICES AN INTRODUCTION Bret Stateham Technical Evangelist
Kevin Francis Azure Media Services Architecture Deep Dive CLD31 2.
Mobile + Cloud: Building Mobile Applications with Windows Azure Wade Wegner Blog:
Building Windows Phone Apps with Mobile Services Speaker Name Speaker Title Speaker Company Twitter:
குறுச்செயலிகள் உறுவாக்க தொழில்நுட்பம் தி. ந. ச. வெங்கடரங்க ன் Blog: venkatarangan.com உத்தமம் செல்பேசிக் கணிமை பிப்ரவரி
Introduction to Azure API Management Microsoft Azure.
Mobile Services Recap Windows Azure Mobile Services.
Windows Azure and iOS Chris Risner Windows Azure Technical Evangelist Microsoft
Building Windows Store Apps with Windows Azure Mobile Services Nikola Metulev Windows Platform Technical Evangelist.
Cloud Computing Cosa, come e perché? Giancarlo Lelli Microsoft MVP – Avanade
Call-Center Agents, Customers Communicate More Conveniently with SMS Chat App COMPANY PROFILE: EARLY CONNECT Early Connect is a regional SaaS ISV founded.
Let’s chat about Azure…. Michelle Olson Azure Partnerships BDM US Channel Development C :
Building Azure Mobile Apps
Mobile Application Solution
Azure Architect – IaaS or PaaS?
Secure Mobile Apps in the Enterprise
Microsoft Ignite /25/ :22 PM
Using Azure Functions to Build Nanoservices
Modern application lifecycle with DevOps
Mobile Application Solution
Building Cross-Platform Apps with Windows Azure Mobile Services
Hybrid Apps: Azure Mobile Engagement and the App Economy
Building great Metro style apps for mobile broadband devices
Building Windows Phone 7 Applications with the Windows Azure Platform
12/7/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Modern cloud PaaS for mobile apps, web sites, API's and business logic apps
Integrating Hybrid Apps with Line of Business Apps
TechEd /15/2019 8:08 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
1/16/2019 8:14 PM SAC-863T Delivering notifications with the Windows Push Notification Service and Windows Azure Darren Louie, Nick Harris Program Manager,
TechEd /18/ :01 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Technical Capabilities
Building device & cloud apps
Consumer Mobile Apps that Scale
Notification Hubs Deep Dive
Developing Mobile Solutions with Windows Azure Part II
Sessions about to start – Get your rig on!
Erik Porter Program Manager ASP.NET Microsoft Corporation
Building Windows Store Apps with Windows Azure Mobile Services
Presentation transcript:

Push to ALL the iPhones with Azure Chris Risner Senior Technical Microsoft Azure

About me 2 Technical Chrisrisner.com Live in Washington Grew up in Michigan Mobile dev for 5+ years

Agenda 3 Push Notifications Microsoft Azure Azure Notification Hubs Tags Templates Questions

Push Notifications are BIG

s Game updates Flight reminder Rental car reminder Appointments Video chat requests Data usage alerts Bills due Push Notifications I Receive

Challenges of push notifications Platform dependency Different communication protocols to PNS’ (e.g. HTTP vs TCP, xml payload vs json payload) Different presentation formats and capabilities (tiles vs toasts vs badges) Routing PNS’ provide a way to send a message to a device/channel Usually notifications are targeted at users or interest groups (e.g. employees assigned to a customer account) App back-end has to maintain a registry associating device handles to interest groups/users Scale App back-end has to store current handles for each device  high storage and VM costs Broadcast to millions of devices with low latency requires parallelization (DB ad VM)

Push Notification Lifecycle 1.App registers with provider 2.App gets token 3.App sends token to backend 4.Push requested 5.Backend delivers push to provider 6.Provider pushes to device 7 Platform Notification Service App back-end

Microsoft Azure Backend-as-a-Service BaaS Platform-as-a-Service PaaS Infrastructure-as-a-Service IaaS Software-as-a-Service SaaS

Notification Hubs Cross-platform Push Notifications Highly scalable Managed

Client SDKs for Android – GCM and ADM iOS – APNS Windows Phone – MPNS Windows Store – WNS Capable of pushing to specific platform or to all at once Server SDKs for REST API.NET Node.JS Java Cross-Platform Push

Part of Azure Service Bus Three levels of scale Free (1 million) Basic Standard Millions of push notifications in minutes Highly Scalable

Notification Hubs deals with Storing device registration information Signing push requests and sending to PNS Dealing with invalid push ID registrations Handling templates and tags You just need to Configure your hub and app Register with the PNS Pass along the push ID Managed

1.App registers with provider 2.App gets token 3.App sends token to Hub 4.Push requested 5.Hub delivers push to provider 6.Provider pushes to device Hub handles expired tokens Using Notification Hubs APNs WNS Notification Hub App back-end iOS app Windows app MPNSGCMADM

Demo: Hubs Creating a Hub Configuring a Hub Register and Push

Tags

Clients register with set of tags Tags are strings tied to the Push ID Requests to push to a Tag will push to connected Push IDs “Interest based push” Tags

Tags: Example Notification Hub App back-end Tag:”Tablet” Tag:”Phone” Tag:”Tablet”

Conference name Username Zip code Sports team Band name Stock ticker Other Tag Usages

Demo: Tags Registering with Tags Pushing with Tags

Logic based tag pushed Social: “All of this group but me” Group:id && !user:id Version and platform Version:1.0 && platform:iOS Events: “Anyone interested in the game” FollowTeam:SeaHawks || FollowTeam:Broncos || EventInterest:SuperBowl Tag Expressions

Geo Push

1.Client requests location 2.Client uses reverse geocoding service to get zip (etc) 3.Client registers with Hubs using zip as a tag 4.Server pushes to zip code 5.All clients in that zip code receive notification Making GeoPush Work

Demo: Geo Push

Templates

Clients can specify templates when registering Templates specify format of payload when specific push is sent If “Message” push is sent, send it in this format { alert : “$info” } Enables app backend to send platform independent messages i.e. push to all the devices with this tag Multiple templates per device Different tags per template Templates

Demo: Templates Registering with Templates Push to all the devices!

Client vs Server Registration

Client app talks directly with Notification Hub Sends over the wire Push ID (Channel URI, Registration ID, Token) Tags Templates Notification Hub Listen Connection String Not completely secure Registering from the Client

Authenticate the request before registering Is the user who they say they are? Can still specify tags and templates Great for setting up registrations from a web app Good for when an app update requires a user’s registrations being updated i.e. manager adding an employee to a group Registering from the Server

Notification Hub App back-end {id} upsert({id}, channel, tags) createId()

Demo: Server Registration

Push-to-Sync

Different support on different platforms Windows / Windows Phone – Only Lock Screen Apps iOS – only iOS 7 and up Android / Kindle Useful in scenarios where push isn’t satisfactory Too much data to fit in payload Don’t want to send secure information through PNS Push-to-Sync

Notification Hubs Cross-platform Push Notifications Highly scalable Managed

Resources Get a FREE Microsoft Azure Trial Account: Check out Notification Hubs SDK Source Code on GitHub Contact Details 35 Microsoft Azure

Thanks! Questions?

Azure footprint 16 regions worldwide in 2014

Fortune 500 using Azure >57 % > 250 k Active websites Greater than 1,000,00 0 SQL Databases in Azure >20 TRILLION storage objects >300 MILLION AD users >13 BILLION authentication/wk >2>2 MILLION requests/sec >1>1 MILLION Developers registered with Visual Studio Online

Get started Visit azure.microsoft.com