InAppMessaging

@objc(KRTInAppMessaging)
public class InAppMessaging : NSObject
extension InAppMessaging: Library
extension InAppMessaging: ActionModule, UserModule, TrackModule

アプリ内メッセージの管理を行うクラスです。

  • 共有インスタンスを返します。

    Declaration

    Swift

    @objc
    public static let shared: InAppMessaging
  • アプリ内メッセージで発生するイベント等を委譲するためのデリゲートインスタンスを取得・設定します。

    Declaration

    Swift

    @objc
    public weak var delegate: InAppMessagingDelegate?
  • アプリ内メッセージ表示用のWebViewが利用するプロセスプールを保持します。

    なお以下のケースを除いてプロセスプールの設定を行う必要はありません。
    アプリ側で独自に用意したWebViewに紐付けられたセッションクッキーを WKHTTPCookieStore から取得するケース。

    WKWebsiteDataStore の現在の実装では、複数あるプロセスプールからひとつのプロセスプールを選択して、そこからクッキー(セッションクッキーも含む)を得る仕様です。
    セッションクッキーはプロセスプールに紐付く仕様であるため、複数のプロセスプールが存在する状況下においてはセッションクッキーが取れない場合があります。
    これを回避するためには、アプリ側のWebViewとアプリ内メッセージ表示用のWebViewでプロセスプールを共有する必要があります。

    Declaration

    Swift

    @objc
    public var processPool: WKProcessPool?
  • アプリ内メッセージの表示有無を返します。

    アプリ内メッセージが表示中の場合は true を返し、表示されていない場合は false を返します。

    Declaration

    Swift

    @objc
    public var isPresenting: Bool { get }
  • ローダークラスが Objective-Cランライムに追加されたタイミングで呼び出されるメソッドです。 本メソッドが呼び出されたタイミングで、KarteApp クラスに本クラスをライブラリとして登録します。

    Declaration

    Swift

    @objc
    public class func _krt_load()
  • 指定したViewに関連するシーンにおけるアプリ内メッセージの表示有無を返します。

    iOS12以下では、isPresenting と同様の挙動になります。

    Declaration

    Swift

    @objc
    public func isPresenting(view: UIView) -> Bool

    Parameters

    view

    シーンに関連するView

    Return Value

    アプリ内メッセージが表示中の場合は true を返し、表示されていない場合は false を返します。

  • 現在表示中の全てのアプリ内メッセージを非表示にします。

    Declaration

    Swift

    @objc
    public func dismiss()
  • 指定したViewに関連するシーンに表示されているアプリ内メッセージを非表示にします。

    iOS12以下では、 dismiss() と同様の挙動になります。

    Declaration

    Swift

    @objc
    public func dismiss(view: UIView)

    Parameters

    view

    シーンに関連するView

  • アプリ内メッセージの表示を抑制します。

    なお既に表示されているアプリ内メッセージは、メソッドの呼び出しと同時に非表示となります。

    Declaration

    Swift

    @objc
    public func suppress()
  • 指定したViewに関連するシーンにおけるアプリ内メッセージの表示を抑制します。

    なお既に表示されているアプリ内メッセージは、メソッドの呼び出しと同時に非表示となります。

    Declaration

    Swift

    @objc
    public func suppress(view: UIView)

    Parameters

    view

    シーンに関連するView

  • アプリ内メッセージの表示抑制状態を解除します。

    Declaration

    Swift

    @objc
    public func unsuppress()
  • 指定したViewに関連するシーンにおけるアプリ内メッセージの表示抑制状態を解除します。

    Declaration

    Swift

    @objc
    public func unsuppress(view: UIView)

    Parameters

    view

    シーンに関連するView

  • Declaration

    Swift

    public static var name: String { get }
  • Declaration

    Swift

    public static var version: String { get }
  • Declaration

    Swift

    public static var isPublic: Bool { get }
  • Declaration

    Swift

    public static func configure(app: KarteApp)
  • Declaration

    Swift

    public static func unconfigure(app: KarteApp)
  • Declaration

    Swift

    public var name: String { get }
  • Declaration

    Swift

    public var queue: DispatchQueue? { get }
  • Declaration

    Swift

    public func receive(response: [String : JSONValue], request: TrackRequest)
  • Declaration

    Swift

    public func reset(sceneId: SceneId)
  • Declaration

    Swift

    public func resetAll()
  • Declaration

    Swift

    public func renew(visitorId current: String, previous: String)
  • Declaration

    Swift

    public func prepare(event: Event, sceneId: SceneId) -> Event
  • Declaration

    Swift

    public func intercept(urlRequest: URLRequest) throws -> URLRequest
  • Declaration

    Swift

    public func provideEventRejectionFilterRules() -> [TrackEventRejectionFilterRule]