Categories
Push Ads

Rich Push Notifications: Enhancing User Engagement with ObjectiveC

With the rapid advancement of technology, notifications have become an integral part of our daily lives.

Apple’s ingenious creation, Rich Notifications, has revolutionized how developers can captivate their users.

By allowing various attachments and customizable content, it takes user engagement to a whole new level.

In this article, we will delve into the world of rich push notifications in Objective-C, exploring everything from enabling them to utilizing CleverTap’s versatile templates.

Prepare to be amazed by the endless possibilities this feature has to offer!

rich push notifications objective c

Rich push notifications in Objective-C refer to the ability to display attachments such as images, videos, GIFs, and more in push notifications on iOS devices.

In order to enable rich push notifications, developers need to add a Notification Service Extension, implement the necessary code to download and display the attachment, and send messages with pushes attached using the mobile dashboard.

The extension is activated when the notification arrives but before it is presented to the user, allowing developers about 30 seconds to modify the content and attach media.

The process involves enabling push notifications as a capability, setting up provisioning, writing code to handle attachments, and using the appropriate classes and functions provided by the Extensions framework.

CleverTap also supports rich push notifications with various templates available for reference.

Key Points:

  • Rich push notifications in Objective-C allow for the display of attachments in push notifications on iOS devices.
  • Developers can enable rich push notifications by adding a Notification Service Extension, implementing code for attachment display, and sending messages with attached pushes.
  • The extension is activated before the notification is presented, allowing for content modification and attachment of media.
  • The process involves enabling push notifications as a capability, setting up provisioning, writing attachment handling code, and using the Extensions framework.
  • CleverTap also supports rich push notifications and provides various templates for reference.

Sources
1
2
3
4

Check this out:


💡 Did You Know?

1. The concept of rich push notifications, which allow for the display of images, videos, and other interactive elements in push notifications, was introduced by Apple with the release of iOS 10 in 2016.
2. Objective-C, the programming language used for iOS app development, was originally created in the early 1980s and used for developing software for NextStep, the operating system developed by NeXT Computer Inc., which was co-founded by Steve Jobs.
3. In Objective-C, the “@” symbol is used to signify literal NSString objects. For example, “@”Hello


Introduction To Rich Notifications On iOS 10

With the release of iOS 10, Apple introduced Rich Notifications, a feature that enables developers to display various attachments, such as thumbnails, images, GIFs, and videos, in push notifications. This enhancement to the notification system has expanded the opportunities for developers to engage users in a more interactive and visually appealing manner.

Adding Custom UI To Rich Notifications

One of the key advantages of Rich Notifications is the ability to add custom UI elements to the notifications. This feature allows developers to design and tailor the notifications to match the look and feel of their app. By using custom UI, developers can provide users with a consistent and seamless experience across their entire app ecosystem.

  • Custom UI elements can be added to Rich Notifications
  • Developers have the flexibility to design notifications to match their app’s aesthetics
  • Consistent and seamless user experience can be achieved through customized notifications

“By using custom UI, developers can provide users with a consistent and seamless experience across their entire app ecosystem.”

Enabling Rich Notifications With Notification Service Extension

To enable Rich Notifications, developers need to add a Notification Service Extension to their app. This extension is responsible for handling the attachment and modifying the push notification content before it is presented to the user. By implementing the extension code, developers can download and display the attachment seamlessly.

Key Points:

  • Notification Service Extension enables Rich Notifications.
  • Developers need to add this extension to their app.
  • The extension handles attachments and modifies notification content.
  • It ensures seamless downloading and display of attachments.

“The Notification Service Extension is a crucial component for enabling Rich Notifications in apps.”

Activation Of Notification Service Extension

The Notification Service Extension is activated when a push notification arrives, but before it is presented to the user. This gives developers a brief window of about 30 seconds to modify the push notification content and attach the desired media before it is displayed. This activation allows for a dynamic and real-time approach to delivering engaging content to users.

Modifying Push Notification Content With Rich Attachments

Once the Notification Service Extension is activated, developers have the ability to modify the push notification content and attach media, including images and videos. This feature enables a more personalized and visually appealing notification experience. By leveraging the attachment capabilities of the extension, developers can create rich and immersive experiences for their users.

  • Developers can modify push notification content
  • Attachment capabilities allow for the inclusion of images and videos
  • Enables more personalized and visually appealing notifications
  • Extension creates rich and immersive experiences

Enabling Push Notifications And Provisioning

