KarteApp

@objc(KRTApp)
public class KarteApp : NSObject

KARTE SDKのエントリポイントであると共に、SDKの構成および依存ライブラリ等の管理を行うクラスです。

SDKを利用するには、KarteApp.setup(appKey:) を呼び出し初期化を行う必要があります。
初期化が行われていない状態では、イベントのトラッキングを始め、SDKの機能が利用できません。
なおアプリ内メッセージ等のサブモジュールについても同様です。

SDKの設定については、初期化時に一部変更することが可能です。 設定を変更して初期化を行う場合は、KarteApp.setup(appKey:configuration:)を呼び出してください。

  • KarteApp.setup(appKey:configuration:) 呼び出し時に指定したアプリケーションキーを返します。

    初期化が行われていない場合は空文字列を返します。

    Declaration

    Swift

    @objc
    class var appKey: String { get }
  • ユーザーを識別するためのID(ビジターID)を返します。

    初期化が行われていない場合は空文字列を返します。

    Declaration

    Swift

    @objc
    class var visitorId: String { get }
  • KarteApp.setup(appKey:configuration:) 呼び出し時に指定した設定情報を返します。

    初期化が行われていない場合はデフォルトの設定情報を返します。

    Declaration

    Swift

    @objc
    class var configuration: Configuration { get }
  • オプトアウトの設定有無を返します。

    オプトアウトされている場合は true を返し、されていない場合は false を返します。
    また初期化が行われていない場合は false を返します。

    Declaration

    Swift

    @objc
    class var isOptOut: Bool { get }
  • SDKの初期化を行います。

    初期化オプションが未指定の場合は、デフォルト設定で初期化が行われます。
    初期化オプションのデフォルト値については Configuration クラスを参照してください。

    なお初期化後に初期化オプションを変更した場合、その変更はSDKには反映されません。

    また既に初期化されている状態で呼び出した場合は何もしません。

    Declaration

    Swift

    @objc
    class func setup(appKey: String, configuration: Configuration = Configuration.defaultConfiguration)

    Parameters

    appKey

    アプリケーションキー

    configuration

    設定

  • SDKの初期化を行います。

    初期化オプションが未指定の場合は、プロジェクト直下の Karte-Info.plist をロードして初期化が行われます。
    初期化オプションのデフォルト値については Configuration.default を参照してください。

    なお初期化後に初期化オプションを変更した場合、その変更はSDKには反映されません。

    また既に初期化されている状態で呼び出した場合は何もしません。

    Declaration

    Swift

    @objc
    class func setup(configuration: Configuration? = Resolver.optional(Configuration.self, name: "configuration"))

    Parameters

    configuration

    設定

  • ログレベルを設定します。

    なおデフォルトのログレベルは LogLevel.error です。

    Declaration

    Swift

    @objc
    class func setLogLevel(_ level: LogLevel)

    Parameters

    level

    ログレベル

  • ログ出力有無を設定します。

    ログを出力する場合は true を指定し、出力しない場合は false を指定します。
    デフォルトは true です。

    Declaration

    Swift

    @available(*, deprecated, message: "setLogEnabled method is deprecated. It will be removed in the future. Use setLogLevel instead.")
    @objc
    class func setLogEnabled(_ isEnabled: Bool)

    Parameters

    isEnabled

    ログ出力有無

  • オプトインします。

    なお初期化が行われていない状態で呼び出した場合はオプトインは行われません。

    Declaration

    Swift

    @objc
    class func optIn()
  • オプトアウトします。

    なお初期化が行われていない状態で呼び出した場合はオプトアウトは行われません。

    Declaration

    Swift

    @objc
    class func optOut()
  • 一時的(アプリの次回起動時まで)にオプトアウトします。

    なお初期化が行われていない状態で呼び出した場合はオプトアウトは行われません。

    Declaration

    Swift

    @objc
    class func optOutTemporarily()
  • ビジターIDを再生成します。

    ビジターIDの再生成は、現在のユーザーとは異なるユーザーとして計測したい場合などに行います。
    例えば、アプリケーションでログアウトした際などがこれに該当します。

    なお初期化が行われていない状態で呼び出した場合は再生成は行われません。

    Declaration

    Swift

    @objc
    class func renewVisitorId()
  • AppTrackingTransparencyの許諾状況をKARTE側に送信します。

    att_status_updatedというイベント経由で送信許諾状況を送信しています。

    Declaration

    Swift

    @available(iOS 14, *)
    @objc
    class func sendATTStatus(attStatus: ATTrackingManager.AuthorizationStatus)

    Parameters

    attStatus

    ATTrackingManager.AuthorizationStatus

  • KARTE SDKの機能に関連するカスタムURLスキームを処理します。

    なお初期化が行われていない状態で呼び出した場合はカスタムURLスキームの処理は行われません。

    Declaration

    Swift

    @discardableResult
    @objc(application:openURL:)
    class func application(_ app: UIApplication, open url: URL) -> Bool

    Parameters

    app

    UIApplication クラスインスタンス

    url

    カスタムURLスキーム

    Return Value

    カスタムURLスキームの処理結果を返します。SDKで処理が可能な場合は true を返し、処理できない場合はfalse を返します。

  • 登録されているモジュールの配列を返します。

    Declaration

    Swift

    var modules: [Module] { get }
  • ライブラリを登録します。

    なお登録処理は KarteApp.setup(appKey:) を呼び出す前に行う必要があります。

    Declaration

    Swift

    class func register(library: Library.Type)

    Parameters

    library

    Library プロトコルに適合したクラスのタイプ

  • ライブラリの登録を解除します。

    Declaration

    Swift

    class func unregister(library: Library.Type)

    Parameters

    library

    Library プロトコルに適合したクラスのタイプ

  • モジュールを登録します。

    Declaration

    Swift

    func register(module: Module)

    Parameters

    module

    Module プロトコルに適合したインスタンス

  • モジュールの登録を解除します。

    Declaration

    Swift

    func unregister(module: Module)

    Parameters

    module

    Module プロトコルに適合したインスタンス

  • ライブラリの設定を取得します。

    • 該当クラスが存在しない場合、nil を返します。
    • 該当クラスが複数存在する場合、最初の設定のみを返します。

    Declaration

    Swift

    func libraryConfiguration<T>() -> T? where T : LibraryConfiguration
  • KarteApp.setup(appKey:configuration:) 呼び出し時に指定したアプリケーションキーを返します。

    初期化が行われていない場合は空文字列を返します。

    Declaration

    Swift

    var appKey: String { get }
  • ビジターIDを返します。

    初期化が行われていない場合は空文字列を返します。

    Declaration

    Swift

    var visitorId: String { get }
  • KarteApp.setup(appKey:configuration:) 呼び出し時に指定した初期化オプションを返します。

    Declaration

    Swift

    var configuration: Configuration { get }
  • オプトアウトの設定有無を返します。

    オプトアウトされている場合は true を返し、されていない場合は false を返します。
    また初期化が行われていない場合は false を返します。

    Declaration

    Swift

    var isOptOut: Bool { get }
  • アプリケーション情報を返します。

    なお初期化が行われていない場合は nil を返します。

    Declaration

    Swift

    var appInfo: AppInfo? { get }
  • PvManagementService インスタンスを返します。

    なお初期化が行われていない場合は nil を返します。

    Declaration

    Swift

    var pvService: PvService? { get }