Skip to content

Commit e243544

Browse files
authored
Merge pull request #649 from qonversion/release/8.2.3
Release 8.2.3
2 parents 9e8c4c5 + 13dba2e commit e243544

File tree

7 files changed

+44
-4
lines changed

7 files changed

+44
-4
lines changed

app/src/main/java/com/qonversion/android/app/App.java

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public void onCreate() {
3333
QLaunchMode.SubscriptionManagement
3434
)
3535
.setEnvironment(QEnvironment.Sandbox) // For Automation testing
36+
.disableFacebookAttribution()
3637
.build();
3738
Qonversion.initialize(qonversionConfig);
3839

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import io.gitlab.arturbosch.detekt.DetektCreateBaselineTask
66
buildscript {
77
ext {
88
release = [
9-
versionName: "8.2.2",
9+
versionName: "8.2.3",
1010
versionCode: 1
1111
]
1212
}

fastlane/report.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66

77

8-
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000155">
8+
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000399">
99

1010
</testcase>
1111

sdk/src/main/java/com/qonversion/android/sdk/QonversionConfig.kt

+11-1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ class QonversionConfig internal constructor(
5050
internal var entitlementsUpdateListener: QEntitlementsUpdateListener? = null
5151
internal var proxyUrl: String? = null
5252
internal var isKidsMode: Boolean = false
53+
internal var sendFbAttribution: Boolean = true
5354
@RawRes
5455
internal var fallbackFileIdentifier: Int? = null
5556

@@ -133,6 +134,15 @@ class QonversionConfig internal constructor(
133134
this.isKidsMode = true
134135
}
135136

137+
/**
138+
* Use this function to disable tracking of Facebook Attribution ID.
139+
* It may be helpful if you face "Social Account information tracking without
140+
* a prominent disclosure" warning during the Google Play Review.
141+
*/
142+
fun disableFacebookAttribution(): Builder = apply {
143+
sendFbAttribution = false
144+
}
145+
136146
/**
137147
* Generate [QonversionConfig] instance with all the provided configurations.
138148
* This method also validates some of the provided data.
@@ -150,7 +160,7 @@ class QonversionConfig internal constructor(
150160
Log.w("Qonversion", "Environment level is set to Sandbox for release build.")
151161
}
152162

153-
val primaryConfig = PrimaryConfig(projectKey, launchMode, environment, proxyUrl, isKidsMode)
163+
val primaryConfig = PrimaryConfig(projectKey, launchMode, environment, proxyUrl, isKidsMode, sendFbAttribution)
154164
val cacheConfig = CacheConfig(entitlementsCacheLifetime, fallbackFileIdentifier)
155165

156166
return QonversionConfig(

sdk/src/main/java/com/qonversion/android/sdk/internal/QonversionInternal.kt

+3-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,9 @@ internal class QonversionInternal(
109109
remoteConfigManager = localRemoteConfigManager
110110

111111
userPropertiesManager.productCenterManager = productCenterManager
112-
userPropertiesManager.sendFacebookAttribution()
112+
if (internalConfig.primaryConfig.sendFbAttribution) {
113+
userPropertiesManager.sendFacebookAttribution()
114+
}
113115

114116
remoteConfigManager.userPropertiesManager = userPropertiesManager
115117

sdk/src/main/java/com/qonversion/android/sdk/internal/dto/config/PrimaryConfig.kt

+1
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ internal data class PrimaryConfig(
1010
val environment: QEnvironment,
1111
val proxyUrl: String? = null,
1212
val isKidsMode: Boolean = false,
13+
val sendFbAttribution: Boolean = true,
1314
val sdkVersion: String = BuildConfig.VERSION_NAME
1415
)

sdk/src/test/java/com/qonversion/android/sdk/QonversionConfigTest.kt

+26
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,32 @@ internal class QonversionConfigTest {
119119
// then
120120
assertThat(builder.isKidsMode).isFalse()
121121
}
122+
123+
@Test
124+
fun `disabling FB attribution tracking`() {
125+
// given
126+
val builder =
127+
QonversionConfig.Builder(mockContext, projectKey, mockLaunchMode)
128+
129+
// when
130+
builder.disableFacebookAttribution()
131+
132+
// then
133+
assertThat(builder.sendFbAttribution).isFalse()
134+
}
135+
136+
@Test
137+
fun `remain FB attribution tracking enabled`() {
138+
// given
139+
val builder =
140+
QonversionConfig.Builder(mockContext, projectKey, mockLaunchMode)
141+
142+
// when
143+
144+
145+
// then
146+
assertThat(builder.sendFbAttribution).isTrue()
147+
}
122148
}
123149

124150
@Nested

0 commit comments

Comments
 (0)