Starting from Pushwoosh SDK version 6.7.5, you have the ability to send Modal Rich Media.
We are introducing new Modal Rich Media, which can be customized. The new Modal Rich Media do not completely block the screen and can be positioned in different parts of the screen (top, bottom, and center).
For more information on Rich Media pages, please refer to our guide.
Configuration
By default, the Pushwoosh iOS SDK supports displaying legacy rich media.
To enable the display of Modal Rich Media, set the parameter Pushwoosh_RICH_MEDIA_STYLE in your info.plist and assign it the value MODAL_RICH_MEDIA.
By default, modal rich media will be displayed in the center of the screen with a bottom-to-top appearance animation.
To configure the display of modal rich media (screen position, show animation, close animation), you need to use the method presented below.
// Modal Rich Media ConfigurationPWModalWindowConfiguration.shared().configureModalWindow(with: .PWModalWindowPositionCenter, present: .PWAnimationPresentFromBottom, dismiss: .PWAnimationDismissUp)
Modal Rich Media can be positioned in three locations: top, bottom, or center.
typedef NS_ENUM(NSInteger, ModalWindowPosition) {
PWModalWindowPositionTop, // Toast appears at the top of the screen
PWModalWindowPositionCenter, // Toast appears at the center of the screen
PWModalWindowPositionBottom, // Toast appears at the bottom of the screen
/**
* Default position is the center of the screen.
*/
PWModalWindowPositionDefault
};
The example below shows a modal rich media displayed at the top of the screen.
The example below demonstrates displaying modal rich media at the bottom of the screen with a left-to-right show animation and a rightward close animation:
Additional parameters for displaying Modal Rich Media include options like adding haptic feedback of type vibration, enabling swipe gestures, and setting an automatic close timer after a specified duration.
// Haptic Feedback TypePWModalWindowConfiguration.shared().setPresent(.PWHapticFeedbackLight)/**enum HapticFeedbackTypetypedef NS_ENUM(NSInteger, HapticFeedbackType) { PWHapticFeedbackLight, // Light vibration feedback PWHapticFeedbackMedium, // Medium vibration feedback PWHapticFeedbackHard, // Strong vibration feedback /** * Vibration is off by default. */ PWHapticFeedbackNone};*/// Swipe directionslet directions: [NSNumber] = [NSNumber(value: DismissSwipeDirection.PWSwipeDismissDown.rawValue),NSNumber(value: DismissSwipeDirection.PWSwipeDismissUp.rawValue)]PWModalWindowConfiguration.shared().setDismissSwipeDirections(directions)/**typedef NS_ENUM(NSInteger, DismissSwipeDirection) { PWSwipeDismissDown, PWSwipeDismissUp, PWSwipeDismissLeft, PWSwipeDismissRight, PWSwipeDismissNone};*/// Close Modal Rich Media after N secondsPWModalWindowConfiguration.shared().closeModalWindow(after:3)