Skip to content

Commit edfe327

Browse files
authored
Merge pull request #580 from adjust/v4350
Version 4.35.0
2 parents fa12535 + 52c1326 commit edfe327

File tree

24 files changed

+100
-22
lines changed

24 files changed

+100
-22
lines changed

Adjust/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ext {
99
coreMinSdkVersion = 9
1010
coreCompileSdkVersion = 33
1111
coreTargetSdkVersion = 33
12-
coreVersionName = '4.34.0'
12+
coreVersionName = '4.35.0'
1313
defaultVersionCode = 1
1414
webbridgeMinSdkVersion = 17
1515
samsungReferrerMinSdkVersion = 18

Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityHandler.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,11 @@ public boolean updateAttributionI(AdjustAttribution attribution) {
457457
return false;
458458
}
459459

460+
if (adjustConfig.finalAttributionEnabled && activityState.askingAttribution) {
461+
logger.info("Not updating intermediate attribution");
462+
return false;
463+
}
464+
460465
if (attribution.equals(this.attribution)) {
461466
return false;
462467
}

Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityPackage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ public String getExtendedString() {
200200
if (parameters != null) {
201201
builder.append("Parameters:");
202202
SortedMap<String,String> sortedParameters = new TreeMap<String,String>(parameters);
203-
List<String> stringsToExclude = Arrays.asList("app_secret", "secret_id", "event_callback_id");
203+
List<String> stringsToExclude = Arrays.asList("app_secret", "secret_id", "event_callback_id", "adj_signing_id");
204204
for (Map.Entry<String,String> entry : sortedParameters.entrySet() ) {
205205
String key = entry.getKey();
206206
if (stringsToExclude.contains(key)) {

Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ private Adjust() {
3434
*/
3535
public static synchronized AdjustInstance getDefaultInstance() {
3636
@SuppressWarnings("unused")
37-
String VERSION = "!SDK-VERSION-STRING!:com.adjust.sdk:adjust-android:4.34.0";
37+
String VERSION = "!SDK-VERSION-STRING!:com.adjust.sdk:adjust-android:4.35.0";
3838

3939
if (defaultInstance == null) {
4040
defaultInstance = new AdjustInstance();

Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public class AdjustConfig {
4444
String preinstallFilePath;
4545
boolean playStoreKidsAppEnabled;
4646
boolean coppaCompliantEnabled;
47+
boolean finalAttributionEnabled;
4748

4849
public static final String ENVIRONMENT_SANDBOX = "sandbox";
4950
public static final String ENVIRONMENT_PRODUCTION = "production";
@@ -197,6 +198,10 @@ public void setCoppaCompliantEnabled(boolean coppaCompliantEnabled) {
197198
this.coppaCompliantEnabled = coppaCompliantEnabled;
198199
}
199200

201+
public void setFinalAttributionEnabled(boolean finalAttributionEnabled) {
202+
this.finalAttributionEnabled = finalAttributionEnabled;
203+
}
204+
200205
public boolean isValid() {
201206
if (!checkAppToken(appToken)) return false;
202207
if (!checkEnvironment(environment)) return false;

Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public interface Constants {
3030

3131
String SCHEME = "https";
3232
String AUTHORITY = "app.adjust.com";
33-
String CLIENT_SDK = "android4.34.0";
33+
String CLIENT_SDK = "android4.35.0";
3434
String LOGTAG = "Adjust";
3535
String REFTAG = "reftag";
3636
String INSTALL_REFERRER = "install_referrer";

Adjust/sdk-core/src/main/java/com/adjust/sdk/network/ActivityPackageSender.java

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -529,18 +529,25 @@ private String buildAndExtractAuthorizationHeader(final Map<String, String> para
529529
final ActivityKind activityKind) {
530530
String activityKindString = activityKind.toString();
531531

532+
String adjSigningId = extractAdjSigningId(parameters);
532533
String secretId = extractSecretId(parameters);
533534
String headersId = extractHeadersId(parameters);
534535
String signature = extractSignature(parameters);
535536
String algorithm = extractAlgorithm(parameters);
536537
String nativeVersion = extractNativeVersion(parameters);
537538

538-
String authorizationHeader = buildAuthorizationHeaderV2(signature, secretId,
539+
String authorizationHeader = buildAuthorizationHeaderV2WithAdjSigningId(signature, adjSigningId,
539540
headersId, algorithm, nativeVersion);
540541
if (authorizationHeader != null) {
541542
return authorizationHeader;
542543
}
543544

545+
authorizationHeader = buildAuthorizationHeaderV2WithSecretId(signature, secretId, headersId,
546+
algorithm, nativeVersion);
547+
if (authorizationHeader != null) {
548+
return authorizationHeader;
549+
}
550+
544551
String appSecret = extractAppSecret(parameters);
545552
return buildAuthorizationHeaderV1(parameters, appSecret, secretId, activityKindString);
546553
}
@@ -574,11 +581,35 @@ private String buildAuthorizationHeaderV1(final Map<String, String> parameters,
574581
return authorizationHeader;
575582
}
576583

577-
private String buildAuthorizationHeaderV2(final String signature,
578-
final String secretId,
579-
final String headersId,
580-
final String algorithm,
581-
final String nativeVersion)
584+
private String buildAuthorizationHeaderV2WithAdjSigningId(final String signature,
585+
final String adjSigningId,
586+
final String headersId,
587+
final String algorithm,
588+
final String nativeVersion)
589+
{
590+
if (adjSigningId == null || signature == null || headersId == null) {
591+
return null;
592+
}
593+
594+
String signatureHeader = Util.formatString("signature=\"%s\"", signature);
595+
String adjSigningIdHeader = Util.formatString("adj_signing_id=\"%s\"", adjSigningId);
596+
String idHeader = Util.formatString("headers_id=\"%s\"", headersId);
597+
String algorithmHeader = Util.formatString("algorithm=\"%s\"", algorithm != null ? algorithm : "adj1");
598+
String nativeVersionHeader = Util.formatString("native_version=\"%s\"", nativeVersion != null ? nativeVersion : "");
599+
600+
String authorizationHeader = Util.formatString("Signature %s,%s,%s,%s,%s",
601+
signatureHeader, adjSigningIdHeader, algorithmHeader, idHeader, nativeVersionHeader);
602+
603+
logger.verbose("authorizationHeader: %s", authorizationHeader);
604+
605+
return authorizationHeader;
606+
}
607+
608+
private String buildAuthorizationHeaderV2WithSecretId(final String signature,
609+
final String secretId,
610+
final String headersId,
611+
final String algorithm,
612+
final String nativeVersion)
582613
{
583614
if (secretId == null || signature == null || headersId == null) {
584615
return null;
@@ -702,4 +733,10 @@ private static String extractHeadersId(final Map<String, String> parameters) {
702733
private static void extractEventCallbackId(final Map<String, String> parameters) {
703734
parameters.remove("event_callback_id");
704735
}
736+
737+
private static String extractAdjSigningId(final Map<String, String> parameters) {
738+
return parameters.remove("adj_signing_id");
739+
}
740+
741+
705742
}

Adjust/sdk-plugin-criteo/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ dependencies {
2323
// Add SDK via module.
2424
compileOnly project(':sdk-core')
2525
// Add SDK via Maven.
26-
// implementation 'com.adjust.sdk:adjust-android:4.34.0'
26+
// implementation 'com.adjust.sdk:adjust-android:4.35.0'
2727
}
2828

2929
// read local properties

Adjust/sdk-plugin-imei/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ dependencies {
2222
// Add SDK via module.
2323
compileOnly project(':sdk-core')
2424
// Add SDK via Maven.
25-
// implementation 'com.adjust.sdk:adjust-android:4.34.0'
25+
// implementation 'com.adjust.sdk:adjust-android:4.35.0'
2626
}
2727

2828
// read local properties

Adjust/sdk-plugin-oaid/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ dependencies {
2525
// Add SDK via module.
2626
compileOnly project(':sdk-core')
2727
// Add SDK via Maven.
28-
// implementation 'com.adjust.sdk:adjust-android:4.34.0'
28+
// implementation 'com.adjust.sdk:adjust-android:4.35.0'
2929
implementation 'com.huawei.hms:ads-identifier:3.4.56.300'
3030
}
3131

0 commit comments

Comments
 (0)