Skip to content

Rich Push Notifications

Istvan Farkas edited this page Jul 16, 2019 · 8 revisions

Contents

What is Rich Notification?

Push notification could show media content and action buttons besides the title and body. Push notifications with these types of contents are called Rich Notifications.

Requirements

  1. Mobile Engage backend is setup for sending push notifications already
  2. application is setup for receiving push notifications already
  3. use Emarsys SDK notification extension as mentioned in documentation

Restrictions and limitations

Note

Only HTTPS image URLs are supported.

Mode Text Image
Notification center collapsed Title is 1 line and it’s truncated if too long. Body is 4 line and it’s truncated if too long. The small image preview is shown on the right side. Title is 1 line and it’s truncated if too long. Body is 4 line and it’s truncated if too long.
Lockscreen collapsed Title is 1 line and it’s truncated if too long. Body is 4 line and it’s truncated if too long. The small image preview is shown on the right side. Title is 1 line and it’s truncated if too long. Body is 4 line and it’s truncated if too long.
Floating collapsed Title is 1 line and it’s truncated if too long. Body is 2 line and it’s truncated if too long. The small image preview is shown on the right side. Title is 1 line and it’s truncated if too long. Body is 2 line and it’s truncated if too long.
Expanded Title is 1 line and it’s truncated if too long. If the body is very long than it will be scrollable. The image is shown at the top. Title is 1 line and it’s truncated if too long. If the body is very long than it will be scrollable.

Setup

  1. Add a new Notification Service Extension target to your project.

  2. Add the EmarsysNotificationService to this target in the Podfile.

    Podfile

    target "Emarsys Sample" do
      pod 'EmarsysSDK'
    end
    
    target "EMSNotificationService" do
      pod 'EmarsysNotificationService'
    end
  3. Install pods with the "pod install" command.

  4. If your selected language is Swift, then create a Bridging-Header for your new target.

    <NameOfYourExtension-Bridging-Header.h>

    #import <EmarsysNotificationService/EMSNotificationService.h>
  5. Open the NotificationService class in the target, and

    • import the EmarsysNotificationService
    • extend the class EMSNotificationService instead of UNNotificationServiceExtension
    import EmarsysNotificationService
    
    class NotificationService: EMSNotificationService {
    }
  6. That's it. If you are stuck anywhere, just check our sample application.

Clone this wiki locally