diff --git a/Adjust/build.gradle b/Adjust/build.gradle
index cffb41c02..80e9bac8d 100644
--- a/Adjust/build.gradle
+++ b/Adjust/build.gradle
@@ -7,9 +7,9 @@ subprojects {
ext {
// Android config.
coreMinSdkVersion = 21
- coreCompileSdkVersion = 34
- coreTargetSdkVersion = 34
- coreVersionName = '5.0.2'
+ coreCompileSdkVersion = 35
+ coreTargetSdkVersion = 35
+ coreVersionName = '5.1.0'
defaultVersionCode = 1
webbridgeMinSdkVersion = 21
samsungReferrerMinSdkVersion = 21
@@ -21,14 +21,14 @@ ext {
}
buildscript {
- ext.kotlin_version = '1.7.10'
+ ext.kotlin_version = '2.1.0'
repositories {
mavenCentral()
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:8.1.4'
+ classpath 'com.android.tools.build:gradle:8.8.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files.
diff --git a/Adjust/examples/example-app-fbpixel/build.gradle b/Adjust/examples/example-app-fbpixel/build.gradle
index 06281d56a..14f09f966 100644
--- a/Adjust/examples/example-app-fbpixel/build.gradle
+++ b/Adjust/examples/example-app-fbpixel/build.gradle
@@ -1,12 +1,12 @@
apply plugin: 'com.android.application'
android {
- compileSdk 34
+ compileSdk 35
defaultConfig {
applicationId "com.adjust.examples"
minSdkVersion 21
- targetSdkVersion 34
+ targetSdkVersion 35
versionCode 1
versionName "1.0"
}
diff --git a/Adjust/examples/example-app-java/build.gradle b/Adjust/examples/example-app-java/build.gradle
index 868be5b75..e8dd00592 100644
--- a/Adjust/examples/example-app-java/build.gradle
+++ b/Adjust/examples/example-app-java/build.gradle
@@ -7,12 +7,12 @@ repositories {
}
android {
- compileSdk 34
+ compileSdk 35
defaultConfig {
applicationId "com.adjust.examples"
minSdkVersion 21
- targetSdkVersion 34
+ targetSdkVersion 35
versionCode 1
versionName "1.0"
}
diff --git a/Adjust/examples/example-app-keyboard/build.gradle b/Adjust/examples/example-app-keyboard/build.gradle
index 4e061fe26..fc5bea367 100644
--- a/Adjust/examples/example-app-keyboard/build.gradle
+++ b/Adjust/examples/example-app-keyboard/build.gradle
@@ -7,12 +7,12 @@ repositories {
}
android {
- compileSdk 34
+ compileSdk 35
defaultConfig {
applicationId "com.adjust.examples.keyboard"
minSdkVersion 21
- targetSdkVersion 34
+ targetSdkVersion 35
versionCode 1
versionName "1.0"
}
diff --git a/Adjust/examples/example-app-kotlin/build.gradle b/Adjust/examples/example-app-kotlin/build.gradle
index 171d2fbe4..9b3b1fdaa 100644
--- a/Adjust/examples/example-app-kotlin/build.gradle
+++ b/Adjust/examples/example-app-kotlin/build.gradle
@@ -1,12 +1,12 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
- compileSdk 34
+ compileSdk 35
defaultConfig {
applicationId "com.adjust.examples"
minSdkVersion 21
- targetSdkVersion 34
+ targetSdkVersion 35
versionCode 1
versionName "1.0"
@@ -23,6 +23,11 @@ android {
sourceCompatibility 1.8
targetCompatibility 1.8
}
+
+ kotlinOptions {
+ jvmTarget = '1.8'
+ }
+
namespace 'com.adjust.examples'
}
diff --git a/Adjust/examples/example-app-tv/build.gradle b/Adjust/examples/example-app-tv/build.gradle
index 868be5b75..e8dd00592 100755
--- a/Adjust/examples/example-app-tv/build.gradle
+++ b/Adjust/examples/example-app-tv/build.gradle
@@ -7,12 +7,12 @@ repositories {
}
android {
- compileSdk 34
+ compileSdk 35
defaultConfig {
applicationId "com.adjust.examples"
minSdkVersion 21
- targetSdkVersion 34
+ targetSdkVersion 35
versionCode 1
versionName "1.0"
}
diff --git a/Adjust/examples/example-app-webbridge/build.gradle b/Adjust/examples/example-app-webbridge/build.gradle
index 008555960..34f57b92f 100644
--- a/Adjust/examples/example-app-webbridge/build.gradle
+++ b/Adjust/examples/example-app-webbridge/build.gradle
@@ -1,12 +1,12 @@
apply plugin: 'com.android.application'
android {
- compileSdk 34
+ compileSdk 35
defaultConfig {
applicationId "com.example.examples"
minSdkVersion 21
- targetSdkVersion 34
+ targetSdkVersion 35
versionCode 1
versionName "1.0"
}
diff --git a/Adjust/examples/example-app-webbridge/src/main/assets/AdjustExample-WebView.html b/Adjust/examples/example-app-webbridge/src/main/assets/AdjustExample-WebView.html
index 845ab2c2a..a9954282f 100755
--- a/Adjust/examples/example-app-webbridge/src/main/assets/AdjustExample-WebView.html
+++ b/Adjust/examples/example-app-webbridge/src/main/assets/AdjustExample-WebView.html
@@ -25,7 +25,8 @@
Adjust Web View SDK Demo
'Campaign = ' + attribution.campaign + '\n' +
'Adgroup = ' + attribution.adgroup + '\n' +
'Creative = ' + attribution.creative + '\n' +
- 'Click label = ' + attribution.clickLabel);
+ 'Click label = ' + attribution.clickLabel + '\n' +
+ 'Json response = ' + JSON.stringify(attribution.jsonResponse));
}
function eventSuccessCallback(eventSuccess) {
@@ -186,7 +187,8 @@ Adjust Web View SDK Demo
'Campaign = ' + attribution.campaign + '\n' +
'Adgroup = ' + attribution.adgroup + '\n' +
'Creative = ' + attribution.creative + '\n' +
- 'Click label = ' + attribution.clickLabel);
+ 'Click label = ' + attribution.clickLabel + '\n' +
+ 'Json response = ' + JSON.stringify(attribution.jsonResponse));
});
}
}
diff --git a/Adjust/gradle.properties b/Adjust/gradle.properties
index 4d0cdb1f3..666511cdf 100644
--- a/Adjust/gradle.properties
+++ b/Adjust/gradle.properties
@@ -22,5 +22,4 @@ org.gradle.parallel=true
org.gradle.configureondemand=true
android.useAndroidX=true
android.enableJetifier=true
-android.defaults.buildfeatures.buildconfig=true
-android.enableR8.fullMode=false
\ No newline at end of file
+android.enableR8.fullMode=true
\ No newline at end of file
diff --git a/Adjust/gradle/wrapper/gradle-wrapper.properties b/Adjust/gradle/wrapper/gradle-wrapper.properties
index 353db86d0..1cd7404c4 100644
--- a/Adjust/gradle/wrapper/gradle-wrapper.properties
+++ b/Adjust/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Fri Oct 06 12:16:52 CEST 2023
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/Adjust/plugins/sdk-plugin-huawei-referrer/build.gradle b/Adjust/plugins/sdk-plugin-huawei-referrer/build.gradle
index 7c51badb0..a0e6d90ba 100644
--- a/Adjust/plugins/sdk-plugin-huawei-referrer/build.gradle
+++ b/Adjust/plugins/sdk-plugin-huawei-referrer/build.gradle
@@ -9,7 +9,7 @@ repositories {
}
android {
- compileSdkVersion rootProject.ext.coreCompileSdkVersion
+ compileSdk rootProject.ext.coreCompileSdkVersion
publishing {
multipleVariants {
allVariants()
@@ -27,7 +27,7 @@ dependencies {
// Add SDK via module.
compileOnly project(':sdk-core')
// Add SDK via Maven.
- // implementation 'com.adjust.sdk:adjust-android:5.0.2'
+ // implementation 'com.adjust.sdk:adjust-android:5.1.0'
}
// read local properties
diff --git a/Adjust/plugins/sdk-plugin-imei/build.gradle b/Adjust/plugins/sdk-plugin-imei/build.gradle
index 110e3d144..bb79ba79d 100644
--- a/Adjust/plugins/sdk-plugin-imei/build.gradle
+++ b/Adjust/plugins/sdk-plugin-imei/build.gradle
@@ -30,7 +30,7 @@ dependencies {
// Add SDK via module.
compileOnly project(':sdk-core')
// Add SDK via Maven.
- // implementation 'com.adjust.sdk:adjust-android:5.0.2'
+ // implementation 'com.adjust.sdk:adjust-android:5.1.0'
}
// read local properties
diff --git a/Adjust/plugins/sdk-plugin-meta-referrer/build.gradle b/Adjust/plugins/sdk-plugin-meta-referrer/build.gradle
index 29cc774f9..9a00c4644 100644
--- a/Adjust/plugins/sdk-plugin-meta-referrer/build.gradle
+++ b/Adjust/plugins/sdk-plugin-meta-referrer/build.gradle
@@ -9,7 +9,7 @@ repositories {
}
android {
- compileSdkVersion rootProject.ext.coreCompileSdkVersion
+ compileSdk rootProject.ext.coreCompileSdkVersion
publishing {
multipleVariants {
allVariants()
@@ -27,7 +27,7 @@ dependencies {
// Add SDK via module.
compileOnly project(':sdk-core')
// Add SDK via Maven.
- // implementation 'com.adjust.sdk:adjust-android:5.0.2'
+ // implementation 'com.adjust.sdk:adjust-android:5.1.0'
}
// read local properties
diff --git a/Adjust/plugins/sdk-plugin-oaid/build.gradle b/Adjust/plugins/sdk-plugin-oaid/build.gradle
index 0c070a726..1ab59e8f3 100644
--- a/Adjust/plugins/sdk-plugin-oaid/build.gradle
+++ b/Adjust/plugins/sdk-plugin-oaid/build.gradle
@@ -33,7 +33,7 @@ dependencies {
// Add SDK via module.
compileOnly project(':sdk-core')
// Add SDK via Maven.
- // implementation 'com.adjust.sdk:adjust-android:5.0.2'
+ // implementation 'com.adjust.sdk:adjust-android:5.1.0'
implementation 'com.huawei.hms:ads-identifier:3.4.56.300'
}
diff --git a/Adjust/plugins/sdk-plugin-samsung-clouddev/build.gradle b/Adjust/plugins/sdk-plugin-samsung-clouddev/build.gradle
index e78086663..b61142afa 100644
--- a/Adjust/plugins/sdk-plugin-samsung-clouddev/build.gradle
+++ b/Adjust/plugins/sdk-plugin-samsung-clouddev/build.gradle
@@ -9,7 +9,7 @@ repositories {
}
android {
- compileSdkVersion rootProject.ext.coreCompileSdkVersion
+ compileSdk rootProject.ext.coreCompileSdkVersion
publishing {
multipleVariants {
allVariants()
@@ -27,7 +27,7 @@ dependencies {
// Add SDK via module.
compileOnly project(':sdk-core')
// Add SDK via Maven.
- // implementation 'com.adjust.sdk:adjust-android:5.0.2'
+ // implementation 'com.adjust.sdk:adjust-android:5.1.0'
// Add Samsung clouddev lib.
compileOnly fileTree(include: ['*.aar'], dir: 'libs')
diff --git a/Adjust/plugins/sdk-plugin-samsung-referrer/build.gradle b/Adjust/plugins/sdk-plugin-samsung-referrer/build.gradle
index fbeda8e4c..5b13bba97 100644
--- a/Adjust/plugins/sdk-plugin-samsung-referrer/build.gradle
+++ b/Adjust/plugins/sdk-plugin-samsung-referrer/build.gradle
@@ -9,7 +9,7 @@ repositories {
}
android {
- compileSdkVersion rootProject.ext.coreCompileSdkVersion
+ compileSdk rootProject.ext.coreCompileSdkVersion
publishing {
multipleVariants {
allVariants()
@@ -27,7 +27,7 @@ dependencies {
// Add SDK via module.
compileOnly project(':sdk-core')
// Add SDK via Maven.
- // implementation 'com.adjust.sdk:adjust-android:5.0.2'
+ // implementation 'com.adjust.sdk:adjust-android:5.1.0'
// Add Samsung referrer lib via Maven.
implementation 'store.galaxy.samsung.installreferrer:samsung_galaxystore_install_referrer:3.0.1'
diff --git a/Adjust/plugins/sdk-plugin-vivo-referrer/build.gradle b/Adjust/plugins/sdk-plugin-vivo-referrer/build.gradle
index 8b4d4f902..09de5cbca 100644
--- a/Adjust/plugins/sdk-plugin-vivo-referrer/build.gradle
+++ b/Adjust/plugins/sdk-plugin-vivo-referrer/build.gradle
@@ -30,7 +30,7 @@ dependencies {
// Add SDK via module.
compileOnly project(':sdk-core')
// Add SDK via Maven.
- // implementation 'com.adjust.sdk:adjust-android:5.0.2'
+ // implementation 'com.adjust.sdk:adjust-android:5.1.0'
}
// read local properties
diff --git a/Adjust/plugins/sdk-plugin-webbridge/build.gradle b/Adjust/plugins/sdk-plugin-webbridge/build.gradle
index dfd2c7eba..10d8efb5d 100644
--- a/Adjust/plugins/sdk-plugin-webbridge/build.gradle
+++ b/Adjust/plugins/sdk-plugin-webbridge/build.gradle
@@ -30,7 +30,7 @@ dependencies {
// Add SDK via module.
compileOnly project(':sdk-core')
// Add SDK via Maven.
- // implementation 'com.adjust.sdk:adjust-android:5.0.2'
+ // implementation 'com.adjust.sdk:adjust-android:5.1.0'
}
// read local properties
diff --git a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js
index dfb615df6..1089da05b 100644
--- a/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js
+++ b/Adjust/plugins/sdk-plugin-webbridge/src/main/assets/adjust.js
@@ -259,7 +259,7 @@ var Adjust = {
if (this.adjustConfig) {
return this.adjustConfig.getSdkPrefix();
} else {
- return 'web-bridge5.0.2';
+ return 'web-bridge5.1.0';
}
},
diff --git a/Adjust/plugins/sdk-plugin-webbridge/src/main/java/com/adjust/sdk/webbridge/AdjustBridgeUtil.java b/Adjust/plugins/sdk-plugin-webbridge/src/main/java/com/adjust/sdk/webbridge/AdjustBridgeUtil.java
index e0c0f2b4a..ea3c66654 100644
--- a/Adjust/plugins/sdk-plugin-webbridge/src/main/java/com/adjust/sdk/webbridge/AdjustBridgeUtil.java
+++ b/Adjust/plugins/sdk-plugin-webbridge/src/main/java/com/adjust/sdk/webbridge/AdjustBridgeUtil.java
@@ -141,6 +141,7 @@ public void run() {
jsonAttribution.put("costAmount", attribution.costAmount == null || attribution.costAmount.isNaN() ? 0 : attribution.costAmount);
jsonAttribution.put("costCurrency", attribution.costCurrency == null ? JSONObject.NULL : attribution.costCurrency);
jsonAttribution.put("fbInstallReferrer", attribution.fbInstallReferrer == null ? JSONObject.NULL : attribution.fbInstallReferrer);
+ jsonAttribution.put("jsonResponse", attribution.jsonResponse == null ? JSONObject.NULL : new JSONObject(attribution.jsonResponse));
String command = "javascript:" + commandName + "(" + jsonAttribution.toString() + ");";
webView.loadUrl(command);
diff --git a/Adjust/plugins/sdk-plugin-xiaomi-referrer/build.gradle b/Adjust/plugins/sdk-plugin-xiaomi-referrer/build.gradle
index fcc75c76e..3fe1860f4 100644
--- a/Adjust/plugins/sdk-plugin-xiaomi-referrer/build.gradle
+++ b/Adjust/plugins/sdk-plugin-xiaomi-referrer/build.gradle
@@ -31,7 +31,7 @@ dependencies {
// Add SDK via module.
compileOnly project(':sdk-core')
// Add SDK via Maven.
- // implementation 'com.adjust.sdk:adjust-android:5.0.2'
+ // implementation 'com.adjust.sdk:adjust-android:5.1.0'
// Add xiaomi referrer lib via Maven.
implementation 'com.miui.referrer:homereferrer:1.0.0.6'
diff --git a/Adjust/sdk-core/build.gradle b/Adjust/sdk-core/build.gradle
index 2955e3c5b..3179aec79 100644
--- a/Adjust/sdk-core/build.gradle
+++ b/Adjust/sdk-core/build.gradle
@@ -220,7 +220,7 @@ def customizePomForAar(pom) {
dependency {
groupId 'com.adjust.signature'
artifactId 'adjust-android-signature'
- version '3.35.0'
+ version '3.35.2'
scope 'compile'
}
}
diff --git a/Adjust/sdk-core/proguard-rules.pro b/Adjust/sdk-core/proguard-rules.pro
index 85e1fa3e3..2f9427164 100644
--- a/Adjust/sdk-core/proguard-rules.pro
+++ b/Adjust/sdk-core/proguard-rules.pro
@@ -16,7 +16,7 @@
# public *;
#}
-keep public class com.adjust.sdk.** { *; }
--keep class com.adjust.sdk.DeviceInfo**
+-keep class com.adjust.sdk.**
-keepclassmembers class com.adjust.sdk.DeviceInfo** {*;}
-keep class com.google.android.gms.common.ConnectionResult {
int SUCCESS;
diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityHandler.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityHandler.java
index 13aefc3f7..26eabdf0c 100644
--- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityHandler.java
+++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityHandler.java
@@ -212,23 +212,28 @@ public boolean hasPreinstallBeenRead() {
// region SystemLifecycleCallback
@Override public void onActivityLifecycle(final boolean foregroundOrElseBackground) {
- executor.submit(() -> {
- if (internalState.foregroundOrElseBackground != null
- && internalState.foregroundOrElseBackground.booleanValue()
- == foregroundOrElseBackground)
- {
- return;
- }
- // received foregroundOrElseBackground is strictly different from internal state one
+ try {
+ executor.submit(() -> {
+ if (internalState.foregroundOrElseBackground != null
+ && internalState.foregroundOrElseBackground.booleanValue()
+ == foregroundOrElseBackground) {
+ return;
+ }
+ // received foregroundOrElseBackground is strictly different from internal state one
- this.internalState.foregroundOrElseBackground = foregroundOrElseBackground;
+ this.internalState.foregroundOrElseBackground = foregroundOrElseBackground;
- if (foregroundOrElseBackground) {
- onResumeI();
- } else {
- onPauseI();
+ if (foregroundOrElseBackground) {
+ onResumeI();
+ } else {
+ onPauseI();
+ }
+ });
+ } catch (Exception e) {
+ if (logger != null) {
+ logger.error("Exception while executing onActivityLifecycle task");
}
- });
+ }
}
// endregion
@@ -420,8 +425,12 @@ public void isEnabled(OnIsEnabledListener onIsEnabledListener) {
executor.submit(new Runnable() {
@Override
public void run() {
- onIsEnabledListener.onIsEnabledRead(isEnabledI());
- }
+ new Handler(adjustConfig.context.getMainLooper()).post(new Runnable() {
+ @Override
+ public void run() {
+ onIsEnabledListener.onIsEnabledRead(isEnabledI());
+ }
+ }); }
});
}
diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java
index 7d6b9fa63..d745c3a3e 100644
--- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java
+++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java
@@ -32,7 +32,7 @@ private Adjust() {
*/
public static synchronized AdjustInstance getDefaultInstance() {
@SuppressWarnings("unused")
- String VERSION = "!SDK-VERSION-STRING!:com.adjust.sdk:adjust-android:5.0.2";
+ String VERSION = "!SDK-VERSION-STRING!:com.adjust.sdk:adjust-android:5.1.0";
if (defaultInstance == null) {
defaultInstance = new AdjustInstance();
diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustAttribution.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustAttribution.java
index 229d1b2aa..6323d2b11 100644
--- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustAttribution.java
+++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustAttribution.java
@@ -27,6 +27,7 @@ public class AdjustAttribution implements Serializable {
new ObjectStreamField("costAmount", Double.class),
new ObjectStreamField("costCurrency", String.class),
new ObjectStreamField("fbInstallReferrer", String.class),
+ new ObjectStreamField("jsonResponse", String.class),
};
public String trackerToken;
@@ -40,6 +41,7 @@ public class AdjustAttribution implements Serializable {
public Double costAmount;
public String costCurrency;
public String fbInstallReferrer;
+ public String jsonResponse;
@Override
public boolean equals(Object other) {
@@ -76,6 +78,7 @@ public Map toMap() {
if (costAmount != null) fields.put("costAmount", costAmount.toString());
if (costCurrency != null) fields.put("costCurrency", costCurrency);
if (fbInstallReferrer != null) fields.put("fbInstallReferrer", fbInstallReferrer);
+ if (jsonResponse != null) fields.put("jsonResponse", jsonResponse);
return fields;
}
diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java
index a7ca156ea..ed4c7e86e 100644
--- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java
+++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java
@@ -37,7 +37,7 @@ public interface Constants {
String SCHEME = "https";
String AUTHORITY = "app.adjust.com";
- String CLIENT_SDK = "android5.0.2";
+ String CLIENT_SDK = "android5.1.0";
String LOGTAG = "Adjust";
String REFTAG = "reftag";
String INSTALL_REFERRER = "install_referrer";
diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/Util.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/Util.java
index 6264fb8a3..d8f7f4b11 100644
--- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/Util.java
+++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/Util.java
@@ -751,6 +751,8 @@ public static AdjustAttribution attributionFromJson(final JSONObject jsonObject,
AdjustAttribution attribution = new AdjustAttribution();
+ attribution.jsonResponse = jsonObject.toString();
+
if ("unity".equals(sdkPlatform)) {
// Unity platform.
attribution.trackerToken = jsonObject.optString("tracker_token", "");
diff --git a/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java b/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java
index a22a1a51a..f95a91093 100644
--- a/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java
+++ b/Adjust/tests/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java
@@ -364,6 +364,7 @@ public void onAttributionChanged(AdjustAttribution attribution) {
if (attribution.costAmount != null) fields.put("cost_amount", attribution.costAmount.toString());
if (attribution.costCurrency != null) fields.put("cost_currency", attribution.costCurrency);
if (attribution.fbInstallReferrer != null) fields.put("fb_install_referrer", attribution.fbInstallReferrer);
+ if (attribution.jsonResponse != null) fields.put("json_response", attribution.jsonResponse);
MainActivity.testLibrary.setInfoToSend(fields);
MainActivity.testLibrary.sendInfoToServer(localBasePath);
}
@@ -879,6 +880,8 @@ private void attributionGetter() {
fields.put("cost_currency", attribution.costCurrency);
if (attribution.fbInstallReferrer != null)
fields.put("fb_install_referrer", attribution.fbInstallReferrer);
+ if (attribution.jsonResponse != null)
+ fields.put("json_response", attribution.jsonResponse);
MainActivity.testLibrary.setInfoToSend(fields);
MainActivity.testLibrary.sendInfoToServer(basePath);
diff --git a/Adjust/tests/test-app-webbridge/src/main/assets/command_executor.js b/Adjust/tests/test-app-webbridge/src/main/assets/command_executor.js
index 698d45a9b..b27607706 100644
--- a/Adjust/tests/test-app-webbridge/src/main/assets/command_executor.js
+++ b/Adjust/tests/test-app-webbridge/src/main/assets/command_executor.js
@@ -345,6 +345,7 @@ AdjustCommandExecutor.prototype.config = function(params) {
TestLibrary.addInfoToSend("cost_amount", attribution.costAmount);
TestLibrary.addInfoToSend("cost_currency", attribution.costCurrency);
TestLibrary.addInfoToSend("fb_install_referrer", attribution.fbInstallReferrer);
+ TestLibrary.addInfoToSend("json_response", JSON.stringify(attribution.jsonResponse));
TestLibrary.sendInfoToServer(basePath);
});
@@ -653,6 +654,7 @@ AdjustCommandExecutor.prototype.attributionGetter = function(params) {
TestLibrary.addInfoToSend("cost_amount", attribution.costAmount);
TestLibrary.addInfoToSend("cost_currency", attribution.costCurrency);
TestLibrary.addInfoToSend("fb_install_referrer", attribution.fbInstallReferrer);
+ TestLibrary.addInfoToSend("json_response", JSON.stringify(attribution.jsonResponse));
TestLibrary.sendInfoToServer(basePath);
});
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7b7dc36ff..ade3b2998 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,17 @@
+### Version 5.1.0 (28th January 2025)
+#### Added
+- Added `jsonResponse` field (JSON string) to `AdjustAttribution` where every key-value pair sent by the backend as part of the attribution response can be found. Equivalently, one can also find `jsonResponse` field being part of the attribution instance in the web bridge API.
+
+#### Fixed
+- Fixed occasional NPE occurrences when app was entering background (https://github.com/adjust/android_sdk/issues/630).
+
+#### Changed
+- Updated Gradle version to 8.8.0.
+- Updated the Adjust Signature library version to 3.35.2.
+- Updated `isEnabled` listener to be invoked from the main thread.
+
+---
+
### Version 5.0.2 (5th December 2024)
#### Changed
- Switched to depending on a specific version of the signature library.
diff --git a/VERSION b/VERSION
index a1ef0cae1..831446cbd 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5.0.2
+5.1.0