For consumer apps For enterprise apps Not only

  • Slides: 41
Download presentation

For consumer apps For enterprise apps Not only for alerts

For consumer apps For enterprise apps Not only for alerts

Breaking news News/Media Reservation changes, Deals, Back-office Travel/Hospitality/Airlines SMS replacement, Deals, Back-office Banking/Insurance Orders,

Breaking news News/Media 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 Offers, Orders, Back-office Retail

Registration at app launch 1. 2. Sending Notification Platform Notification Service 1. 2. Maintenance

Registration at app launch 1. 2. Sending Notification Platform Notification Service 1. 2. Maintenance 1. App back-end

Platform dependency § § Routing § § § Scale § §

Platform dependency § § Routing § § § Scale § §

One-time set up 1. Register i. OS app Windows app 1. 2. Send Notification

One-time set up 1. Register i. OS app Windows app 1. 2. Send Notification MPNS APNs WNS GCM App back-end 1. 2. ADM Notification Hub

X-plat: from any back-end to any mobile platform § § No need to store

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 §

3+ 10 s 100 s <2 3+ 150+

3+ 10 s 100 s <2 3+ 150+

await var toast = @“<notification payload>"; hub. Send. Windows. Native. Notification. Async(toast); [hub register.

await var toast = @“<notification payload>"; hub. Send. Windows. Native. Notification. Async(toast); [hub register. Native. With. Device. Token: device. Token tags: nil completion: ^(NSError* error) { … }]; hub. Service. wns. send. Toast. Text 01(null, { text 1: 'Hello from Node!' }, function (error) { … } ); hub. register(regid);

Tags as interest groups 1. 2. 3. App back-end Tag: ”Beatles” You can use

Tags as interest groups 1. 2. 3. App back-end Tag: ”Beatles” You can use tags also for • • • Notification Hub • Tag: ”Wailers” Tag: ”Beatles”

await new string[] {"my. Tag", "my. Other. Tag"} [hub register. Native. With. Device. Token:

await new string[] {"my. Tag", "my. Other. Tag"} [hub register. Native. With. Device. Token: device. Token tags: @[@"my. Tag", @"my. Other. Tag"] completion: ^(NSError* error) { … }]; hub. register(regid, "my. Tag“, "my. Other. Tag");

Social “All my group except me” group: id && !user: id Events Touchdown event

Social “All my group except me” group: id && !user: id Events Touchdown event is send to everybody following either team Followteam: A || Followteam: B || followplayer: 1 || followplayer: 2 … Hours Send notifications at specific times. E. g. Tag with timezone, @12 pm in Seattle send: timezone: PST && follows: thaifood Versions & platforms Send a reminder to update to your first Android app version: 1. 0 && platform: Android

Identify your device 1. 2. Register create. Id() upsert({id}, channel, tags) App back-end 1.

Identify your device 1. 2. Register create. Id() upsert({id}, channel, tags) App back-end 1. a) b) 2. 3. Notes 1. 2. {id} Notification Hub

Use a tag to identify user 1. 2. Back-end updates tags 1. 2. Note

Use a tag to identify user 1. 2. Back-end updates tags 1. 2. Note 1. 2. get. By. Tag(userid) update(tags) App back-end Notification Hub

Registration <toast> <visual> <binding template ="Toast. Text 01"> <text id="1">$(message)</text> </binding> </visual> </toast> §

Registration <toast> <visual> <binding template ="Toast. Text 01"> <text id="1">$(message)</text> </binding> </visual> </toast> § • • Hello! { message: “Hello!” “$(message)”}} } Send notification § Notes § § Notification Hub App back-end Hello! { aps: { alert: “$(message)” } }

<toast> <visual> <binding template ="Toast. Text 01"> <text id="1">$(news_en)</text> </binding> </visual> </toast> Registration §

<toast> <visual> <binding template ="Toast. Text 01"> <text id="1">$(news_en)</text> </binding> </visual> </toast> Registration § • • Send notification { Hello! news_en: “Hello!”, news_it: “Ciao!” } § Template Expressions § § Notification Hub App back-end Ciao! { aps: { alert: “$(news_it)” } }

Updates app state Push to sync 1. Example: music app 1. 2. 3. 4.

Updates app state Push to sync 1. Example: music app 1. 2. 3. 4. Platform-dependent Notification Hub App back-end Do wn lo Add new song ad ne w so n g

Deliver content directly from BE 1. 2. Push to sync (no sensitive info) Retrieve

Deliver content directly from BE 1. 2. Push to sync (no sensitive info) Retrieve the content securely from BE Note Secure push has to use a long lived auth token on app Notification Hub App back-end Do wn lo ad m ed ia /m sg

Send a targeted coupon Loc: SF && Food 1. 2. Push UX & feedback

Send a targeted coupon Loc: SF && Food 1. 2. Push UX & feedback Update tags Re p or tp 1. 2. us h us ag Retarget 1. 2. 3. Notification Hub Loc: SF && Food App back-end && !tapped CRM/DMP system e

 • • Notification Hubs service page Get started (Windows/Phone, i. OS, Android, Kindle)

• • Notification Hubs service page Get started (Windows/Phone, i. OS, Android, Kindle) MSDN documentation APIs references and download REST surface documentation Debugging guide • Pricing • • Cloud Cover 116 – X-plat notifications Cloud Cover 118 – Geo-location Azure Friday – Broadcasting Azure Friday – Tags Azure Friday – Templates Azure Friday – User-specific notifications