Goal
Implement RemoteConfigValueProvider backed by LaunchDarkly.
Rationale
LaunchDarkly is the market-leading SaaS feature-flag platform. Enterprise consumers commonly require first-party support before adopting a flag library.
Scope
LaunchDarkly does not ship a KMP SDK, so we split into two providers:
providers:launchdarkly-android — wraps com.launchdarkly:launchdarkly-android-client-sdk (mirror providers/firebase/ shape).
providers:launchdarkly-ios — wraps the LaunchDarkly Swift SDK via cinterop, exposed to common code through a thin Kotlin facade (similar packaging to providers/nsuserdefaults/).
Supported types: Boolean, String, Int, Long, Double, Float; enums by name.
References
- Interface:
core/src/commonMain/kotlin/dev/androidbroadcast/featured/RemoteConfigValueProvider.kt
- KMP reference:
providers/configcat/src/commonMain/kotlin/dev/androidbroadcast/featured/configcat/ConfigCatConfigValueProvider.kt
- Android-only reference:
providers/firebase/src/main/kotlin/dev/androidbroadcast/featured/firebase/FirebaseConfigValueProvider.kt
Definition of Done
Goal
Implement
RemoteConfigValueProviderbacked by LaunchDarkly.Rationale
LaunchDarkly is the market-leading SaaS feature-flag platform. Enterprise consumers commonly require first-party support before adopting a flag library.
Scope
LaunchDarkly does not ship a KMP SDK, so we split into two providers:
providers:launchdarkly-android— wrapscom.launchdarkly:launchdarkly-android-client-sdk(mirrorproviders/firebase/shape).providers:launchdarkly-ios— wraps the LaunchDarkly Swift SDK via cinterop, exposed to common code through a thin Kotlin facade (similar packaging toproviders/nsuserdefaults/).Supported types: Boolean, String, Int, Long, Double, Float; enums by
name.References
core/src/commonMain/kotlin/dev/androidbroadcast/featured/RemoteConfigValueProvider.ktproviders/configcat/src/commonMain/kotlin/dev/androidbroadcast/featured/configcat/ConfigCatConfigValueProvider.ktproviders/firebase/src/main/kotlin/dev/androidbroadcast/featured/firebase/FirebaseConfigValueProvider.ktDefinition of Done
providers/published to Maven Centralsample/Providerspage updatedCHANGELOG.md[Unreleased]entry./gradlew spotlessCheck && ./gradlew checkclean