KARTE for App SDKによる計測を Opt-In(ユーザーから同意を得るまで計測しない)モードで動かす方法を紹介します。なお、アプリ内WebViewのタグも同意取得後の計測に対応する場合はこちらを参照ください。

実装手順

ここではiOSを対象に実装例を記載します。(Android用のAPIの利用方法はこちらを参照ください)

1. SDKをオプトアウト状態で初期化する

アプリ起動直後にSDKをオプトアウト状態で起動します。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
  let configuration = Configuration { (configuration) in
    configuration.isOptOut = true
  }
  KarteApp.setup(appKey: "アプリケーションキー", configuration: configuration)
  ...
}

2. ユーザーに同意を要求して結果に応じた処理を行う

アプリのトップ画面表示等のタイミングでユーザーに「KARTEで計測を行うこと」の同意を要求します。
便宜上標準のUIAlertControllerで説明しますが適宜ご利用中のCMPツールのポップアップに読み替えてください。

override func viewDidAppear(_ animated: Bool) {
    // 許諾要求用UIの構築
    let alertController = UIAlertController(title: "KARTEによる行動データの計測を許可しますか?", message: nil, preferredStyle: .alert)
    let allowAction = UIAlertAction(title: "許可", style: .default) { _ in
        // ユーザーが計測を許可した場合の処理
        KarteApp.optIn()
    }
    let denyAction = UIAlertAction(title: "拒否", style: .default) { _ in
        // ユーザーが計測を拒否した場合の処理
        KarteApp.optOut()
    }
    alertController.addAction(allowAction)
    alertController.addAction(denyAction)

    // 許諾要求用のUIの表示
    self.present(alertController, animated: true, completion: nil)
}

3. ユーザーが同意を取り消した際の処理

計測に同意したユーザーが同意を取り消した場合は KarteApp.optOut() を呼びオプトアウト処理を行います。

注意点