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()
を呼びオプトアウト処理を行います。
注意点
- 本ドキュメントはKARTE for App SDKから送信するイベントのみが対象となります。アプリ内WebViewの計測タグも対象にする場合はこちらを参照ください
- 本ドキュメント通りに実装を行った場合は自動イベント
native_app_install
が発生しません。初回起動をセグメントで判定したい場合はnative_app_open
の送信回数が1回
などで代替ください native_app_install
が発生しないため KARTE for Appご利用時に設定されるデフォルトのチャートについて で作成される「インストール後の経過日数」のチャートが利用できなくなりますplugin_native_app_identify
イベントの発生が次回の送信タイミングに遅延されます。詳細はFCMの登録トークンや、アプリPUSH通知許可設定がKARTEに送信されるタイミングを参照ください