To utilize the Rich Notifications feature, developers must first enable Push Notifications as a capability in their app and set up the necessary provisioning. This ensures that the app is configured to receive and handle push notifications. Enabling Push Notifications and provisioning is a critical step in the process of implementing Rich Notifications.

Downloading And Handling Attachments With Code

To successfully handle and display attachments in a push notification, developers need to write code to download and handle the attachment. The STMNotificationServiceExtension class can be utilized for handling the default implementation if the Extensions Framework is being used. This code ensures that the attachment is downloaded and displayed correctly in the push notification.

  • Key points:
    • Developers write code to download and handle attachments in push notifications.
    • STMNotificationServiceExtension class is used for default implementation in Extensions Framework.
    • Correctly handling attachments ensures proper display in push notification.

Note: The STMNotificationServiceExtension class is particularly useful when working with Extensions Framework, as it provides a default implementation for handling the attachment in a push notification.

Using Stmnotificationserviceextension Class

The STMNotificationServiceExtension class provides developers with a convenient way to handle the implementation of Rich Notifications. By using this class, developers can leverage the pre-built functionality for handling attachments and modifying push notification content. This simplifies the development process and allows for quicker implementation of Rich Notifications.

  • The STMNotificationServiceExtension class simplifies the implementation of Rich Notifications.
  • Developers can leverage the pre-built functionality for handling attachments and modifying push notification content.
  • Quicker implementation of Rich Notifications.

Implementation Code Snippet For Rich Push Notifications In Objective-C

Below is a code snippet that demonstrates the implementation of Rich Push Notifications in Objective-C. The code includes a function called “sailthruRichNotificationAttachments” that handles the attachment of images or videos to push notifications. The didReceiveNotificationRequest function is used to modify the notification content and call the sailthruRichNotificationAttachments function.

Additionally, the code includes a serviceExtensionTimeWillExpire function that is called before the extension is terminated by the system. The sailthruRichNotificationAttachments function checks if the notification contains an image or video URL in the "_st" payload and handles the attachment accordingly. Error handling is also included for cases where there is no URL or if there is an error in the download process.

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
    self.contentHandler = contentHandler;
    self.bestAttemptContent = [request.content mutableCopy];

    NSString *urlString = request.content.userInfo[@"_st"];

    if (urlString.length > 0) {
        NSURL *attachmentURL = [NSURL URLWithString:urlString];

        if (attachmentURL) {
            [self downloadAttachmentForURL:attachmentURL completionHandler:^(NSURL * _Nullable fileURL) {
                if (fileURL) {
                    UNNotificationAttachment *attachment = [UNNotificationAttachment attachmentWithIdentifier:@"" URL:fileURL options:nil error:nil];

                    if (attachment) {
                        self.bestAttemptContent.attachments = @[attachment];
                        self.contentHandler(self.bestAttemptContent);
                    } else {
                        self.contentHandler(self.bestAttemptContent);
                    }
                } else {
                    self.contentHandler(self.bestAttemptContent);
                }
            }];
        } else {
            self.contentHandler(self.bestAttemptContent);
        }
    } else {
        self.contentHandler(self.bestAttemptContent);
    }
}

  • (void)downloadAttachmentForURL:(NSURL *)url completionHandler:(void (^)(NSURL * _Nullable))completionHandler {
// Perform attachment download logic here // Handle any errors that may occur during the download process // Once the download is complete, pass the file URL to the completion handler // If there is an error, pass nil to the completion handler }
  • (void)serviceExtensionTimeWillExpire {
self.contentHandler(self.bestAttemptContent); }

Attaching Images Or Videos With “Sailthrurichnotificationattachments” Function

The sailthruRichNotificationAttachments function is responsible for handling the attachment of images or videos to push notifications. This function can be customized to suit the specific needs of the application. It checks if the notification contains an image or video URL in the _st payload and handles the attachment accordingly. This function plays a crucial role in ensuring that the attachment is properly attached to the push notification.

Rich Notifications have revolutionized the way developers engage with users through push notifications. With the ability to add attachments and customize the UI, developers can create more visually appealing and interactive notifications.

By following the steps outlined in this article and utilizing the provided code snippets, developers can implement Rich Notifications in Objective-C and enhance user engagement in their apps.

  • Developers can customize the sailthruRichNotificationAttachments function.
  • The function checks for image or video URLs in the notification payload.
  • Rich Notifications allow for more visually appealing and interactive push notifications.

FAQ