Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Changelogs/1.6.6
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
1.6.6 Release notes (2024-11-20)
================================

### Changes

* Add to 'RingPublishingTrackingConfiguration' new property 'environment' to set client environment for the tracking configuration.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
package com.ringpublishing.tracking.data

import com.ringpublishing.tracking.internal.constants.Constants
import com.ringpublishing.tracking.internal.data.Environment
import java.net.URL

/**
Expand All @@ -17,6 +18,7 @@ import java.net.URL
* @property applicationRootPath Application root path, for example app name like "onet" or "blick".
* @property applicationDefaultStructurePath Application default area, for example "home_screen", "undefined" by default
* @property applicationDefaultAdvertisementArea Default ad space name of the application,
* @property environment Environment of the client.
* For example "ads/list/sport", "undefined" by default
*/
data class RingPublishingTrackingConfiguration(
Expand All @@ -26,4 +28,5 @@ data class RingPublishingTrackingConfiguration(
val applicationRootPath: String,
val applicationDefaultStructurePath: List<String> = Constants.applicationDefaultStructurePath,
val applicationDefaultAdvertisementArea: String = Constants.applicationDefaultAdvertisementArea,
val environment: Environment
)
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import java.net.URL
internal class ConfigurationManager
{

internal lateinit var ringPublishingTrackingConfiguration: RingPublishingTrackingConfiguration
internal lateinit var ringPublishingTrackingConfiguration: RingPublishingTrackingConfiguration
private set

private val idGenerator = IdGenerator()
Expand All @@ -47,6 +47,8 @@ internal class ConfigurationManager

var secondaryId: String? = null

val environment get() = ringPublishingTrackingConfiguration.environment

fun initializeConfiguration(ringPublishingTrackingConfiguration: RingPublishingTrackingConfiguration)
{
this.ringPublishingTrackingConfiguration = ringPublishingTrackingConfiguration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@

package com.ringpublishing.tracking.internal.data

class Client(val client: ClientType)
class Client(val client: ClientType, val environment: Environment)

Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*
* Created by Grzegorz Małopolski on 4/12/22, 9:56 AM
* Copyright © 2021 Ringier Axel Springer Tech. All rights reserved.
*
*/

package com.ringpublishing.tracking.internal.data

import com.google.gson.annotations.SerializedName

/**
* Enum class representing environment of the client
* @property Production production environment
* @property Integration integration environment
* @property Development development environment
*/
enum class Environment
{
@SerializedName("prod")
Production,
@SerializedName("int")
Integration,
@SerializedName("dev")
Development
}

Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,16 @@ package com.ringpublishing.tracking.internal.decorator
import android.util.Base64
import com.google.gson.Gson
import com.ringpublishing.tracking.data.Event
import com.ringpublishing.tracking.internal.ConfigurationManager
import com.ringpublishing.tracking.internal.data.Client
import com.ringpublishing.tracking.internal.data.ClientPlatform
import com.ringpublishing.tracking.internal.data.ClientType
import com.ringpublishing.tracking.internal.log.Logger
import java.io.UnsupportedEncodingException

internal class ClientDecorator(private val gson: Gson) : BaseDecorator()
internal class ClientDecorator(private val gson: Gson, configurationManager: ConfigurationManager) : BaseDecorator()
{
private val client = Client(ClientType(ClientPlatform.native_app))
private val client = Client(ClientType(ClientPlatform.native_app), configurationManager.environment)

override fun decorate(event: Event)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ internal class EventDecorator(
add(ContentUrlDecorator(configurationManager))
add(StructurePathDecorator(configurationManager))
add(ReferrerDecorator(configurationManager))
add(ClientDecorator(gson))
add(ClientDecorator(gson, configurationManager))
}

Logger.debug("Decorators for event: $decorators")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import android.view.Display
import android.view.WindowManager
import com.ringpublishing.tracking.data.RingPublishingTrackingConfiguration
import com.ringpublishing.tracking.delegate.RingPublishingTrackingDelegate
import com.ringpublishing.tracking.internal.data.Environment
import com.ringpublishing.tracking.internal.log.Logger
import io.mockk.MockKAnnotations
import io.mockk.every
Expand Down Expand Up @@ -89,6 +90,7 @@ internal class RingPublishingTrackingTest
every { ringPublishingTrackingConfiguration.applicationRootPath } returns ""
every { ringPublishingTrackingConfiguration.applicationDefaultAdvertisementArea } returns ""
every { ringPublishingTrackingConfiguration.applicationDefaultStructurePath } returns emptyList()
every { ringPublishingTrackingConfiguration.environment } returns Environment.Development

RingPublishingTracking.initialize(context, ringPublishingTrackingConfiguration, ringPublishingTrackingDelegate)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ package com.ringpublishing.tracking.internal.decorator
import com.ringpublishing.tracking.data.Event
import com.ringpublishing.tracking.data.RingPublishingTrackingConfiguration
import com.ringpublishing.tracking.internal.ConfigurationManager
import com.ringpublishing.tracking.internal.data.Environment
import com.ringpublishing.tracking.internal.log.Logger
import io.mockk.MockKAnnotations
import org.junit.Assert
Expand Down Expand Up @@ -36,7 +37,8 @@ class ContentUrlDecoratorTest
URL("https://domain.com"),
"rootPath",
listOf("path1", "path2"),
"area"
"area",
Environment.Development
)

configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)
Expand All @@ -62,7 +64,8 @@ class ContentUrlDecoratorTest
URL("https://domain.com"),
"rootPath",
listOf("path1", "path2", "path3", "path4", "path5"),
"area"
"area",
Environment.Development
)

configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)
Expand All @@ -88,7 +91,8 @@ class ContentUrlDecoratorTest
URL("https://domain.com"),
"rootPath/",
listOf("path1", "path2"),
"area"
"area",
Environment.Development
)
configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)
val contentUrlDecorator = ContentUrlDecorator(configurationManager)
Expand All @@ -112,7 +116,8 @@ class ContentUrlDecoratorTest
URL("https://domain.com"),
"rootPath",
listOf("path1", "path2"),
"area"
"area",
Environment.Development
)
configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import com.ringpublishing.tracking.internal.ConfigurationManager
import com.ringpublishing.tracking.internal.api.response.ArtemisIdResponse
import com.ringpublishing.tracking.internal.api.response.Id
import com.ringpublishing.tracking.internal.api.response.User
import com.ringpublishing.tracking.internal.data.Environment
import com.ringpublishing.tracking.internal.data.UserData
import com.ringpublishing.tracking.internal.device.WindowSizeInfo
import com.ringpublishing.tracking.internal.log.Logger
Expand Down Expand Up @@ -205,6 +206,7 @@ internal class EventDecoratorTest
every { configurationManager.currentContentUrl } returns "contentUrl"
every { configurationManager.getFullStructurePath() } returns "structurePath"
every { configurationManager.currentReferrer } returns "referrer"
every { configurationManager.environment } returns Environment.Development
every { screenSizeInfo.getScreenSizeDpString() } returns "1x1"
every { windowSizeInfo.getWindowSizeDpString() } returns "1x1"
every { sharedPreferences.getString(any(), any()) } returns "preference"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ package com.ringpublishing.tracking.internal.decorator
import com.ringpublishing.tracking.data.Event
import com.ringpublishing.tracking.data.RingPublishingTrackingConfiguration
import com.ringpublishing.tracking.internal.ConfigurationManager
import com.ringpublishing.tracking.internal.data.Environment
import com.ringpublishing.tracking.internal.log.Logger
import io.mockk.MockKAnnotations
import org.junit.Assert
Expand All @@ -35,6 +36,7 @@ class SecondaryIdDecoratorTest
"",
URL("https://domain.com"),
"rootPath",
environment = Environment.Development
)
configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)
val secondaryIdDecorator = SecondaryIdDecorator(configurationManager)
Expand All @@ -55,6 +57,7 @@ class SecondaryIdDecoratorTest
"",
URL("https://domain.com"),
"rootPath",
environment = Environment.Development
)
configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)
val secondaryIdDecorator = SecondaryIdDecorator(configurationManager)
Expand All @@ -78,6 +81,7 @@ class SecondaryIdDecoratorTest
"",
URL("https://domain.com"),
"rootPath",
environment = Environment.Development
)
configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)
val secondaryIdDecorator = SecondaryIdDecorator(configurationManager)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ package com.ringpublishing.tracking.internal.decorator
import com.ringpublishing.tracking.data.Event
import com.ringpublishing.tracking.data.RingPublishingTrackingConfiguration
import com.ringpublishing.tracking.internal.ConfigurationManager
import com.ringpublishing.tracking.internal.data.Environment
import org.junit.Assert
import org.junit.Test
import java.net.URL
Expand Down Expand Up @@ -41,7 +42,8 @@ class SiteAreaDecoratorTest
URL("https://domain.com"),
"",
emptyList<String>(),
"defaultArea"
"defaultArea",
environment = Environment.Development
)
configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)
val decorator = SiteAreaDecorator(configurationManager)
Expand All @@ -64,7 +66,8 @@ class SiteAreaDecoratorTest
URL("https://domain.com"),
"",
emptyList<String>(),
"defaultArea"
"defaultArea",
environment = Environment.Development
)
configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)
configurationManager.updateAdvertisementArea("area")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ package com.ringpublishing.tracking.internal.decorator
import com.ringpublishing.tracking.data.Event
import com.ringpublishing.tracking.data.RingPublishingTrackingConfiguration
import com.ringpublishing.tracking.internal.ConfigurationManager
import com.ringpublishing.tracking.internal.data.Environment
import org.junit.Assert
import org.junit.Test
import java.net.URL
Expand All @@ -26,7 +27,8 @@ class StructurePathDecoratorTest
URL("https://domain.com"),
"rootPath",
listOf("path1", "path2"),
"area"
"area",
environment = Environment.Development
)
configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)
configurationManager.updateStructurePath(listOf("path3", "path4"), partiallyReloaded = false)
Expand All @@ -52,7 +54,8 @@ class StructurePathDecoratorTest
URL("https://domain.com"),
"rootPath",
listOf("path1", "path2"),
"area"
"area",
environment = Environment.Development
)
configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)

