Skip to content

Commit 8fda767

Browse files
authored
Merge pull request #558 from adjust/v500_sdk1939_sdk1941_sdk1999
[Android] All about endpoints manipulation
2 parents 69f3b98 + fa72ebd commit 8fda767

File tree

9 files changed

+162
-149
lines changed

9 files changed

+162
-149
lines changed

Adjust/example-app-java/src/main/java/com/adjust/examples/GlobalApplication.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
import com.adjust.sdk.OnSessionTrackingFailedListener;
2727
import com.adjust.sdk.OnSessionTrackingSucceededListener;
2828

29+
import java.util.ArrayList;
30+
import java.util.List;
31+
2932
/**
3033
* Created by pfms on 17/12/14.
3134
*/
@@ -62,6 +65,14 @@ public void onFinishedEventTrackingSucceeded(AdjustEventSuccess eventSuccessResp
6265
}
6366
});
6467

68+
69+
// Set url strategy
70+
// List<String> urlStrategy = new ArrayList<>();
71+
// urlStrategy.add("adjust.com");
72+
// urlStrategy.add("adjust.cn");
73+
// urlStrategy.add("eu.adjust.com");
74+
// config.setUrlStrategy(urlStrategy , true, false);
75+
6576
// Set event failure tracking delegate.
6677
config.setOnEventTrackingFailedListener(new OnEventTrackingFailedListener() {
6778
@Override

Adjust/example-app-webbridge/src/main/assets/AdjustExample-WebView.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ <h1 style="width:400px;height:35px;text-align:center;">Adjust Web View SDK Demo
7272
adjustConfig.setSessionFailureCallback(sessionFailureCallback);
7373
adjustConfig.setDeferredDeeplinkCallback(deferredDeeplinkCallback);
7474

75+
<!-- adjustConfig.setUrlStrategy(['adjust.com','adjust.cn','eu.adjust.com'], true, true);-->
76+
7577
Adjust.initSdk(adjustConfig);
7678

7779
window.onload = function() {

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

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -951,7 +951,8 @@ public void run() {
951951

952952
IActivityPackageSender packageHandlerActivitySender =
953953
new ActivityPackageSender(
954-
adjustConfig.urlStrategy,
954+
adjustConfig.urlStrategyDomains,
955+
adjustConfig.useSubdomains,
955956
adjustConfig.basePath,
956957
adjustConfig.gdprPath,
957958
adjustConfig.subscriptionPath,
@@ -966,7 +967,8 @@ public void run() {
966967

967968
IActivityPackageSender attributionHandlerActivitySender =
968969
new ActivityPackageSender(
969-
adjustConfig.urlStrategy,
970+
adjustConfig.urlStrategyDomains,
971+
adjustConfig.useSubdomains,
970972
adjustConfig.basePath,
971973
adjustConfig.gdprPath,
972974
adjustConfig.subscriptionPath,
@@ -981,7 +983,8 @@ public void run() {
981983

982984
IActivityPackageSender sdkClickHandlerActivitySender =
983985
new ActivityPackageSender(
984-
adjustConfig.urlStrategy,
986+
adjustConfig.urlStrategyDomains,
987+
adjustConfig.useSubdomains,
985988
adjustConfig.basePath,
986989
adjustConfig.gdprPath,
987990
adjustConfig.subscriptionPath,
@@ -996,7 +999,8 @@ public void run() {
996999

9971000
IActivityPackageSender purchaseVerificationHandlerActivitySender =
9981001
new ActivityPackageSender(
999-
adjustConfig.urlStrategy,
1002+
adjustConfig.urlStrategyDomains,
1003+
adjustConfig.useSubdomains,
10001004
adjustConfig.basePath,
10011005
adjustConfig.gdprPath,
10021006
adjustConfig.subscriptionPath,
@@ -2496,11 +2500,13 @@ private void verifyPurchaseI(final AdjustPurchase purchase, final OnPurchaseVeri
24962500
return;
24972501
}
24982502
// from this moment on we know that we can ping client callback in case of error
2499-
if (adjustConfig.urlStrategy != null &&
2500-
(adjustConfig.urlStrategy.equals(AdjustConfig.DATA_RESIDENCY_EU) ||
2501-
adjustConfig.urlStrategy.equals(AdjustConfig.DATA_RESIDENCY_US) ||
2502-
adjustConfig.urlStrategy.equals(AdjustConfig.DATA_RESIDENCY_TR))) {
2503+
if (adjustConfig.isDataResidency) {
25032504
logger.warn("Purchase verification not available for data residency users right now");
2505+
AdjustPurchaseVerificationResult result = new AdjustPurchaseVerificationResult(
2506+
"not_verified",
2507+
109,
2508+
"Purchase verification not available for data residency users right now");
2509+
callback.onVerificationFinished(result);
25042510
return;
25052511
}
25062512
if (!checkActivityStateI(activityState)) {

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

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import android.content.Context;
44

55
import java.util.ArrayList;
6+
import java.util.List;
67

78
/**
89
* Created by pfms on 06/11/14.
@@ -34,7 +35,9 @@ public class AdjustConfig {
3435
String externalDeviceId;
3536
boolean preinstallTrackingEnabled;
3637
Boolean needsCost;
37-
String urlStrategy;
38+
List<String> urlStrategyDomains;
39+
boolean useSubdomains;
40+
boolean isDataResidency;
3841
String preinstallFilePath;
3942
String fbAppId;
4043
boolean shouldReadDeviceIdsOnce;
@@ -46,14 +49,6 @@ public class AdjustConfig {
4649
public static final String ENVIRONMENT_SANDBOX = "sandbox";
4750
public static final String ENVIRONMENT_PRODUCTION = "production";
4851

49-
public static final String URL_STRATEGY_INDIA = "url_strategy_india";
50-
public static final String URL_STRATEGY_CHINA = "url_strategy_china";
51-
public static final String URL_STRATEGY_CN = "url_strategy_cn";
52-
public static final String URL_STRATEGY_CN_ONLY = "url_strategy_cn_only";
53-
public static final String DATA_RESIDENCY_EU = "data_residency_eu";
54-
public static final String DATA_RESIDENCY_TR = "data_residency_tr";
55-
public static final String DATA_RESIDENCY_US = "data_residency_us";
56-
5752
public AdjustConfig(Context context, String appToken, String environment) {
5853
init(context, appToken, environment, false);
5954
}
@@ -164,21 +159,14 @@ public boolean isValid() {
164159
return true;
165160
}
166161

167-
public void setUrlStrategy(String urlStrategy) {
168-
if (urlStrategy == null || urlStrategy.isEmpty()) {
162+
public void setUrlStrategy(List<String> domains, boolean useSubdomains, boolean isDataResidency) {
163+
if (domains == null || domains.isEmpty()) {
169164
logger.error("Invalid url strategy");
170165
return;
171166
}
172-
if (!urlStrategy.equals(URL_STRATEGY_INDIA)
173-
&& !urlStrategy.equals(URL_STRATEGY_CHINA)
174-
&& !urlStrategy.equals(URL_STRATEGY_CN)
175-
&& !urlStrategy.equals(URL_STRATEGY_CN_ONLY)
176-
&& !urlStrategy.equals(DATA_RESIDENCY_EU)
177-
&& !urlStrategy.equals(DATA_RESIDENCY_TR)
178-
&& !urlStrategy.equals(DATA_RESIDENCY_US)) {
179-
logger.warn("Unrecognised url strategy %s", urlStrategy);
180-
}
181-
this.urlStrategy = urlStrategy;
167+
this.urlStrategyDomains = domains;
168+
this.useSubdomains = useSubdomains;
169+
this.isDataResidency = isDataResidency;
182170
}
183171

184172
public void readDeviceIdsOnce() {
@@ -297,8 +285,8 @@ public Boolean getNeedsCost() {
297285
return needsCost;
298286
}
299287

300-
public String getUrlStrategy() {
301-
return urlStrategy;
288+
public List<String> getUrlStrategyDomains() {
289+
return urlStrategyDomains;
302290
}
303291

304292
public String getPreinstallFilePath() {

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@ public interface Constants {
2828
String SUBSCRIPTION_URL = "https://subscription.adjust.com";
2929
String PURCHASE_VERIFICATION_URL = "https://ssrv.adjust.com";
3030

31+
String BASE_URL_FORMAT = "https://app.%s";
32+
String GDPR_URL_FORMAT = "https://gdpr.%s";
33+
String SUBSCRIPTION_URL_FORMAT = "https://subscription.%s";
34+
String PURCHASE_VERIFICATION_URL_FORMAT = "https://ssrv.%s";
35+
36+
String BASE_URL_NO_SUB_DOMAIN_FORMAT = "https://%s";
37+
3138
String SCHEME = "https";
3239
String AUTHORITY = "app.adjust.com";
3340
String CLIENT_SDK = "android5.0.0";

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.net.URLEncoder;
3636
import java.util.HashMap;
3737
import java.util.Iterator;
38+
import java.util.List;
3839
import java.util.Map;
3940

4041
import javax.net.ssl.HttpsURLConnection;
@@ -54,7 +55,8 @@ public class ActivityPackageSender implements IActivityPackageSender {
5455
private IConnectionOptions connectionOptions;
5556
private Context context;
5657

57-
public ActivityPackageSender(final String adjustUrlStrategy,
58+
public ActivityPackageSender(final List<String> urlStrategyDomains,
59+
final boolean useSubdomains,
5860
final String basePath,
5961
final String gdprPath,
6062
final String subscriptionPath,
@@ -76,7 +78,8 @@ public ActivityPackageSender(final String adjustUrlStrategy,
7678
AdjustFactory.getGdprUrl(),
7779
AdjustFactory.getSubscriptionUrl(),
7880
AdjustFactory.getPurchaseVerificationUrl(),
79-
adjustUrlStrategy);
81+
urlStrategyDomains,
82+
useSubdomains);
8083
httpsURLConnectionProvider = AdjustFactory.getHttpsURLConnectionProvider();
8184
connectionOptions = AdjustFactory.getConnectionOptions();
8285
}

0 commit comments

Comments
 (0)