Skip to content
Merged
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
136 changes: 91 additions & 45 deletions library/src/main/java/io/constructor/core/ConstructorIo.kt

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import io.constructor.BuildConfig
* @property testCells Test cell name/value pairs if A/B testing
* @property servicePort The port to use (for testing purposes only, defaults to 443)
* @property serviceScheme The scheme to use (for testing purposes only, defaults to HTTPS)
* @property defaultAnalyticsTags Additional analytics tags to pass. Will be merged with analytics tags passed on the request level
*/
data class ConstructorIoConfig(
val apiKey: String,
Expand All @@ -22,5 +23,6 @@ data class ConstructorIoConfig(
val autocompleteResultCount: Map<String, Int> = mapOf(Constants.QueryValues.SEARCH_SUGGESTIONS to 10, Constants.QueryValues.PRODUCTS to 0),
val defaultItemSection: String = BuildConfig.DEFAULT_ITEM_SECTION,
val servicePort: Int = BuildConfig.SERVICE_PORT,
val serviceScheme: String = BuildConfig.SERVICE_SCHEME
val serviceScheme: String = BuildConfig.SERVICE_SCHEME,
val defaultAnalyticsTags: Map<String, String> = emptyMap()
)
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,6 @@ class ConfigMemoryHolder @Inject constructor() {
var autocompleteResultCount: Map<String, Int>? = null

var userId: String? = null

var defaultAnalyticsTags: Map<String, String>? = null
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ data class BrowseResultClickRequestBody(
@Json(name = "key") val key: String,
@Json(name = "ui") val ui: String?,
@Json(name = "us") val us: List<String?>,
@Json(name = "analytics_tags") val analyticsTags: Map<String, String>?,
@Json(name= "beacon") val beacon: Boolean?,
@Json(name= "section") val section: String?,
@Json(name= "_dt") val _dt: Long?,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ data class BrowseResultLoadRequestBody(
@Json(name = "key") val key: String,
@Json(name = "ui") val ui: String?,
@Json(name = "us") val us: List<String?>,
@Json(name = "analytics_tags") val analyticsTags: Map<String, String>?,
@Json(name= "beacon") val beacon: Boolean?,
@Json(name= "section") val section: String?,
@Json(name= "_dt") val _dt: Long?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ data class ConversionRequestBody(
@Json(name = "key") val key: String,
@Json(name = "ui") val ui: String?,
@Json(name = "us") val us: List<String?>,
@Json(name = "analytics_tags") val analyticsTags: Map<String, String>?,
@Json(name= "beacon") val beacon: Boolean?,
@Json(name= "section") val section: String?,
@Json(name= "_dt") val _dt: Long?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ data class PurchaseRequestBody(
@Json(name = "s") val s: Int?,
@Json(name = "ui") val ui: String?,
@Json(name = "us") val us: List<String?>,
@Json(name = "analytics_tags") val analyticsTags: Map<String, String>?,
@Json(name = "key") val key: String?,
@Json(name= "beacon") val beacon: Boolean?,
@Json(name= "_dt") val _dt: Long?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ data class QuizConversionRequestBody(
@Json(name = "key") val key: String,
@Json(name = "ui") val ui: String?,
@Json(name = "us") val us: List<String?>,
@Json(name = "analytics_tags") val analyticsTags: Map<String, String>?,
@Json(name= "beacon") val beacon: Boolean?,
@Json(name= "section") val section: String?,
@Json(name= "_dt") val _dt: Long?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ data class QuizResultClickRequestBody(
@Json(name = "key") val key: String,
@Json(name = "ui") val ui: String?,
@Json(name = "us") val us: List<String?>,
@Json(name = "analytics_tags") val analyticsTags: Map<String, String>?,
@Json(name= "beacon") val beacon: Boolean?,
@Json(name= "section") val section: String?,
@Json(name= "_dt") val _dt: Long?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ data class QuizResultLoadRequestBody(
@Json(name = "key") val key: String,
@Json(name = "ui") val ui: String?,
@Json(name = "us") val us: List<String?>,
@Json(name = "analytics_tags") val analyticsTags: Map<String, String>?,
@Json(name= "beacon") val beacon: Boolean?,
@Json(name= "section") val section: String?,
@Json(name= "_dt") val _dt: Long?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ data class RecommendationResultClickRequestBody(
@Json(name = "key") val key: String,
@Json(name = "ui") val ui: String?,
@Json(name = "us") val us: List<String?>,
@Json(name = "analytics_tags") val analyticsTags: Map<String, String>?,
@Json(name= "beacon") val beacon: Boolean?,
@Json(name= "section") val section: String?,
@Json(name= "_dt") val _dt: Long?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ data class RecommendationResultViewRequestBody(
@Json(name = "key") val key: String,
@Json(name = "ui") val ui: String?,
@Json(name = "us") val us: List<String?>,
@Json(name = "analytics_tags") val analyticsTags: Map<String, String>?,
@Json(name= "beacon") val beacon: Boolean?,
@Json(name= "section") val section: String?,
@Json(name= "_dt") val _dt: Long?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ data class GenericResultClickRequestBody(
@Json(name = "key") val key: String,
@Json(name = "ui") val ui: String?,
@Json(name = "us") val us: List<String?>,
@Json(name = "analytics_tags") val analyticsTags: Map<String, String>?,
@Json(name= "beacon") val beacon: Boolean?,
@Json(name= "section") val section: String?,
@Json(name= "_dt") val _dt: Long?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ data class ItemDetailLoadRequestBody(
@Json(name = "key") val key: String,
@Json(name = "ui") val ui: String?,
@Json(name = "us") val us: List<String?>,
@Json(name = "analytics_tags") val analyticsTags: Map<String, String>?,
@Json(name= "beacon") val beacon: Boolean?,
@Json(name= "section") val section: String?,
@Json(name= "_dt") val _dt: Long?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ class ConstructorIoIntegrationQuizTest {

every { configMemoryHolder.autocompleteResultCount } returns null
every { configMemoryHolder.userId } returns "player-three"
every { configMemoryHolder.defaultAnalyticsTags } returns mapOf("appVersion" to "123", "appPlatform" to "Android")
every { configMemoryHolder.testCellParams } returns emptyList()
every { configMemoryHolder.segments } returns emptyList()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ class ConstructorIoIntegrationTest {
every { preferencesHelper.getSessionId(any(), any()) } returns 67

every { configMemoryHolder.autocompleteResultCount } returns null
every { configMemoryHolder.defaultAnalyticsTags } returns mapOf("appVersion" to "123", "appPlatform" to "Android")
every { configMemoryHolder.userId } returns "player-three"
every { configMemoryHolder.testCellParams } returns emptyList()
every { configMemoryHolder.segments } returns emptyList()
Expand Down
Loading