Merge pull request #1269 from vector-im/feature/bma/posthogProd
Ensure Posthog data are sent to "https://posthog.element.io" for release build
This commit is contained in:
commit
ac6d822bef
5 changed files with 48 additions and 7 deletions
1
changelog.d/1269.misc
Normal file
1
changelog.d/1269.misc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Ensure Posthog data are sent to "https://posthog.element.io"
|
||||||
|
|
@ -25,10 +25,12 @@ import javax.inject.Inject
|
||||||
class PostHogFactory @Inject constructor(
|
class PostHogFactory @Inject constructor(
|
||||||
@ApplicationContext private val context: Context,
|
@ApplicationContext private val context: Context,
|
||||||
private val buildMeta: BuildMeta,
|
private val buildMeta: BuildMeta,
|
||||||
|
private val posthogEndpointConfigProvider: PosthogEndpointConfigProvider,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
fun createPosthog(): PostHog {
|
fun createPosthog(): PostHog {
|
||||||
return PostHog.Builder(context, PosthogConfig.postHogApiKey, PosthogConfig.postHogHost)
|
val endpoint = posthogEndpointConfigProvider.provide()
|
||||||
|
return PostHog.Builder(context, endpoint.apiKey, endpoint.host)
|
||||||
// Record certain application events automatically! (off/false by default)
|
// Record certain application events automatically! (off/false by default)
|
||||||
// .captureApplicationLifecycleEvents()
|
// .captureApplicationLifecycleEvents()
|
||||||
// Record screen views automatically! (off/false by default)
|
// Record screen views automatically! (off/false by default)
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ import javax.inject.Inject
|
||||||
class PosthogAnalyticsProvider @Inject constructor(
|
class PosthogAnalyticsProvider @Inject constructor(
|
||||||
private val postHogFactory: PostHogFactory,
|
private val postHogFactory: PostHogFactory,
|
||||||
) : AnalyticsProvider {
|
) : AnalyticsProvider {
|
||||||
override val name = PosthogConfig.name
|
override val name = "Posthog"
|
||||||
|
|
||||||
private var posthog: PostHog? = null
|
private var posthog: PostHog? = null
|
||||||
private var analyticsId: String? = null
|
private var analyticsId: String? = null
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,7 @@
|
||||||
|
|
||||||
package io.element.android.services.analyticsproviders.posthog
|
package io.element.android.services.analyticsproviders.posthog
|
||||||
|
|
||||||
object PosthogConfig {
|
data class PosthogEndpointConfig(
|
||||||
const val name = "Posthog"
|
val host: String,
|
||||||
const val postHogHost = "https://posthog.element.dev"
|
val apiKey: String,
|
||||||
const val postHogApiKey = "phc_VtA1L35nw3aeAtHIx1ayrGdzGkss7k1xINeXcoIQzXN"
|
)
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2023 New Vector Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package io.element.android.services.analyticsproviders.posthog
|
||||||
|
|
||||||
|
import io.element.android.libraries.core.meta.BuildMeta
|
||||||
|
import io.element.android.libraries.core.meta.BuildType
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
class PosthogEndpointConfigProvider @Inject constructor(
|
||||||
|
private val buildMeta: BuildMeta,
|
||||||
|
) {
|
||||||
|
fun provide(): PosthogEndpointConfig {
|
||||||
|
return when (buildMeta.buildType) {
|
||||||
|
BuildType.RELEASE -> PosthogEndpointConfig(
|
||||||
|
host = "https://posthog.element.io",
|
||||||
|
apiKey = "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO",
|
||||||
|
)
|
||||||
|
BuildType.NIGHTLY,
|
||||||
|
BuildType.DEBUG -> PosthogEndpointConfig(
|
||||||
|
host = "https://posthog.element.dev",
|
||||||
|
apiKey = "phc_VtA1L35nw3aeAtHIx1ayrGdzGkss7k1xINeXcoIQzXN",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue