fumito-ito / SwiftyInAppMessaging

The easiest way to use your customized view and InAppMessaging default view.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

add `InAppMessageHandler<T: Decodable>` to handle `appData` easily

fumito-ito opened this issue · comments

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)
}