diff --git a/.changeset/project-token-rename.md b/.changeset/project-token-rename.md new file mode 100644 index 0000000..2c883c6 --- /dev/null +++ b/.changeset/project-token-rename.md @@ -0,0 +1,5 @@ +--- +"posthog-kmp": minor +--- + +**Breaking:** rename `PostHogConfig.apiKey` to `projectToken`; `apiKey` still compiles with a deprecation warning, but `copy(apiKey = ...)` must change to `copy(projectToken = ...)` diff --git a/posthog-kmp/src/androidHostTest/kotlin/com/posthog/kmp/PostHogAndroidTest.kt b/posthog-kmp/src/androidHostTest/kotlin/com/posthog/kmp/PostHogAndroidTest.kt index 4213bfd..b4d6175 100644 --- a/posthog-kmp/src/androidHostTest/kotlin/com/posthog/kmp/PostHogAndroidTest.kt +++ b/posthog-kmp/src/androidHostTest/kotlin/com/posthog/kmp/PostHogAndroidTest.kt @@ -145,7 +145,7 @@ class PostHogAndroidTest { @Test fun testSendFeatureFlagEventFallsBackToConfig() { - currentConfig = PostHogConfig(apiKey = "key", sendFeatureFlagEvent = false) + currentConfig = PostHogConfig(projectToken = "key", sendFeatureFlagEvent = false) PostHog.isFeatureEnabled("test_flag") assertMethodCalled("isFeatureEnabled", "test_flag", false, false) diff --git a/posthog-kmp/src/androidMain/kotlin/com/posthog/kmp/PostHog.android.kt b/posthog-kmp/src/androidMain/kotlin/com/posthog/kmp/PostHog.android.kt index 6c70fbd..bf6bfc3 100644 --- a/posthog-kmp/src/androidMain/kotlin/com/posthog/kmp/PostHog.android.kt +++ b/posthog-kmp/src/androidMain/kotlin/com/posthog/kmp/PostHog.android.kt @@ -5,10 +5,7 @@ import com.posthog.android.PostHogAndroidConfig import com.posthog.android.replay.PostHogSessionReplayConfig internal actual fun platformSetup(config: PostHogConfig, context: PostHogContext) { - val androidConfig = PostHogAndroidConfig( - apiKey = config.apiKey, - host = config.host - ).apply { + val androidConfig = PostHogAndroidConfig(config.projectToken, config.host).apply { sdkName = SDK_NAME sdkVersion = PostHogKmpVersion.VERSION diff --git a/posthog-kmp/src/appleMain/kotlin/com/posthog/kmp/PostHog.apple.kt b/posthog-kmp/src/appleMain/kotlin/com/posthog/kmp/PostHog.apple.kt index ad75fd6..86fdf7c 100644 --- a/posthog-kmp/src/appleMain/kotlin/com/posthog/kmp/PostHog.apple.kt +++ b/posthog-kmp/src/appleMain/kotlin/com/posthog/kmp/PostHog.apple.kt @@ -27,7 +27,7 @@ import swiftPMImport.com.posthog.posthog.kmp.PostHogSDK @Suppress("UNUSED_PARAMETER") internal actual fun platformSetup(config: PostHogConfig, context: PostHogContext) { - val nativeConfig = NativePostHogConfig(projectToken = config.apiKey, host = config.host).apply { + val nativeConfig = NativePostHogConfig(projectToken = config.projectToken, host = config.host).apply { debug = config.debug captureApplicationLifecycleEvents = config.captureApplicationLifecycleEvents captureScreenViews = config.captureScreenViews diff --git a/posthog-kmp/src/appleTest/kotlin/com/posthog/kmp/PostHogAppleTest.kt b/posthog-kmp/src/appleTest/kotlin/com/posthog/kmp/PostHogAppleTest.kt index 083d5b8..fb0b744 100644 --- a/posthog-kmp/src/appleTest/kotlin/com/posthog/kmp/PostHogAppleTest.kt +++ b/posthog-kmp/src/appleTest/kotlin/com/posthog/kmp/PostHogAppleTest.kt @@ -17,7 +17,7 @@ class PostHogAppleTest { val events = mutableListOf() PostHog.setup( PostHogConfig( - apiKey = "apple-unit-test", + projectToken = "apple-unit-test", host = "http://127.0.0.1:9", preloadFeatureFlags = false, captureApplicationLifecycleEvents = false, diff --git a/posthog-kmp/src/commonMain/kotlin/com/posthog/kmp/PostHog.kt b/posthog-kmp/src/commonMain/kotlin/com/posthog/kmp/PostHog.kt index e2dce7c..bbacffb 100644 --- a/posthog-kmp/src/commonMain/kotlin/com/posthog/kmp/PostHog.kt +++ b/posthog-kmp/src/commonMain/kotlin/com/posthog/kmp/PostHog.kt @@ -11,7 +11,7 @@ import kotlin.concurrent.Volatile * * ```kotlin * // Initialize PostHog - * PostHog.setup(PostHogConfig(apiKey = "phc_your_api_key"), PostHogContext()) + * PostHog.setup(PostHogConfig(projectToken = "phc_your_project_token"), PostHogContext()) * * // Capture events * PostHog.capture("button_clicked", mapOf("button_name" to "submit")) diff --git a/posthog-kmp/src/commonMain/kotlin/com/posthog/kmp/PostHogConfig.kt b/posthog-kmp/src/commonMain/kotlin/com/posthog/kmp/PostHogConfig.kt index a73737d..615ca4c 100644 --- a/posthog-kmp/src/commonMain/kotlin/com/posthog/kmp/PostHogConfig.kt +++ b/posthog-kmp/src/commonMain/kotlin/com/posthog/kmp/PostHogConfig.kt @@ -5,7 +5,9 @@ import kotlin.reflect.KClass /** * Configuration options for PostHog SDK initialization. * - * @property apiKey Your PostHog project API key (required) + * @property projectToken Your PostHog project token (required), which starts with `phc_`. + * Find it in your project settings: https://us.posthog.com/settings/project-details#variables. + * Formerly named `apiKey`. Example: `PostHogConfig(projectToken = "phc_your_project_token")`. * @property host PostHog instance URL (defaults to US cloud) * @property debug Enable debug logging * @property captureApplicationLifecycleEvents Automatically capture app lifecycle events @@ -25,7 +27,7 @@ import kotlin.reflect.KClass * @property errorTracking Error tracking configuration (platform dependent) */ public data class PostHogConfig( - val apiKey: String, + val projectToken: String, val host: String = "https://us.i.posthog.com", val debug: Boolean = false, val captureApplicationLifecycleEvents: Boolean = true, @@ -64,7 +66,7 @@ public data class PostHogConfig( autocapture: Boolean = false, beforeSend: List = emptyList() ) : this( - apiKey = apiKey, + projectToken = apiKey, host = host, debug = debug, captureApplicationLifecycleEvents = captureApplicationLifecycleEvents, @@ -103,7 +105,7 @@ public data class PostHogConfig( sessionRecording: SessionRecordingConfig? = null, autocapture: Boolean = false ) : this( - apiKey = apiKey, + projectToken = apiKey, host = host, debug = debug, captureApplicationLifecycleEvents = captureApplicationLifecycleEvents, @@ -125,7 +127,7 @@ public data class PostHogConfig( @Deprecated("Retained for binary compatibility", level = DeprecationLevel.HIDDEN) public fun copy( - apiKey: String = this.apiKey, + apiKey: String = this.projectToken, host: String = this.host, debug: Boolean = this.debug, captureApplicationLifecycleEvents: Boolean = this.captureApplicationLifecycleEvents, @@ -143,7 +145,7 @@ public data class PostHogConfig( autocapture: Boolean = this.autocapture, beforeSend: List = this.beforeSend ): PostHogConfig = PostHogConfig( - apiKey = apiKey, + projectToken = apiKey, host = host, debug = debug, captureApplicationLifecycleEvents = captureApplicationLifecycleEvents, @@ -165,7 +167,7 @@ public data class PostHogConfig( @Deprecated("Retained for binary compatibility", level = DeprecationLevel.HIDDEN) public fun copy( - apiKey: String = this.apiKey, + apiKey: String = this.projectToken, host: String = this.host, debug: Boolean = this.debug, captureApplicationLifecycleEvents: Boolean = this.captureApplicationLifecycleEvents, @@ -182,7 +184,7 @@ public data class PostHogConfig( sessionRecording: SessionRecordingConfig? = this.sessionRecording, autocapture: Boolean = this.autocapture ): PostHogConfig = PostHogConfig( - apiKey = apiKey, + projectToken = apiKey, host = host, debug = debug, captureApplicationLifecycleEvents = captureApplicationLifecycleEvents, @@ -202,12 +204,63 @@ public data class PostHogConfig( errorTracking = errorTracking ) + /** Deprecated alias for [projectToken]. */ + @Deprecated( + "Deprecated in favor of projectToken. This will be removed in the next major version.", + ReplaceWith("projectToken") + ) + val apiKey: String get() = projectToken + public companion object { /** PostHog US Cloud instance */ public const val HOST_US: String = "https://us.i.posthog.com" /** PostHog EU Cloud instance */ public const val HOST_EU: String = "https://eu.i.posthog.com" + + /** Deprecated named-argument form of the [PostHogConfig] constructor that takes `apiKey`. */ + @Deprecated( + "Deprecated in favor of projectToken. This will be removed in the next major version." + ) + public operator fun invoke( + apiKey: String, + host: String = "https://us.i.posthog.com", + debug: Boolean = false, + captureApplicationLifecycleEvents: Boolean = true, + captureScreenViews: Boolean = false, + captureDeepLinks: Boolean = true, + sendFeatureFlagEvent: Boolean = true, + preloadFeatureFlags: Boolean = true, + flushAt: Int = 20, + flushIntervalSeconds: Int = 30, + maxQueueSize: Int = 1000, + maxBatchSize: Int = 50, + optOut: Boolean = false, + personProfiles: PersonProfiles = PersonProfiles.IDENTIFIED_ONLY, + sessionRecording: SessionRecordingConfig? = null, + autocapture: Boolean = false, + beforeSend: List = emptyList(), + errorTracking: ErrorTrackingConfig? = null + ): PostHogConfig = PostHogConfig( + projectToken = apiKey, + host = host, + debug = debug, + captureApplicationLifecycleEvents = captureApplicationLifecycleEvents, + captureScreenViews = captureScreenViews, + captureDeepLinks = captureDeepLinks, + sendFeatureFlagEvent = sendFeatureFlagEvent, + preloadFeatureFlags = preloadFeatureFlags, + flushAt = flushAt, + flushIntervalSeconds = flushIntervalSeconds, + maxQueueSize = maxQueueSize, + maxBatchSize = maxBatchSize, + optOut = optOut, + personProfiles = personProfiles, + sessionRecording = sessionRecording, + autocapture = autocapture, + beforeSend = beforeSend, + errorTracking = errorTracking + ) } } diff --git a/posthog-kmp/src/commonTest/kotlin/com/posthog/kmp/PostHogConfigTest.kt b/posthog-kmp/src/commonTest/kotlin/com/posthog/kmp/PostHogConfigTest.kt index 7a33c06..5dfc21f 100644 --- a/posthog-kmp/src/commonTest/kotlin/com/posthog/kmp/PostHogConfigTest.kt +++ b/posthog-kmp/src/commonTest/kotlin/com/posthog/kmp/PostHogConfigTest.kt @@ -11,17 +11,26 @@ class PostHogConfigTest { @Test fun defaultsToUsCloudHost() { - assertEquals(PostHogConfig.HOST_US, PostHogConfig(apiKey = "phc_test").host) + assertEquals(PostHogConfig.HOST_US, PostHogConfig(projectToken = "phc_test").host) + } + + @Suppress("DEPRECATION") + @Test + fun deprecatedApiKeyAliasesProjectToken() { + val config = PostHogConfig(apiKey = "phc_test") + + assertEquals(PostHogConfig(projectToken = "phc_test"), config) + assertEquals("phc_test", config.apiKey) } @Test fun defaultsToIdentifiedOnlyPersonProfiles() { - assertEquals(PersonProfiles.IDENTIFIED_ONLY, PostHogConfig(apiKey = "phc_test").personProfiles) + assertEquals(PersonProfiles.IDENTIFIED_ONLY, PostHogConfig(projectToken = "phc_test").personProfiles) } @Test fun defaultsErrorTrackingToNull() { - assertNull(PostHogConfig(apiKey = "phc_test").errorTracking) + assertNull(PostHogConfig(projectToken = "phc_test").errorTracking) } @Test @@ -43,7 +52,7 @@ class PostHogConfigTest { inAppExcludes = listOf("ThirdParty"), inAppByDefault = false ) - val config = PostHogConfig(apiKey = "phc_test", errorTracking = errorTracking) + val config = PostHogConfig(projectToken = "phc_test", errorTracking = errorTracking) assertEquals(errorTracking, config.copy(debug = true).errorTracking) } @@ -61,14 +70,14 @@ class PostHogConfigTest { @Test fun beforeSendWithoutCallbacksPreservesEvent() { val event = PostHogEvent("checkout", "user-1", mapOf("plan" to "paid")) - val config = PostHogConfig(apiKey = "key") + val config = PostHogConfig(projectToken = "key") assertSame(event, config.runBeforeSend(event)) } @Test fun beforeSendCallbacksRunInOrder() { val config = PostHogConfig( - apiKey = "phc_test", + projectToken = "phc_test", beforeSend = listOf( PostHogBeforeSend { it.copy(properties = it.properties + ("first" to true)) }, PostHogBeforeSend { @@ -85,7 +94,7 @@ class PostHogConfigTest { @Test fun copyPreservesBeforeSendCallbacks() { val callback = PostHogBeforeSend { it } - val config = PostHogConfig(apiKey = "phc_test", beforeSend = listOf(callback)) + val config = PostHogConfig(projectToken = "phc_test", beforeSend = listOf(callback)) val copy = config.copy(debug = true) @@ -98,7 +107,7 @@ class PostHogConfigTest { var sentinelCalled = false val failure = IllegalStateException("failed") val config = PostHogConfig( - apiKey = "phc_test", + projectToken = "phc_test", beforeSend = listOf( PostHogBeforeSend { it.copy(event = "transformed") }, PostHogBeforeSend { throw failure }, @@ -123,7 +132,7 @@ class PostHogConfigTest { fun beforeSendStopsAfterDroppedEvent() { var finalCallbackCalled = false val config = PostHogConfig( - apiKey = "phc_test", + projectToken = "phc_test", beforeSend = listOf( PostHogBeforeSend { null }, PostHogBeforeSend { diff --git a/posthog-kmp/src/jsMain/kotlin/com/posthog/kmp/PostHog.js.kt b/posthog-kmp/src/jsMain/kotlin/com/posthog/kmp/PostHog.js.kt index fa22c20..b5db7c1 100644 --- a/posthog-kmp/src/jsMain/kotlin/com/posthog/kmp/PostHog.js.kt +++ b/posthog-kmp/src/jsMain/kotlin/com/posthog/kmp/PostHog.js.kt @@ -69,7 +69,7 @@ internal actual fun platformSetup(config: PostHogConfig, context: PostHogContext // advanced_disable_feature_flags (without _on_first_load) would disable flag evaluation permanently options["advanced_disable_feature_flags_on_first_load"] = !config.preloadFeatureFlags - PostHogJs.init(config.apiKey, options) + PostHogJs.init(config.projectToken, options) val instance: dynamic = PostHogJs if (instance._overrideSDKInfo != null) { diff --git a/posthog-kmp/src/jsTest/kotlin/com/posthog/kmp/PostHogJsTest.kt b/posthog-kmp/src/jsTest/kotlin/com/posthog/kmp/PostHogJsTest.kt index 8637aaa..2a10a72 100644 --- a/posthog-kmp/src/jsTest/kotlin/com/posthog/kmp/PostHogJsTest.kt +++ b/posthog-kmp/src/jsTest/kotlin/com/posthog/kmp/PostHogJsTest.kt @@ -292,7 +292,7 @@ class PostHogJsTest { @Test fun testSendFeatureFlagEventFallsBackToConfig() { - currentConfig = PostHogConfig(apiKey = "key", sendFeatureFlagEvent = false) + currentConfig = PostHogConfig(projectToken = "key", sendFeatureFlagEvent = false) PostHog.getFeatureFlag("test_flag") val call = getCall("getFeatureFlag") @@ -308,7 +308,7 @@ class PostHogJsTest { fakeJs.init = { apiKey: String, options: dynamic -> calledMethods.add("init" to arrayOf(apiKey, options)) } - PostHog.setup(PostHogConfig(apiKey = "key", preloadFeatureFlags = false), PostHogContext()) + PostHog.setup(PostHogConfig(projectToken = "key", preloadFeatureFlags = false), PostHogContext()) val call = getCall("init") assertEquals("key", call[0] as String) @@ -323,7 +323,7 @@ class PostHogJsTest { calledMethods.add("init" to arrayOf(apiKey, options)) } PostHog.setup( - PostHogConfig(apiKey = "key", errorTracking = ErrorTrackingConfig(autoCapture = true)), + PostHogConfig(projectToken = "key", errorTracking = ErrorTrackingConfig(autoCapture = true)), PostHogContext() ) @@ -337,7 +337,7 @@ class PostHogJsTest { } PostHog.setup( PostHogConfig( - apiKey = "key", + projectToken = "key", beforeSend = listOf( PostHogBeforeSend { it.copy( @@ -378,7 +378,7 @@ class PostHogJsTest { } PostHog.setup( PostHogConfig( - apiKey = "key", + projectToken = "key", beforeSend = listOf( PostHogBeforeSend { it.copy(event = "transformed") }, PostHogBeforeSend { throw IllegalStateException("failed") }, @@ -405,7 +405,7 @@ class PostHogJsTest { calledMethods.add("init" to arrayOf(options)) } PostHog.setup( - PostHogConfig(apiKey = "key", beforeSend = listOf(PostHogBeforeSend { + PostHogConfig(projectToken = "key", beforeSend = listOf(PostHogBeforeSend { callbackCalled = true it })), diff --git a/posthog-kmp/src/jvmMain/kotlin/com/posthog/kmp/PostHog.jvm.kt b/posthog-kmp/src/jvmMain/kotlin/com/posthog/kmp/PostHog.jvm.kt index a0bdb82..5e9d533 100644 --- a/posthog-kmp/src/jvmMain/kotlin/com/posthog/kmp/PostHog.jvm.kt +++ b/posthog-kmp/src/jvmMain/kotlin/com/posthog/kmp/PostHog.jvm.kt @@ -13,10 +13,7 @@ import java.io.File */ @Suppress("UNUSED_PARAMETER") internal actual fun platformSetup(config: PostHogConfig, context: PostHogContext) { - val coreConfig = com.posthog.PostHogConfig( - apiKey = config.apiKey, - host = config.host - ).apply { + val coreConfig = com.posthog.PostHogConfig(config.projectToken, config.host).apply { sdkName = SDK_NAME sdkVersion = PostHogKmpVersion.VERSION diff --git a/posthog-kmp/src/jvmTest/kotlin/com/posthog/kmp/PostHogFilePreferencesTest.kt b/posthog-kmp/src/jvmTest/kotlin/com/posthog/kmp/PostHogFilePreferencesTest.kt index 9281a71..fa106e4 100644 --- a/posthog-kmp/src/jvmTest/kotlin/com/posthog/kmp/PostHogFilePreferencesTest.kt +++ b/posthog-kmp/src/jvmTest/kotlin/com/posthog/kmp/PostHogFilePreferencesTest.kt @@ -13,7 +13,7 @@ import kotlin.test.assertTrue class PostHogFilePreferencesTest { - private val config = com.posthog.PostHogConfig(apiKey = "test-key") + private val config = com.posthog.PostHogConfig("test-key") @get:Rule val tempFolder = TemporaryFolder() @@ -125,7 +125,7 @@ class PostHogFilePreferencesTest { fun writeFailurePreservesInMemoryStateAndLogsWarning() { val parent = tempFolder.newFile() val warnings = mutableListOf() - val failingConfig = com.posthog.PostHogConfig(apiKey = "key").apply { + val failingConfig = com.posthog.PostHogConfig("key").apply { logger = object : com.posthog.internal.PostHogLogger { override fun log(message: String) { warnings.add(message) diff --git a/posthog-kmp/src/jvmTest/kotlin/com/posthog/kmp/PostHogJvmTest.kt b/posthog-kmp/src/jvmTest/kotlin/com/posthog/kmp/PostHogJvmTest.kt index 18b6299..261dda9 100644 --- a/posthog-kmp/src/jvmTest/kotlin/com/posthog/kmp/PostHogJvmTest.kt +++ b/posthog-kmp/src/jvmTest/kotlin/com/posthog/kmp/PostHogJvmTest.kt @@ -36,7 +36,7 @@ class PostHogJvmTest { @Test fun testConfigureErrorTracking() { - val nativeConfig = com.posthog.PostHogConfig(apiKey = "key") + val nativeConfig = com.posthog.PostHogConfig("key") nativeConfig.configureErrorTracking( ErrorTrackingConfig( @@ -166,7 +166,7 @@ class PostHogJvmTest { @Test fun testSendFeatureFlagEventFallsBackToConfig() { - currentConfig = PostHogConfig(apiKey = "key", sendFeatureFlagEvent = false) + currentConfig = PostHogConfig(projectToken = "key", sendFeatureFlagEvent = false) PostHog.isFeatureEnabled("test_flag") assertMethodCalled("isFeatureEnabled", "test_flag", false, false) @@ -322,16 +322,16 @@ class PostHogJvmTest { @Test fun testBeforeSendWithoutCallbacksLeavesNativeHookUnset() { - val nativeConfig = com.posthog.PostHogConfig(apiKey = "key") - nativeConfig.configureBeforeSend(PostHogConfig(apiKey = "key")) + val nativeConfig = com.posthog.PostHogConfig("key") + nativeConfig.configureBeforeSend(PostHogConfig(projectToken = "key")) assertTrue(nativeConfig.beforeSendList.isEmpty()) } @Test fun testNativeBeforeSendDropsEventsAndContainsCallbackFailures() { for (callback in listOf(PostHogBeforeSend { null }, PostHogBeforeSend { error("failed") })) { - val nativeConfig = com.posthog.PostHogConfig(apiKey = "key") - nativeConfig.configureBeforeSend(PostHogConfig(apiKey = "key", beforeSend = listOf(callback))) + val nativeConfig = com.posthog.PostHogConfig("key") + nativeConfig.configureBeforeSend(PostHogConfig(projectToken = "key", beforeSend = listOf(callback))) assertNull(nativeConfig.beforeSendList.single().run( com.posthog.PostHogEvent("secret", "user", mutableMapOf("email" to "private")) )) @@ -341,7 +341,7 @@ class PostHogJvmTest { @Test fun testBeforeSendDelegatesToNativeConfigAndPreservesMetadata() { val wrapperConfig = PostHogConfig( - apiKey = "key", + projectToken = "key", beforeSend = listOf( PostHogBeforeSend { it.copy( @@ -352,7 +352,7 @@ class PostHogJvmTest { } ) ) - val nativeConfig = com.posthog.PostHogConfig(apiKey = "key") + val nativeConfig = com.posthog.PostHogConfig("key") nativeConfig.configureBeforeSend(wrapperConfig) val timestamp = Date(1234) val uuid = UUID.randomUUID() diff --git a/posthog-kmp/src/wasmJsMain/kotlin/com/posthog/kmp/PostHog.wasmJs.kt b/posthog-kmp/src/wasmJsMain/kotlin/com/posthog/kmp/PostHog.wasmJs.kt index 8a14d4a..a1fcddc 100644 --- a/posthog-kmp/src/wasmJsMain/kotlin/com/posthog/kmp/PostHog.wasmJs.kt +++ b/posthog-kmp/src/wasmJsMain/kotlin/com/posthog/kmp/PostHog.wasmJs.kt @@ -33,7 +33,7 @@ internal actual fun platformSetup(config: PostHogConfig, context: PostHogContext } config.sessionRecording?.takeIf { it.enabled }?.let { configureSessionRecording(options, it) } - PostHogJs.init(config.apiKey, options) + PostHogJs.init(config.projectToken, options) overrideSdkInfo(PostHogJs, "posthog-kmp", PostHogKmpVersion.VERSION) if (config.optOut) { diff --git a/posthog-kmp/src/wasmJsTest/kotlin/com/posthog/kmp/PostHogWasmJsTest.kt b/posthog-kmp/src/wasmJsTest/kotlin/com/posthog/kmp/PostHogWasmJsTest.kt index 7b6bf12..532b64f 100644 --- a/posthog-kmp/src/wasmJsTest/kotlin/com/posthog/kmp/PostHogWasmJsTest.kt +++ b/posthog-kmp/src/wasmJsTest/kotlin/com/posthog/kmp/PostHogWasmJsTest.kt @@ -32,7 +32,7 @@ class PostHogWasmJsTest { fun setupDelegatesConfigurationToPostHogJs() { PostHog.setup( PostHogConfig( - apiKey = "phc_test", + projectToken = "phc_test", host = "https://example.com", debug = true, captureScreenViews = true, @@ -63,7 +63,7 @@ class PostHogWasmJsTest { fun setupMapsBeforeSendToPostHogJs() { PostHog.setup( PostHogConfig( - apiKey = "phc_test", + projectToken = "phc_test", beforeSend = listOf( PostHogBeforeSend { it.copy( @@ -96,7 +96,7 @@ class PostHogWasmJsTest { var sentinelCalled = false PostHog.setup( PostHogConfig( - apiKey = "phc_test", + projectToken = "phc_test", beforeSend = listOf( PostHogBeforeSend { it.copy(event = "transformed") }, PostHogBeforeSend { throw IllegalStateException("failed") }, @@ -117,7 +117,7 @@ class PostHogWasmJsTest { fun beforeSendContainsPropertyConversionExceptions() { var callbackCalled = false PostHog.setup( - PostHogConfig(apiKey = "key", beforeSend = listOf(PostHogBeforeSend { + PostHogConfig(projectToken = "key", beforeSend = listOf(PostHogBeforeSend { callbackCalled = true it })), @@ -245,7 +245,7 @@ class PostHogWasmJsTest { @Test fun featureFlagConfiguredEventOptionIsForwarded() { - currentConfig = PostHogConfig(apiKey = "key", sendFeatureFlagEvent = false) + currentConfig = PostHogConfig(projectToken = "key", sendFeatureFlagEvent = false) assertFalse(PostHog.isFeatureEnabled("disabled", defaultValue = true)) assertFalse(readNestedBoolean(fakePostHog, "featureFlagOptions", "send_event")) assertFalse(PostHog.isFeatureEnabled("disabled", sendFeatureFlagEvent = true)) diff --git a/sample/src/commonMain/kotlin/com/posthog/kmp/sample/App.kt b/sample/src/commonMain/kotlin/com/posthog/kmp/sample/App.kt index 23e011a..11e8ddc 100644 --- a/sample/src/commonMain/kotlin/com/posthog/kmp/sample/App.kt +++ b/sample/src/commonMain/kotlin/com/posthog/kmp/sample/App.kt @@ -94,7 +94,7 @@ fun App(postHogContext: PostHogContext) { isInitialized = true PostHog.setup( config = PostHogConfig( - apiKey = apiKey, + projectToken = apiKey, debug = true, errorTracking = ErrorTrackingConfig( autoCapture = true,