Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Push Notification

SMG Internal Presentation

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

Push Notification

  1. 1. 06.12.2016 Recep Düzdemir | Software Infrastructure Gizem Akman | Software Infrastructure Push Notification
  2. 2. Push Notification  Push notification is the delivery of information from a software application to a computing device without a specific request from the client.  Message may contain notification, data or both.
  3. 3. Push Notification Lifecycle Register Store Registration Token Send Message
  4. 4. Message Parameters
  5. 5. Message Parameters (Cont’d)
  6. 6. Message Payload
  7. 7. Notification Parameters
  8. 8. Firebase Cloud Messaging • HTTP API • XMPP API
  9. 9. FCM HTTP API • @ https://gcm-http.googleapis.com/gcm/send • syncronous • supports multiple recipients and topics • no delivery receipt • unidirectional
  10. 10. FCM HTTP Response Codes
  11. 11. FCM HTTP Errors
  12. 12. FCM HTTP Errors (Cont’d)
  13. 13. FCM HTTP Errors (Cont’d)
  14. 14. FCM XMPP API • @ fcm-xmpp.googleapis.com:5235 • asyncronous • supports single recipient only • bidirectional • returns delivery receipt
  15. 15. FCM XMPP Errors
  16. 16. FCM XMPP Errors (Cont’d)
  17. 17. FCM XMPP Errors (Cont’d)
  18. 18. Apple Push Notification Service (APNs) • Legacy API ( TCP) • HTTP/2 API
  19. 19. APNs Binary API • @gateway.push.apple.com:2195 • supports up to 2KB payload • separate feedback service @ feedback.push.apple.com:2196 • returns no response in case of success • returns an error response in case of failure and immediately closes the connection
  20. 20. APNs Binary API Response Format
  21. 21. APNs HTTP/2 API • @api.push.apple.com:443 • supports up to 4KB payload
  22. 22. APNs HTTP/2 Response Format
  23. 23. APNs HTTP/2 Error Reasons
  24. 24. APNs HTTP/2 Error Reasons (Cont’d)
  25. 25. iOS vs Android
  26. 26. Q&A
  27. 27. IOS 10 RICH NOTIFICATIONS  In iOS 10 notifications are becoming a key part of Apple's mobile operating system, and one of the primary way that users interact with apps.
  28. 28. IOS 10 RICH NOTIFICATIONS  As part of the new UserNotifications framework, Apple has given us the ability to make notifications that contain images, sound, video, or even custom content generated on the device.  Much of this capability comes via three new features showcased at Worldwide Developers Conference(WWDC): media attachments, notification service extensions, and notification content extensions.  Including media in your push notification can increase the open rate.
  29. 29. What’s new in iOS 10 Notifications?  Notifications can now contain images and gifs
  30. 30. What’s new in iOS 10 Notifications?  It is now possible to add images and gifs to notifications.  These images or gifs can be loaded either from the resources of your app, or from a remote URL.  iOS will first download the image or gif and then display the notification.
  31. 31. What’s new in iOS 10 Notifications?  Notifications can contain videos  Notifications can contain videos up to 50 megabytes in size.
  32. 32. What’s new in iOS 10 Notifications?  Notifications can be interactive  Notifications can now contain buttons. Users can use action buttons to interact with notifications.  As with earlier versions of iOS, buttons can also be used to open your app and take specific actions. But unlike earlier versions, actions buttons are much more easily seen since they don't require a left- swipe on the notification.
  33. 33. Why Media Attachments Are Awesome  Media attachments open up new opportunities for user engagement with our apps.  Before, we were limited to just a couple lines of text; we had to rely on the user opening the app to do anything more.  This is a win-win for app makers and users. App makers get to deliver more compelling content in their notifications, and users get more choice in their level of notification interaction.
  34. 34. How They Work  Media attachments work slightly different between local notifications and remote notifications.  In the case of a local notification, its media attachment must contain the URL of a file on disk at the time that an app creates the notification.  The file is copied when the notification is scheduled, and that file is delivered along with the notification. No extra effort is required.
  35. 35. How They Work  For a remote notification, a remote notification service delivers information about the media attachment as part of the APNS notification payload.  This includes the attachment URL, which, importantly, does not have to be the URL of a file already on the device.  However, iOS 10 will not automatically deliver an attachment with a notification if that attachment is not stored locally.  Apple’s solution to this problem is something called the Notification Service Extension.
  36. 36. Notification Service Extension  Before IOS 10
  37. 37. Notification Service Extension  IOS 10
  38. 38. Notification Service Extension  Service extension lets you customize the content of a remote notification before it is delivered to the user.  You could use the extension to decrypt an encrypted data block or to download images associated with the notification.
  39. 39. Notification Service Extension  At 4KB in size, a remote notification’s payload is too small to deliver a media attachment file itself.  Instead, we define an attachment URL in the remote notification payload.  Once a device receives the remote notification payload for our app, the app’s service extension gets the chance to download the file at the URL and attach it to the notification before the device displays the notification to the user.
  40. 40. Notification Service Extension  How to add service extension to your application?
  41. 41. Notification Service Extension  Add a new target to your project
  42. 42. Notification Service Extension When you created the Service Extension, Xcode created the NotificationService.swift file and an Info.plist file.
  43. 43. Notification Service Extension  We use the first function to download the content from the URL and add it to the notification. We should also handle network errors here.  We use the second function to handle the case where the first function runs out of time (as determined by iOS).
  44. 44. Notification Service Extension How does iOS know which notifications to intercept?
  45. 45. Notification Service Extension  Notification Payload  The mutable-content fields tells iOS that the notification has content that can be changed by a service extension before delivery
  46. 46.  What if we don’t just want to serve up simple media files?  What if we want to generate custom content?
  47. 47. Notification Content Extension  Notification Content Extension let you provide custom UI for your notifications.  A Notification Content Extension gives us a chance to process a notification and supply new content to the notification before it is displayed to the user.
  48. 48. Notification Content Extension Most important things:  Custom views  Support for remote and local notifications  No interaction with views (possible only with notification actions)  Respond to notification actions
  49. 49. Notification Content Extension  How to add content extension to your application?
  50. 50. Notification Content Extension  Add a new target to your project
  51. 51. Notification Content Extension MainInterface.storyboard : we will desing our notification UI in this. NotificationViewController.swift : a UIViewController subclass that will enable us to update our custom interface. When you created the Content Extension, Xcode created the NotificationViewController.swift file, a MainInterface.storyboard file and an Info.plist file.
  52. 52. Notification Content Extension  How does the notification content extension work?
  53. 53. Notification Content Extension  Set an identifier for UNNotificationExtensionCategory key in extension's Info.plist:
  54. 54. Notification Content Extension  Remote Notifications  Local Notifications { aps: { category: ‘myNotificationCategory' } }
  55. 55. Notification Content Extension
  56. 56. Notification Content Extension  We may also implement optional functions that handle action button presses or display media playback controls.  How to add a custom action?
  57. 57. Notification Actions  You can add up to four actions and each action is encompassed in a ‘category’.
  58. 58.  Demo
  59. 59. Android N Notifications  Notifications are become an important part of every Android application and it is an intelligent way to re-engage users with the installed apps.  Effectively used notifications will help application to get returning users.
  60. 60. Android N Notifications  To provide a better user experience, notifications on Android N have received a visual refresh, improved support for custom views, and expanded functionality in the forms of Direct Reply, a new MessagingStyle, and bundled notifications.
  61. 61. Android N Notifications  The first and most obvious change is that the default look and feel of notifications has significantly changed.  Many of the fields that were spread around the notifications have been collapsed into a new header row with your app’s icon and name anchoring the notification.  This change ensured that the title, text, and large icon are given the most amount of space possible and, as a result, notifications are generally slightly larger now and easier to read.
  62. 62. Android N Notifications
  63. 63. Android N Notifications  Notification actions have also received a redesign and are now in a visually separate bar below the notification.
  64. 64. Direct Reply  While notification actions have already been able to launch an Activity or do background work with a Service or BroadcastReceiver, Direct Reply allows you to build an action that directly receives text input inline with the notification actions.
  65. 65. Direct Reply
  66. 66. Android N Notifications  If you’re building a messaging app and expect back and forth conversations, you should use MessagingStyle and append the additional message to it.
  67. 67. Messaging Style
  68. 68. Messaging Style
  69. 69. Bundled Notifications  Bundled notifications that appear grouped when a group ID has been set for each notification.
  70. 70. Bundled Notifications  We can also display actions for notifications that are bundled.
  71. 71. Custom View Notifications  We can now use custom views for notifications These can be for both collapsed and expanded notification layouts.
  72. 72.  Demo
  73. 73. Q&A

    Be the first to comment

    Login to see the comments

  • IBTSMG

    Dec. 7, 2016
  • SahilSaini30

    Feb. 9, 2017

SMG Internal Presentation

Views

Total views

1,041

On Slideshare

0

From embeds

0

Number of embeds

1

Actions

Downloads

43

Shares

0

Comments

0

Likes

2

×