The focus of this application demonstrates how to decouple any dependencies on Appboy-iOS-SDK
from the rest of your existing production code. One objective was for there to be only one import Appboy-iOS-SDK
in the entire application.
All of the Braze-related dependencies are handled in the AppboyManager.swift file that the existing production code calls into.
In doing do, this project demonstrates the abilities of how custom objects can be represented as Content Cards. This project also demonstrates how to natively customize In-App Message with subclassed ABKInAppMessageViewControllers
.
Objects can adopt the ContentCardable protocol which comes with the ContentCardData
object and an initializer.
Upon receiving an array of ABKContentCard
objects from the SDK, the corresponding ABKContentCard
objects are converted into a Dictionary
of metadata that are used to instantiate your custom objects.
- Content Cards as Supplemental Content to an existing feed
- Content Cards as an Inline Ad Banner
- Content Cards as a Message Center
- Content Cards as an Interact-able View
- Content Cards that can be inserted/removed to/from an existing feed in real-time via silent push (device only)
- Content Cards that can be reordered in an existing feed in real-time via silent push (device only)
Custom view controllers can represent in-app messages by subclassing ABKInAppMessageViewController
. Due to the individusalitic nature of in-app messages, we can mix and match displaying custom in-app messages and default in-app messages.
- Slideup In-App Message with a modified resting point
- Modal In-App Message as a dynamic list
- Full In-App Message as a push primer with list of push tags