Expand All @@ -78,7 +81,8 @@ class StructurePathDecoratorTest
URL("https://domain.com"),
"rootPath/",
listOf("path1", "path2"),
"area"
"area",
environment = Environment.Development
)
configurationManager.initializeConfiguration(ringPublishingTrackingConfiguration)
val decorator = StructurePathDecorator(configurationManager)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import com.ringpublishing.tracking.data.RingPublishingTrackingConfiguration
import com.ringpublishing.tracking.data.TrackingIdentifier
import com.ringpublishing.tracking.delegate.RingPublishingTrackingDelegate
import com.ringpublishing.tracking.demo.logger.DemoAppLogger
import com.ringpublishing.tracking.internal.data.Environment

class DemoApplication : MultiDexApplication()
{
Expand Down Expand Up @@ -47,7 +48,8 @@ class DemoApplication : MultiDexApplication()
apiKey = apiKey,
applicationRootPath = applicationRootPath,
applicationDefaultStructurePath = applicationDefaultStructurePath,
applicationDefaultAdvertisementArea = applicationDefaultAdvertisementArea
applicationDefaultAdvertisementArea = applicationDefaultAdvertisementArea,
environment = Environment.Development
)

// Optional enable debug mode, that print debug logs
Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ android.useAndroidX=true
android.enableJetifier=true

#Library version name
sdk_version_name=1.6.5
sdk_version_name=1.6.6
#Library version code
sdk_version_code=24
sdk_version_code=25