Getting rich with push notifications

By Rory Prior, July 6, 2020

iOS Developer at Pocketworks, app development specialists.

Advances In Mobile Tech 


As we've talked about before, push notifications are a powerful tool for driving engagement with your app; whether that’s notifying the user that new content is available, alerting them that the status of something they care about has changed or just to remind them to complete some task.

We are all familiar with how they look – but did you know they can provide a rich interactive experience and let the user complete tasks without even having to open your app?

Simple push messages

We're all used to seeing push notifications like these. A basic notification just contains text and for a lot of situations, that’s all you really need.

Spice things up with images or video

Sometimes, as they say, a picture is worth a thousand words – and no one wants to read a thousand-word push notification! For example, a delivery company could include a photograph of a package at its destination as proof of delivery, or the digital signature of the recipient. A taxi company that used unbranded vehicles could include a photo of the car that’s waiting for you to make it easier to spot on a busy street. An order update from a shopping app might contain a photo of the product that’s been purchased or use a graphic to convey the current stage of the fulfillment process. A breaking news story notification could include a relevant photo.

If an image still isn’t rich enough for you, it’s also possible to attach animated gifs, videos and sounds*. A compelling use case here might be a smart doorbell sending you a quick video clip when someone rings it to show you who’s at the door. A messaging app might let a user attach an animated gif sticker to a message to show more personality. 

* There are fairly tight limits on file sizes so you won’t be delivering more than a few minutes of video or audio but that should be fine in most cases.

A note to developers: This type of rich notification is handled by an extension within your app called a Notification Service Extension. This is its own build target in your project, but it can share resources with your main app. The purpose of the extension is to download the image (or other media) or retrieve it from your app’s bundle, and then attach it to the displayed notification. The actual push notification that the device receives is still just a snippet of JSON, it doesn’t have any embedded rich content of its own.

Going fully interactive

Taking things further, rich notifications can also be configured to show a completely custom user interface (UI) to your users, allowing you to completely control their appearance once a user views them. It’s possible to combine your own interface with the standard system notification one or hide that so only yours is visible. This opens up opportunities for branding, even if you only need a textual notification for your use case – now it can be in your app’s font and colour scheme. It’s worth noting that this custom appearance won’t be visible on a device’s lock screen, it only appears when the user swipes into the notification, so ideally you want to combine it with some useful interactivity for it to be worthwhile.

See the video of it in use.

See the video of it in use.

A note to developers: This type of rich notification is implemented as a Notification Content Extension inside your app. The interface is defined in a storyboard as will be familiar to any iOS developer and allows quick prototyping. You want to try and keep the extension fairly lightweight so the user isn’t left waiting around for it to load. Its main job should be to read whatever custom values you’ve added to your push notification’s JSON payload and present them to the user either directly or use them to lookup data from your main app.

Allowing people to perform tasks directly from the notification

As of iOS 12, Apple now allows you to include up to 4 actions with your notification that can trigger various functions within your app. These appear as a stack of buttons directly below the notification’s content once the user has opted to view its content. Tapping a button can either bring your app to the foreground and then perform some specific action or it can trigger something to occur in the background. You can also specify whether an action requires the device to be unlocked or not before it can be performed.

Why aren't more people doing this?

This is a good question! The truth is that for many common scenarios a text notification is sufficient, at least given the costs associated with building a more complex rich one. CTOs will need to weigh up the pros and cons when considering the different implementations needed across Android and iOS and how fallbacks will be handled in-app. As iOS 12 is the minimum target needed to enable interactivity, that has likely also slowed adoption given where many businesses will be in their OS support cycles.

Another major issue is discoverability. Most users will tap a notification and be whisked away to the associated app without ever seeing the rich content if they aren’t aware of how to access it. The only saving grace here is the notification will show a thumbnail for any media you’ve attached. So to make the most of this feature expect to have to put some effort into educating your users about how it works. Hopefully, at some point Apple will improve this situation by letting us specify whether a tap on a notification defaults to opening our app or viewing its rich content.

Does this mean that this is something you should sit out for now? That will depend on your team’s workload and priorities of course, however, it is likely there will be some early mover advantage for companies that are ahead of the game for when this feature becomes more mainstream. For the relatively small investment of time it takes to put together a rich notification, now is a good time to be thinking about how you can leverage them to make your app stand out, drive engagement and increase user satisfaction. Getting your team to think about how they can decouple certain flows from the rest of your app will also be a benefit down the line with other upcoming technologies like App Clips. App Clips are a feature of iOS 14, where a small slice of an app is served up in response to scanning a barcode or NFC tag to complete a specific task without requiring the user to manually install the app in the first place.

Closing thoughts

Adding rich notifications is a great way to improve your app’s microinteractions and a reminder that those interactions can extend beyond the confines of your app itself and into the wider system. Through adding personalisation and additional context you’re scoring an easy quality of life improvement for your users by saving them from round trips to your app, or through shortening those interactions by optimising the flow to specific actions. The only downside is that many users won’t know this feature exists, so expect to have to explain it either in-app or in your marketing materials.

We should always remember it’s important to treat the user with respect and to only include information that is valuable to them because notifications can easily become intrusive and annoying. The last thing any business wants is to either lose their users through annoying them or risk provoking the ire of the platform’s gatekeeper.

 We can see a continuing trend from Apple and Google where each year new ways to interact with our apps are being created and promoted. Interactive notifications, home screen widgets, smartwatch complications and so on all provide extra real estate for your app on user’s devices – use that to your advantage. 

 Speak to the experts here at Pocketworks on how we can build apps that leverage rich notifications to put you at the forefront of these exciting new developments.

Chat with Rory

If you'd like to discuss this topic or anything else, drop me a line. The best way is to contact Pocketworks and arrange a chat over a coffee, Zoom or phone.


About Pocketworks

Pocketworks believes that software should lighten the load and make life easier for people. We're a digital product studio. We can help your create human-centered apps and websites that grow your customer base and increase efficiency.
Learn more.