diff --git a/build.gradle.kts b/build.gradle.kts index 742c377..a16cbfc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,8 +13,8 @@ buildscript { mavenCentral() } dependencies { - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21") - classpath("com.android.tools.build:gradle:7.0.4") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20") + classpath("com.android.tools.build:gradle:7.1.3") classpath("org.jlleitschuh.gradle.ktlint:org.jlleitschuh.gradle.ktlint.gradle.plugin:11.0.0") classpath("io.gitlab.arturbosch.detekt:io.gitlab.arturbosch.detekt.gradle.plugin:1.22.0") } diff --git a/library/build.gradle.kts b/library/build.gradle.kts index 3e9b2cd..70fbcea 100644 --- a/library/build.gradle.kts +++ b/library/build.gradle.kts @@ -96,7 +96,7 @@ android { buildToolsVersion = "30.0.3" sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") defaultConfig { - minSdk = 23 + minSdk = 24 targetSdk = 31 } compileOptions { diff --git a/library/src/androidMain/kotlin/com/myunidays/segmenkt/Analytics.kt b/library/src/androidMain/kotlin/com/myunidays/segmenkt/Analytics.kt index 3f5f86f..4cdc1a7 100644 --- a/library/src/androidMain/kotlin/com/myunidays/segmenkt/Analytics.kt +++ b/library/src/androidMain/kotlin/com/myunidays/segmenkt/Analytics.kt @@ -101,6 +101,11 @@ actual class Analytics internal constructor(val android: com.segment.analytics.A } ) + actual fun optOut(status: Boolean) = + android.optOut( + status + ) + actual fun reset() { android.reset() } diff --git a/library/src/commonMain/kotlin/com/myunidays/segmenkt/Analytics.kt b/library/src/commonMain/kotlin/com/myunidays/segmenkt/Analytics.kt index c33ee12..01c22a9 100644 --- a/library/src/commonMain/kotlin/com/myunidays/segmenkt/Analytics.kt +++ b/library/src/commonMain/kotlin/com/myunidays/segmenkt/Analytics.kt @@ -12,6 +12,7 @@ expect class Analytics { fun alias(userId: String, options: Map? = null) fun screen(screenTitle: String, properties: Map? = null, options: Map? = null) fun group(groupId: String, traits: Map? = null, options: Map? = null) + fun optOut(status: Boolean) fun reset() } diff --git a/library/src/iosMain/kotlin/com/myunidays/segmenkt/Analytics.kt b/library/src/iosMain/kotlin/com/myunidays/segmenkt/Analytics.kt index 03b2035..9cb718e 100644 --- a/library/src/iosMain/kotlin/com/myunidays/segmenkt/Analytics.kt +++ b/library/src/iosMain/kotlin/com/myunidays/segmenkt/Analytics.kt @@ -31,6 +31,11 @@ actual class Analytics internal constructor(val ios: cocoapods.Analytics.SEGAnal actual fun group(groupId: String, traits: Map?, options: Map?) = ios.group(groupId, traits, options?.let { mapOf("context" to it) }) + actual fun optOut(status: Boolean) = if (status) { + ios.enable() + } else { + ios.disable() + } actual fun reset() { ios.reset() } diff --git a/library/src/jsMain/kotlin/com/myunidays/segmenkt/Analytics.kt b/library/src/jsMain/kotlin/com/myunidays/segmenkt/Analytics.kt index e260a0a..c22d406 100644 --- a/library/src/jsMain/kotlin/com/myunidays/segmenkt/Analytics.kt +++ b/library/src/jsMain/kotlin/com/myunidays/segmenkt/Analytics.kt @@ -28,6 +28,8 @@ actual class Analytics { actual fun group(groupId: String, traits: Map?, options: Map?) { } + actual fun optOut(status: Boolean) { + } actual fun reset() { } }