Enabling Engage notifications in macOS

Contents

Enabling Engage notifications in macOS

Overview

In macOS, applications that want to inform users about a particular issue send a notification to the standard notification system. In turn, the notification system displays a popup on the screen of the device that transmits the appropriate message to the end user.

Starting from macOS 10.15 Catalina, the notification system requires users to explicitly indicate whether a particular application can send notifications or not. Therefore, each time a new application that relies on standard notifications is installed or accessed for the first time, the system prompts the user to choose between allowing or disallowing the delivery of notifications for that application. In a migration scenario, right after upgrading to macOS 10.15 Catalina, the system also presents the same choice to the user for each and every notifying application previously installed.

Applies to platforms: PlatformMac.png

Campaign notifications in macOS

When Engage is enabled in your setup, the Mac Collector runs a component called nxtray that is responsible for sending campaign notifications to the end users. Because nxtray communicates through the standard notification system of macOS, users are presented with the choice of allowing nxtray notifications or not when the Mac Collector is installed, as previously explained for any other application.

NxtrayAllow.png

If a user does not allow nxtray to send notifications:

  • The user will not receive campaigns whose first step is sending a notification.
  • The user will still receive those campaigns that skip the notification step (option Skip notification set at the time of creating the campaign).

Preventing users from blocking campaign notifications

To prevent users from disallowing campaign notifications, create a Configuration Profile that enables nxtray notifications by default. In that way, users will no longer be required to state their notification preferences for nxtray.

For example, create a Configuration Profile with this script or with the Profile Creator, which results in the XML (.mobileconfig file) of the following example, that you can deploy later with an enterprise management tool such as Jamf:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>NotificationSettings</key>
            <array>
                <dict>
                    <key>AlertType</key>
                    <integer>2</integer>
                    <key>BadgesEnabled</key>
                    <true/>
                    <key>BundleIdentifier</key>
                    <string>com.nexthink.nxtray</string>
                    <key>CriticalAlertEnabled</key>
                    <false/>
                    <key>NotificationsEnabled</key>
                    <true/>
                    <key>ShowInLockScreen</key>
                    <true/>
                    <key>ShowInNotificationCenter</key>
                    <true/>
                    <key>SoundsEnabled</key>
                    <true/>
                </dict>
            </array>
            <key>PayloadDescription</key>
            <string>Configures Notification settings for macOS apps</string>
            <key>PayloadDisplayName</key>
            <string>Notifications</string>
            <key>PayloadIdentifier</key>
            <string>com.github.erikberglund.ProfileCreator.
                    FFA88447-E38D-48B7-A710-3E60478922FF.
                    com.apple.notificationsettings.
                    1D6660CE-784F-4623-BFB4-4DCC4EB9520B</string>
            <key>PayloadOrganization</key>
            <string></string>
            <key>PayloadType</key>
            <string>com.apple.notificationsettings</string>
            <key>PayloadUUID</key>
            <string>1D6660CE-784F-4623-BFB4-4DCC4EB9520B</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
        </dict>
    </array>
    <key>PayloadDescription</key>
    <string>EnableNxTrayNotifications - Alert</string>
    <key>PayloadDisplayName</key>
    <string>EnableNxTrayNotifications</string>
    <key>PayloadIdentifier</key>
    <string>com.github.erikberglund.ProfileCreator.
            FFA88447-E38D-48B7-A710-3E60478922FF</string>
    <key>PayloadOrganization</key>
    <string>Nexthink</string>
    <key>PayloadScope</key>
    <string>System</string>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>FFA88447-E38D-48B7-A710-3E60478922FF</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
</dict>
</plist>