diff --git a/crashlytics/src/androidMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt b/crashlytics/src/androidMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt index bad5a10..fb5bfe6 100644 --- a/crashlytics/src/androidMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt +++ b/crashlytics/src/androidMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt @@ -32,4 +32,8 @@ actual class CrashlyticsCallsActual : CrashlyticsCalls { actual override fun setUserId(identifier: String) { FirebaseCrashlytics.getInstance().setUserId(identifier) } + + actual override fun setCollectionEnabled(enabled: Boolean) { + FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(enabled) + } } diff --git a/crashlytics/src/appleMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt b/crashlytics/src/appleMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt index caf6ed5..e4a61d4 100644 --- a/crashlytics/src/appleMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt +++ b/crashlytics/src/appleMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt @@ -42,4 +42,8 @@ actual class CrashlyticsCallsActual : CrashlyticsCalls { actual override fun setUserId(identifier: String) { FIRCrashlyticsSetUserID(identifier) } + + actual override fun setCollectionEnabled(enabled: Boolean) { + FIRCrashlyticsSetCollectionEnabled(enabled) + } } diff --git a/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCalls.kt b/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCalls.kt index 99760ce..cd41b9c 100644 --- a/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCalls.kt +++ b/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCalls.kt @@ -6,6 +6,7 @@ interface CrashlyticsCalls { fun sendFatalException(throwable: Throwable) fun setCustomValue(key: String, value: Any) fun setUserId(identifier: String) + fun setCollectionEnabled(enabled: Boolean) } expect class CrashlyticsCallsActual() : CrashlyticsCalls { @@ -14,4 +15,5 @@ expect class CrashlyticsCallsActual() : CrashlyticsCalls { override fun sendFatalException(throwable: Throwable) override fun setCustomValue(key: String, value: Any) override fun setUserId(identifier: String) + override fun setCollectionEnabled(enabled: Boolean) } diff --git a/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsKotlin.kt b/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsKotlin.kt index f2f3e79..d69d71e 100644 --- a/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsKotlin.kt +++ b/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsKotlin.kt @@ -24,6 +24,10 @@ object CrashlyticsKotlin { fun setUserId(identifier: String) { implementation.setUserId(identifier) } + + fun setCollectionEnabled(enabled: Boolean) { + implementation.setCollectionEnabled(enabled) + } } /** @@ -49,4 +53,7 @@ internal object EmptyCalls : CrashlyticsCalls { override fun setUserId(identifier: String) { } + + override fun setCollectionEnabled(enabled: Boolean) { + } } diff --git a/crashlytics/src/nativeInterop/cinterop/crashlytics.def b/crashlytics/src/nativeInterop/cinterop/crashlytics.def index 9cb9892..309b9ee 100644 --- a/crashlytics/src/nativeInterop/cinterop/crashlytics.def +++ b/crashlytics/src/nativeInterop/cinterop/crashlytics.def @@ -136,6 +136,13 @@ void FIRCrashlyticsSetUserID(NSString* _Nonnull identifier) { setUserID(crashlytics, selector, identifier); } +void FIRCrashlyticsSetCollectionEnabled(BOOL enabled) { + id crashlytics = FIRCrashlyticsInstance(); + SEL selector = NSSelectorFromString(@"setCrashlyticsCollectionEnabled:"); + void (*setCrashlyticsCollectionEnabled)(id, SEL, BOOL) = FIRMethodForSelector(crashlytics, selector); + setCrashlyticsCollectionEnabled(crashlytics, selector, enabled); +} + void FIRCrashlyticsSetCustomValue(NSString* _Nonnull key, id __nullable value) { id crashlytics = FIRCrashlyticsInstance(); SEL selector = NSSelectorFromString(@"setCustomValue:forKey:");