add `InAppMessageHandler<T: Decodable>` to handle `appData` easily
fumito-ito opened this issue · comments
Fumito Ito commented
proposal
public protocol InAppMessageHandler<T: Decodable>: MessageDisplayable & MessageEventDetectable {
var displayDelegate: InAppMessagingDisplayDelegate? { get }
init?(message messageForDisplay: InAppMessagingDisplayMessage, displayDelegate: InAppMessagingDisplayDelegate, appData: T)
static func canHandleMessage(message messageForDisplay: InAppMessagingDisplayMessage, displayDelegate: InAppMessagingDisplayDelegate, appData: T) -> Bool
}
enum SwiftyInAppMessagingError: Error {
case failedToDecodeAppData(message: InAppMessagingDisplayMessage)
}