Campaigns

Set Notification delegate


This method sets an object for simple push campaigns delegate methods.

Declared In:
Headers/SNRSynerise.h

Related To:
NotificationDelegate

Class:
Synerise

Declaration:

static func setNotificationDelegate(_ delegate: NotificationDelegate)

Discussion:
Learn more about the methods and the purpose of this listener here.

Set In-App Message delegate


This method sets an object for in-app message campaigns delegate methods.

Declared In:
Headers/SNRInjector.h

Related To:
InjectorInAppMessageDelegate

Class:
Injector

Declaration:

static func setInAppMessageDelegate(_ delegate: InjectorInAppMessageDelegate)

Discussion:
Learn more about the methods and the purpose of this listener here.

Set Notification categories


This method sets the notification categories (including Synerise categories) that your app supports.

  • @note All notification categories must be supported by the app to function properly.

Declared In:
Headers/SNRSynerise.h

Class:
Synerise

Declaration:

static func setNotificationCategories(_: Set<UNNotificationCategory>) -> Void

Parameters:

Parameter Type Mandatory Default Description
notificationCategories Set yes - A set of objects containing all the actions displayed in the notification interface.

Return Value:
No value is returned.

Register for push notifications


This method passes the Firebase Token to Synerise for notifications.

Note: The API key must have the API_BY_IDENTIFY_DEVICE_CLIENT_UPDATE permission from the Client group.
Note: If the registration fails, the SDK requests a token update again by a listener/delegate method (Android, iOS, React Native, Flutter).

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func registerForPush(registrationToken: String, mobilePushAgreement: Bool, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
registrationToken String yes - Firebase Token
mobilePushAgreement Bool yes - Agreement (consent) for mobile push campaigns
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
	Client.registerForPush(registrationToken: fcmToken, mobilePushAgreement: true, success: { (_) in
	  // success
	}, failure: { (error) in
	  // failure
	})
}

Register for push notifications without agreement


This method passes the Firebase Token to Synerise for notifications and doesn’t update the agreement of the profile.

iOS SDK Android SDK React Native SDK Flutter SDK
Introduced in: 4.14.0 5.7.1 0.15.0 1.1.0
Note: The API key must have the API_BY_IDENTIFY_DEVICE_CLIENT_UPDATE permission from the Client group.
Note: If the registration fails, the SDK requests a token update again by a listener/delegate method (Android, iOS, React Native, Flutter).

Declared In:
Headers/SNRClient.h

Class:
Client

Declaration:

static func registerForPush(registrationToken: String, success: ((Bool) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
registrationToken String yes - Firebase Token
success ((Bool) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Example:

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
	Client.registerForPush(registrationToken: fcmToken, success: { (_) in
	  // success
	}, failure: { (error) in
	  // failure
	})
}

Check if push notification is from Synerise


This method verifies if a notification was sent by Synerise.

Declared In:
Headers/SNRSynerise.h

Class:
Synerise

Declaration:

static func isSyneriseNotification(_ userInfo: [AnyHashable: Any]) -> Bool

Parameters:

Parameter Type Mandatory Default Description
userInfo [AnyHashable: Any] yes - Key-Value map of data

Return Value:
true if the notification is provided by Synerise, otherwise returns false.

Example:

//MARK: - UNUserNotificationCenterDelegate
extension NotificationService: UNUserNotificationCenterDelegate {
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        let userInfo = response.notification.request.content.userInfolet isSyneriseNotification = Synerise.isSyneriseNotification(userInfo)
        if isSyneriseNotification == true {
            // notification is from Synerise
        }
    }
}

Check if push notification is a Simple Push Campaign


This method verifies if a notification’s sender is Synerise and if the notification is a Simple Push campaign

Declared In:
Headers/SNRSynerise.h

Class:
Synerise

Declaration:

static func isSyneriseSimplePush(_ userInfo: [AnyHashable: Any]) -> Bool

Parameters:

Parameter Type Mandatory Default Description
userInfo [AnyHashable: Any] yes - Key-Value map of data

Return Value:
true if the notification is Synerise Simple Push provided by Synerise, otherwise returns false.

Example:

//MARK: - UNUserNotificationCenterDelegateextension NotificationService: UNUserNotificationCenterDelegate {
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        let userInfo = response.notification.request.content.userInfolet isSyneriseNotification = Synerise.isSyneriseNotification(userInfo)
       	if isSyneriseNotification == true {
			// notification is from Synerise			let isSyneriseSimplePush = Synerise.isSyneriseSimplePush(userInfo)
			if isSyneriseSimplePush == true {
				// notification is Synerise Simple Push Campaign
			}
		}
    }
}

Check if push notification is a Banner Campaign


This method verifies if a notification’s sender is Synerise and if the notification is a Banner campaign.

Declared In:
Headers/SNRSynerise.h

Class:
Synerise

Declaration:

static func isSyneriseBanner(_ userInfo: [AnyHashable: Any]) -> Bool

Parameters:

