Skip to content

Commit

Permalink
update sample app to force using destination filters on segment.io
Browse files Browse the repository at this point in the history
  • Loading branch information
Wenxi Zeng committed Jun 5, 2024
1 parent 1f62636 commit 2aec0aa
Showing 1 changed file with 51 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,15 @@ import android.app.Application
import com.segment.analytics.destination.filters.app.filters.WebhookPlugin
import com.segment.analytics.kotlin.android.Analytics
import com.segment.analytics.kotlin.core.Analytics
import com.segment.analytics.kotlin.core.platform.Plugin
import com.segment.analytics.kotlin.core.utilities.updateJsonObject
import com.segment.analytics.kotlin.destinations.appsflyer.AppsFlyerDestination
import com.segment.analytics.plugins.DestinationFilters
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonArray
import kotlinx.serialization.json.JsonObject
import java.util.concurrent.Executors

class MainApplication : Application() {
Expand All @@ -17,7 +24,7 @@ class MainApplication : Application() {
super.onCreate()

analytics = Analytics(
"93EMLzmXzP6EJ3cJOhdaAgEVNnZjwRqA",
"tteOFND0bb5ugJfALOJWpF0wu1tcxYgr",
applicationContext
) {
this.collectDeviceId = true
Expand All @@ -27,10 +34,51 @@ class MainApplication : Application() {
this.flushInterval = 0
}

analytics.add(WebhookPlugin("https://webhook.site/c6349c6a-bc14-49be-9677-0c8df3e07b58", Executors.newSingleThreadExecutor()))
// analytics.add(WebhookPlugin("https://webhook.site/c6349c6a-bc14-49be-9677-0c8df3e07b58", Executors.newSingleThreadExecutor()))
analytics.add(AppsFlyerDestination(applicationContext, false))

analytics.add(DestinationFilters())
val df = DestinationFilters()
analytics.add(df)

analytics.analyticsScope.launch {
delay(5000L)
analytics.settingsAsync()?.let { settings ->
settings.middlewareSettings = updateJsonObject(settings.middlewareSettings) {
it["routingRules"] = Json.decodeFromString<JsonArray>("""
[{
"matchers": [
{
"ir": "",
"type": "all"
}
],
"scope": "destinations",
"target_type": "workspace::project::destination::config",
"transformers": [
[
{
"type": "drop_properties",
"config": {
"drop": {
"context.device": [
"id",
"advertisingId",
"model",
"manufacturer"
]
}
}
}
]
],
"destinationName": "Segment.io"
}]
""".trimIndent())
}
df.update(settings, Plugin.UpdateType.Initial)
}
}

}

}

0 comments on commit 2aec0aa

Please sign in to comment.