Parameter Type Mandatory Default Description
userInfo [AnyHashable: Any] yes - Key-Value map of data

Return Value:
true if the notification is Synerise Banner provided by Synerise, otherwise returns false.

Example:

//MARK: - UNUserNotificationCenterDelegateextension NotificationService: UNUserNotificationCenterDelegate {
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        let userInfo = response.notification.request.content.userInfolet isSyneriseNotification = Synerise.isSyneriseNotification(userInfo)
       	if isSyneriseNotification == true {
			// notification is from Synerise			let isSyneriseBanner = Synerise.isSyneriseBanner(userInfo)
			if isSyneriseBanner == true {
				// notification is Synerise Banner Campaign
			}
		}
    }
}

Check if push notification is a Silent Command


This method verifies if a notification’s sender is Synerise and if the notification is a Silent Command.

Declared In:
Headers/SNRSynerise.h

Class:
Synerise

Declaration:

static func isSyneriseSilentCommand(_ userInfo: [AnyHashable: Any]) -> Bool

Parameters:

Parameter Type Mandatory Default Description
userInfo [AnyHashable: Any] yes - Key-Value map of data

Return Value:
true if the notification is Synerise Silent Command provided by Synerise, otherwise returns false.

Example:

//MARK: - UNUserNotificationCenterDelegateextension NotificationService: UNUserNotificationCenterDelegate {
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        let userInfo = response.notification.request.content.userInfolet isSyneriseNotification = Synerise.isSyneriseNotification(userInfo)
       	if isSyneriseNotification == true {
			// notification is from Synerise			let isSyneriseSilentCommand = Synerise.isSyneriseSilentCommand(userInfo)
			if isSyneriseSilentCommand == true {
				// notification is Synerise Silent Command
			}
		}
    }
}

Check if push notification is a Silent SDK Command


This method verifies if a notification’s sender is Synerise and if the notification is a Silent SDK Command.

Declared In:
Headers/SNRSynerise.h

Class:
Synerise

Declaration:

static func isSyneriseSilentSDKCommand(_ userInfo: [AnyHashable: Any]) -> Bool

Parameters:

Parameter Type Mandatory Default Description
userInfo [AnyHashable: Any] yes - Key-Value map of data

Return Value:
true if the notification is Synerise Silent SDK Command provided by Synerise, otherwise returns false.

Example:

//MARK: - UNUserNotificationCenterDelegate
extension NotificationService: UNUserNotificationCenterDelegate {
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        let userInfo = response.notification.request.content.userInfo
        let isSyneriseNotification = Synerise.isSyneriseNotification(userInfo)
       	if isSyneriseNotification == true {
			// notification is from Synerise			let isSyneriseSilentSDKCommand = Synerise.isSyneriseSilentSDKCommand(userInfo)
			if isSyneriseSilentSDKCommand == true {
				// notification is Synerise Silent SDK Command
			}
		}
    }
}

Check if push notification is encrypted


This method verifies if a notification is encrypted.

Declared In:
Headers/SNRSynerise.h

Class:
Synerise

Declaration:

static func isNotificationEncrypted(_ userInfo: [AnyHashable: Any]) -> Bool

Parameters:

Parameter Type Mandatory Default Description
userInfo [AnyHashable: Any] yes - Key-Value map of data

Return Value:
true if the notification is encrypted, otherwise returns false.

Example:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
	let isSyneriseNotification = Synerise.isSyneriseNotification(userInfo)
	if isSyneriseNotification == false {
		let isNotificationEncrypted = Synerise.isNotificationEncrypted(userInfo)
		if isNotificationEncrypted == true {
			// Notification is encrypted by Synerise
		}
	}
	//...
}

Decrypt push notification


This method decrypts the notification payload.

Note: If the notification is not encrypted, the method returns the raw payload.
Note: If a notification is not decrypted successfully, the method returns nil.

Declared In:
Headers/SNRSynerise.h

Class:
Synerise

Declaration:

static func decryptNotification(_ userInfo: [AnyHashable: Any]) -> Void

Parameters:

Parameter Type Mandatory Default Description
userInfo [AnyHashable: Any] yes - Key-Value map of data

Return Value:
Notification’s key-value map of data with decrypted content

Example:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
	let isSyneriseNotification = Synerise.isSyneriseNotification(userInfo)
	if isSyneriseNotification == false {
		let isNotificationEncrypted = Synerise.isNotificationEncrypted(userInfo)
		if isNotificationEncrypted == true {
			// Notification is encrypted by Synerise
			if let userDataDecrypted = Synerise.decryptNotification(userInfo) {
				// Notification decryption process was successful
			}
		}
	}
	//...
}

Handle Synerise push notification


This method handles a notification payload and starts activity.

Declared In:
Headers/SNRSynerise.h

Class:
Synerise

Declaration:

static func handleNotification(_ userInfo: [AnyHashable: Any]) -> Void

Parameters:

Parameter Type Mandatory Default Description
userInfo [AnyHashable: Any] yes - Key-Value map of data

Return Value:
No value is returned.

Example:

//MARK: - UNUserNotificationCenterDelegate
extension NotificationService: UNUserNotificationCenterDelegate {
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        let userInfo = response.notification.request.content.userInfo
        let isSyneriseNotification = Synerise.isSyneriseNotification(userInfo)
       	if isSyneriseNotification == true {
			// notification is from Synerise			Synerise.handleNotification(userInfo)
		}
    }
}

Handle Synerise push notification with action


This method handles a notification payload with a user interaction and starts activity.

Declared In:
Headers/SNRSynerise.h

Class:
Synerise

Declaration:

static func handleNotification(_ userInfo: [AnyHashable: Any], actionIdentifier: String?) -> Void

Parameters:

Parameter Type Mandatory Default Description
userInfo [AnyHashable: Any] yes - Key-Value map of data
actionIdentifier String no - Identifier of action received from the notification response

Return Value:
No value is returned.

Example:

//MARK: - UNUserNotificationCenterDelegate
extension NotificationService: UNUserNotificationCenterDelegate {
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        let userInfo = response.notification.request.content.userInfolet actionIdentifier = response.actionIdentifier
        let isSyneriseNotification = Synerise.isSyneriseNotification(userInfo)
       	if isSyneriseNotification == true {
			// notification is from Synerise			Synerise.handleNotification(userInfo, actionIdentifier: actionIdentifier)
		}
    }
}

Get Walkthrough


This method fetches a walkthrough.

Note: The API key must have the CAMPAIGN_BACKEND_CAMPAIGN_READ permission from the Campaign group.

Declared In:
Headers/SNRInjector.h

Class:
Injector

Declaration:

static func getWalkthrough() -> Void

Return Value:
No value is returned.

Show Walkthrough


This method shows a walkthrough when it is loaded.

Declared In:
Headers/SNRInjector.h

Class:
Injector

Declaration:

static func showWalkthrough() -> Void

Return Value:
No value is returned.

Check if Walkthrough is loaded


This method checks if a walkthrough is loaded.

Declared In:
Headers/SNRInjector.h

Class:
Injector

Declaration:

static func isWalkthroughLoaded() -> Bool

Return Value:
true if the walkthrough is loaded, otherwise returns false.

Check if is loaded Walkthrough unique


This method checks if the walkthrough is unique compared to the previous one.

Declared In:
Headers/SNRInjector.h

Class:
Injector

Declaration:

static func isLoadedWalkthroughUnique() -> Bool

Return Value:
true if the walkthrough is unique, otherwise returns false.

Get pushes


This method fetches Push Notifications set for mobile campaigns.

Note: The API key must have the CAMPAIGN_BACKEND_COLLECTOR_READ permission from the Collector group.

Declared In:
Headers/SNRInjector.h

Class:
Injector

Declaration:

static func getPushes(success: (([[AnyHashable: Any]]) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
success (([[AnyHashable: Any]]) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Removed methods

Fetch Banners


This method fetches banners set for mobile campaigns and caches the valid ones.

iOS SDK Android SDK React Native SDK Flutter SDK
Removed in: 4.6.0 4.7.0 0.12.0 -
Note: This method was removed in SDK version 4.6.0.

Declared In:
Headers/SNRInjector.h

Class:
Injector

Declaration:

static func fetchBanners(success: (([[AnyHashable: Any]]) -> Void), failure: ((ApiError) -> Void)) -> Void

Parameters:

Parameter Type Mandatory Default Description
success (([[AnyHashable: Any]]) -> Void) yes - Closure/Block to be executed when the operation is completed successfully
failure ((ApiError) -> Void) yes - Closure/Block to be executed when the operation is completed with an error

Return Value:
No value is returned.

Get Banners


This method provides valid banners directly from SDK cache.

iOS SDK Android SDK React Native SDK Flutter SDK
Removed in: 4.6.0 4.7.0 0.12.0 -
Note: This method was removed in SDK version 4.6.0.

Declared In:
Headers/SNRInjector.h

Class:
Injector

Declaration:

static func getBanners() -> [[AnyHashable: Any]]

Return Value:
List of structures that represents cached Banners.

Show Banner


This method shows a banner immediately.

iOS SDK Android SDK React Native SDK Flutter SDK
Removed in: 4.6.0 4.7.0 0.12.0 -
Note: This method was removed in SDK version 4.6.0.

Declared In:
Headers/SNRInjector.h

Class:
Injector

Declaration:

static func showBanner(_: [AnyHashable: Any], markPresented: Bool) -> Void

Parameters:

Parameter Type Mandatory Default Description
bannerDictionary [AnyHashable: Any] yes - Dictionary representation of a banner
markPresented Bool yes - Sets the banner as presented and this banner instance representation will not appear again

Return Value:
No value is returned.

😕

We are sorry to hear that

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

😉

Awesome!

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

Close modal icon Placeholder alt for modal to satisfy link checker