diff --git a/Adjust/build.gradle b/Adjust/build.gradle index 3e53731b1..3eee7164a 100644 --- a/Adjust/build.gradle +++ b/Adjust/build.gradle @@ -9,7 +9,7 @@ ext { coreMinSdkVersion = 9 coreCompileSdkVersion = 30 coreTargetSdkVersion = 30 - coreVersionName = '4.28.0' + coreVersionName = '4.28.1' defaultVersionCode = 1 webbridgeMinSdkVersion = 17 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 9e80d6674..ed2b88375 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:4.28.0"; + String VERSION = "!SDK-VERSION-STRING!:com.adjust.sdk:adjust-android:4.28.1"; if (defaultInstance == null) { defaultInstance = new AdjustInstance(); diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java index b36b6b929..9a2c8cc0f 100644 --- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java +++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java @@ -49,6 +49,7 @@ public class AdjustConfig { public static final String URL_STRATEGY_CHINA = "url_strategy_china"; public static final String DATA_RESIDENCY_EU = "data_residency_eu"; public static final String DATA_RESIDENCY_TR = "data_residency_tr"; + public static final String DATA_RESIDENCY_US = "data_residency_us"; public static final String AD_REVENUE_APPLOVIN_MAX = "applovin_max_sdk"; public static final String AD_REVENUE_MOPUB = "mopub"; diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/LinkResolution.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustLinkResolution.java similarity index 71% rename from Adjust/sdk-core/src/main/java/com/adjust/sdk/LinkResolution.java rename to Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustLinkResolution.java index 1a7df8218..668fa2080 100644 --- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/LinkResolution.java +++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustLinkResolution.java @@ -1,38 +1,40 @@ package com.adjust.sdk; +import android.net.Uri; + import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -public final class LinkResolution { - public interface LinkResolutionCallback { - void resolvedLinkCallback(URL resolvedLink); +public final class AdjustLinkResolution { + public interface AdjustLinkResolutionCallback { + void resolvedLinkCallback(Uri resolvedLink); } // https://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html private static volatile ExecutorService executor; - private static final int maxRecursions = 3; + private static final int maxRecursions = 10; private static final String[] expectedUrlHostSuffixArray = { "adjust.com", "adj.st", "go.link" }; - private LinkResolution() { } + private AdjustLinkResolution() { } public static void resolveLink(final String url, final String[] resolveUrlSuffixArray, - final LinkResolutionCallback linkResolutionCallback) + final AdjustLinkResolutionCallback adjustLinkResolutionCallback) { - if (linkResolutionCallback == null) { + if (adjustLinkResolutionCallback == null) { return; } if (url == null) { - linkResolutionCallback.resolvedLinkCallback(null); + adjustLinkResolutionCallback.resolvedLinkCallback(null); return; } @@ -43,12 +45,13 @@ public static void resolveLink(final String url, } if (originalURL == null) { - linkResolutionCallback.resolvedLinkCallback(null); + adjustLinkResolutionCallback.resolvedLinkCallback(null); return; } if (! urlMatchesSuffix(originalURL.getHost(), resolveUrlSuffixArray)) { - linkResolutionCallback.resolvedLinkCallback(originalURL); + adjustLinkResolutionCallback.resolvedLinkCallback( + AdjustLinkResolution.convertToUri(originalURL)); return; } @@ -64,7 +67,7 @@ public static void resolveLink(final String url, executor.execute(new Runnable() { @Override public void run() { - requestAndResolve(finalOriginalURL, 0, linkResolutionCallback); + requestAndResolve(finalOriginalURL, 0, adjustLinkResolutionCallback); } }); } @@ -72,32 +75,35 @@ private static void resolveLink( final URL responseUrl, final URL previousUrl, final int recursionNumber, - final LinkResolutionCallback linkResolutionCallback) + final AdjustLinkResolutionCallback adjustLinkResolutionCallback) { // return (possible null) previous url when the current one does not exist if (responseUrl == null) { - linkResolutionCallback.resolvedLinkCallback(previousUrl); + adjustLinkResolutionCallback.resolvedLinkCallback( + AdjustLinkResolution.convertToUri(previousUrl)); return; } // return found url with expected host if (isTerminalUrl(responseUrl.getHost())) { - linkResolutionCallback.resolvedLinkCallback(responseUrl); + adjustLinkResolutionCallback.resolvedLinkCallback( + AdjustLinkResolution.convertToUri(responseUrl)); return; } // return previous (non-null) url when it reached the max number of recursive tries if (recursionNumber > maxRecursions) { - linkResolutionCallback.resolvedLinkCallback(responseUrl); + adjustLinkResolutionCallback.resolvedLinkCallback( + AdjustLinkResolution.convertToUri(responseUrl)); return; } - requestAndResolve(responseUrl, recursionNumber, linkResolutionCallback); + requestAndResolve(responseUrl, recursionNumber, adjustLinkResolutionCallback); } private static void requestAndResolve(final URL urlToRequest, final int recursionNumber, - final LinkResolutionCallback linkResolutionCallback) + final AdjustLinkResolutionCallback adjustLinkResolutionCallback) { final URL httpsUrl = convertToHttps(urlToRequest); URL resolvedURL = null; @@ -122,7 +128,7 @@ private static void requestAndResolve(final URL urlToRequest, resolveLink(resolvedURL, httpsUrl, recursionNumber + 1, - linkResolutionCallback); + adjustLinkResolutionCallback); } } @@ -170,4 +176,12 @@ private static URL convertToHttps(final URL urlToConvert) { return convertedUrl; } + + private static Uri convertToUri(URL url) { + if (url == null) { + return null; + } + + return Uri.parse(url.toString()); + } } 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 21b00f359..3d0343225 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 @@ -29,7 +29,7 @@ public interface Constants { String SCHEME = "https"; String AUTHORITY = "app.adjust.com"; - String CLIENT_SDK = "android4.28.0"; + String CLIENT_SDK = "android4.28.1"; String LOGTAG = "Adjust"; String REFTAG = "reftag"; String INSTALL_REFERRER = "install_referrer"; diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageBuilder.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageBuilder.java index f5c31f0b7..68648f1b6 100644 --- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageBuilder.java +++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageBuilder.java @@ -1084,7 +1084,7 @@ private Map getAdRevenueParameters(AdjustAdRevenue adjustAdReven PackageBuilder.addString(parameters, "screen_size", deviceInfo.screenSize); PackageBuilder.addString(parameters, "secret_id", adjustConfig.secretId); PackageBuilder.addString(parameters, "source", adjustAdRevenue.source); - PackageBuilder.addDouble(parameters, "revenue", adjustAdRevenue.revenue); + PackageBuilder.addDoubleWithoutRounding(parameters, "revenue", adjustAdRevenue.revenue); PackageBuilder.addString(parameters, "currency", adjustAdRevenue.currency); PackageBuilder.addInteger(parameters, "ad_impressions_count", adjustAdRevenue.adImpressionsCount); PackageBuilder.addString(parameters, "ad_revenue_network", adjustAdRevenue.adRevenueNetwork); @@ -1290,6 +1290,14 @@ private static void addDouble(Map parameters, String key, Double PackageBuilder.addString(parameters, key, doubleString); } + private static void addDoubleWithoutRounding(Map parameters, String key, Double value) { + if (value == null) { + return; + } + String doubleString = Double.toString(value); + PackageBuilder.addString(parameters, key, doubleString); + } + private static void addInteger(Map parameters, String key, Integer value) { if (value == null) { return; diff --git a/Adjust/sdk-core/src/main/java/com/adjust/sdk/network/UrlStrategy.java b/Adjust/sdk-core/src/main/java/com/adjust/sdk/network/UrlStrategy.java index 7c83bbbef..19f6be466 100644 --- a/Adjust/sdk-core/src/main/java/com/adjust/sdk/network/UrlStrategy.java +++ b/Adjust/sdk-core/src/main/java/com/adjust/sdk/network/UrlStrategy.java @@ -8,6 +8,7 @@ import java.util.List; import static com.adjust.sdk.AdjustConfig.DATA_RESIDENCY_TR; +import static com.adjust.sdk.AdjustConfig.DATA_RESIDENCY_US; import static com.adjust.sdk.AdjustConfig.URL_STRATEGY_CHINA; import static com.adjust.sdk.AdjustConfig.URL_STRATEGY_INDIA; import static com.adjust.sdk.AdjustConfig.DATA_RESIDENCY_EU; @@ -29,6 +30,10 @@ public class UrlStrategy { private static final String GDPR_URL_TR = "https://gdpr.tr.adjust.com"; private static final String SUBSCRIPTION_URL_TR = "https://subscription.tr.adjust.com"; + private static final String BASE_URL_US = "https://app.us.adjust.com"; + private static final String GDPR_URL_US = "https://gdpr.us.adjust.com"; + private static final String SUBSCRIPTION_URL_US = "https://subscription.us.adjust.com"; + private final String baseUrlOverwrite; private final String gdprUrlOverwrite; private final String subscriptionUrlOverwrite; @@ -134,6 +139,8 @@ private static List baseUrlChoices(final String urlStrategy) return Collections.singletonList(BASE_URL_EU); } else if (DATA_RESIDENCY_TR.equals(urlStrategy)) { return Collections.singletonList(BASE_URL_TR); + } else if (DATA_RESIDENCY_US.equals(urlStrategy)) { + return Collections.singletonList(BASE_URL_US); } else { return Arrays.asList(Constants.BASE_URL, BASE_URL_INDIA, BASE_URL_CHINA); } @@ -148,6 +155,8 @@ private static List gdprUrlChoices(final String urlStrategy) return Collections.singletonList(GDPR_URL_EU); } else if (DATA_RESIDENCY_TR.equals(urlStrategy)) { return Collections.singletonList(GDPR_URL_TR); + } else if (DATA_RESIDENCY_US.equals(urlStrategy)) { + return Collections.singletonList(GDPR_URL_US); } else { return Arrays.asList(Constants.GDPR_URL, GDPR_URL_INDIA, GDPR_URL_CHINA); } @@ -162,6 +171,8 @@ private static List subscriptionUrlChoices(final String urlStrategy) return Collections.singletonList(SUBSCRIPTION_URL_EU); } else if (DATA_RESIDENCY_TR.equals(urlStrategy)) { return Collections.singletonList(SUBSCRIPTION_URL_TR); + } else if (DATA_RESIDENCY_US.equals(urlStrategy)) { + return Collections.singletonList(SUBSCRIPTION_URL_US); } else { return Arrays.asList(Constants.SUBSCRIPTION_URL, SUBSCRIPTION_URL_INDIA, diff --git a/Adjust/sdk-plugin-criteo/build.gradle b/Adjust/sdk-plugin-criteo/build.gradle index 45f336617..d8570fb68 100644 --- a/Adjust/sdk-plugin-criteo/build.gradle +++ b/Adjust/sdk-plugin-criteo/build.gradle @@ -25,7 +25,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:4.28.0' + // implementation 'com.adjust.sdk:adjust-android:4.28.1' } task adjustCriteoAndroidAar (type: Copy) { diff --git a/Adjust/sdk-plugin-imei/build.gradle b/Adjust/sdk-plugin-imei/build.gradle index 3b493c74e..ebd79f108 100644 --- a/Adjust/sdk-plugin-imei/build.gradle +++ b/Adjust/sdk-plugin-imei/build.gradle @@ -24,7 +24,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:4.28.0' + // implementation 'com.adjust.sdk:adjust-android:4.28.1' } task adjustImeiAndroidAar (type: Copy) { diff --git a/Adjust/sdk-plugin-oaid/build.gradle b/Adjust/sdk-plugin-oaid/build.gradle index 1d0440f54..064a62c14 100644 --- a/Adjust/sdk-plugin-oaid/build.gradle +++ b/Adjust/sdk-plugin-oaid/build.gradle @@ -27,7 +27,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:4.28.0' + // implementation 'com.adjust.sdk:adjust-android:4.28.1' } task adjustOaidAndroidAar (type: Copy) { diff --git a/Adjust/sdk-plugin-sociomantic/build.gradle b/Adjust/sdk-plugin-sociomantic/build.gradle index 9f7a43809..ba80e8aff 100644 --- a/Adjust/sdk-plugin-sociomantic/build.gradle +++ b/Adjust/sdk-plugin-sociomantic/build.gradle @@ -24,7 +24,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:4.28.0' + // implementation 'com.adjust.sdk:adjust-android:4.28.1' } task adjustSociomanticAndroidAar (type: Copy) { diff --git a/Adjust/sdk-plugin-trademob/build.gradle b/Adjust/sdk-plugin-trademob/build.gradle index 9dd9cbb64..4b6bdba73 100644 --- a/Adjust/sdk-plugin-trademob/build.gradle +++ b/Adjust/sdk-plugin-trademob/build.gradle @@ -24,7 +24,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:4.28.0' + // implementation 'com.adjust.sdk:adjust-android:4.28.1' } task adjustTrademobAndroidAar (type: Copy) { diff --git a/Adjust/sdk-plugin-webbridge/build.gradle b/Adjust/sdk-plugin-webbridge/build.gradle index 941a6a121..f08fbf841 100644 --- a/Adjust/sdk-plugin-webbridge/build.gradle +++ b/Adjust/sdk-plugin-webbridge/build.gradle @@ -24,7 +24,7 @@ dependencies { // Add SDK via module. compileOnly project(':sdk-core') // Add SDK via Maven. - // implementation 'com.adjust.sdk:adjust-android:4.28.0' + // implementation 'com.adjust.sdk:adjust-android:4.28.1' } task adjustWebBridgeAndroidAar (type: Copy) { diff --git a/Adjust/sdk-plugin-webbridge/src/main/assets/adjust.js b/Adjust/sdk-plugin-webbridge/src/main/assets/adjust.js index 4b5dbc6aa..369bc1fc0 100644 --- a/Adjust/sdk-plugin-webbridge/src/main/assets/adjust.js +++ b/Adjust/sdk-plugin-webbridge/src/main/assets/adjust.js @@ -211,7 +211,7 @@ var Adjust = { if (this.adjustConfig) { return this.adjustConfig.getSdkPrefix(); } else { - return 'web-bridge4.28.0'; + return 'web-bridge4.28.1'; } }, diff --git a/Adjust/sdk-plugin-webbridge/src/main/assets/adjust_config.js b/Adjust/sdk-plugin-webbridge/src/main/assets/adjust_config.js index ea88ed0bc..b06f84f70 100644 --- a/Adjust/sdk-plugin-webbridge/src/main/assets/adjust_config.js +++ b/Adjust/sdk-plugin-webbridge/src/main/assets/adjust_config.js @@ -62,6 +62,7 @@ AdjustConfig.UrlStrategyIndia = "url_strategy_india"; AdjustConfig.UrlStrategyChina = "url_strategy_china"; AdjustConfig.DataResidencyEU = "data_residency_eu"; AdjustConfig.DataResidencyTR = "data_residency_tr"; +AdjustConfig.DataResidencyUS = "data_residency_us"; AdjustConfig.LogLevelVerbose = 'VERBOSE', AdjustConfig.LogLevelDebug = 'DEBUG', diff --git a/Adjust/test-unit/src/androidTest/java/com/adjust/sdk/TestActivityPackage.java b/Adjust/test-unit/src/androidTest/java/com/adjust/sdk/TestActivityPackage.java index 0c529b1cd..94c993a81 100644 --- a/Adjust/test-unit/src/androidTest/java/com/adjust/sdk/TestActivityPackage.java +++ b/Adjust/test-unit/src/androidTest/java/com/adjust/sdk/TestActivityPackage.java @@ -53,7 +53,7 @@ public TestActivityPackage(ActivityPackage activityPackage) { // default values appToken = "123456789012"; environment = "sandbox"; - clientSdk = "android4.28.0"; + clientSdk = "android4.28.1"; suffix = ""; attribution = new AdjustAttribution(); playServices = true; diff --git a/CHANGELOG.md b/CHANGELOG.md index a52e55182..aab33efa5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +### Version 4.28.1 (12th May 2021) +#### Added +- [beta] Added data residency support for US region. You can choose this setting by calling `setUrlStrategy` method of `AdjustConfig` instance with `AdjustConfig.DATA_RESIDENCY_US` parameter. +- Added helper class `AdjustLinkResolution` to assist with resolution of links which are wrapping Adjust deep link. + +#### Fixed +- Removed 5 decimal places formatting for ad revenue value. + +--- + ### Version 4.28.0 (26th April 2021) #### Added - [beta] Added data residency support for Turkey region. You can choose this setting by calling `setUrlStrategy` method of `AdjustConfig` instance with `AdjustConfig.DATA_RESIDENCY_TR` parameter. diff --git a/README.md b/README.md index d09170aef..6199809af 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ Read this in other languages: [English][en-readme], [中文][zh-readme], [日本 * [Standard deep linking scenario](#dl-standard) * [Deferred deep linking scenario](#dl-deferred) * [Reattribution via deep links](#dl-reattribution) + * [Link resolution](#link-resolution) ### Event tracking @@ -103,14 +104,14 @@ These are the minimum required steps to integrate the Adjust SDK in your Android If you are using Maven, add the following to your `build.gradle` file: ```gradle -implementation 'com.adjust.sdk:adjust-android:4.28.0' +implementation 'com.adjust.sdk:adjust-android:4.28.1' implementation 'com.android.installreferrer:installreferrer:2.2' ``` If you would prefer to use the Adjust SDK inside web views in your app, please include this additional dependency as well: ```gradle -implementation 'com.adjust.sdk:adjust-android-webbridge:4.28.0' +implementation 'com.adjust.sdk:adjust-android-webbridge:4.28.1' ``` **Note**: The minimum supported Android API level for the web view extension is 17 (Jelly Bean). @@ -729,6 +730,33 @@ protected void onNewIntent(Intent intent) { Adjust.appWillOpenUrl(deeplinkUrl); ``` +### Link resolution + +If you are serving deep links from an Email Service Provider (ESP) and need to track clicks through a custom tracking link, you can use the `resolveLink` method of the `AdjustLinkResolution` class to resolve the link. This ensures that you record the interaction with your email tracking campaigns when a deep link is opened in your application. + +The `resolveLink` method takes the following parameters: + +- `url` - the deep link that opened the application +- `resolveUrlSuffixArray` - the custom domains of the configured campaigns that need to be resolved +- `adjustLinkResolutionCallback` - the callback that will contain the final URL + +If the link received does not belong to any of the domains specified in the `resolveUrlSuffixArray`, the callback will forward the deep link URL as is. If the link does contain one of the domains specified, the SDK will attempt to resolve the link and return the resulting deep link to the `callback` parameter. The returned deep link can also be reattributed in the Adjust SDK using the `Adjust.appWillOpenUrl` method. + +> **Note**: The SDK will automatically follow up to ten redirects when attempting to resolve the URL. It will return the latest URL it has followed as the `callback` URL, meaning that if there are more than ten redirects to follow the **tenth redirect URL** will be returned. + +**Example** + +```java +AdjustLinkResolution.resolveLink(url, + new String[]{"example.com"}, + new AdjustLinkResolution.AdjustLinkResolutionCallback() { + @Override + public void resolvedLinkCallback(Uri resolvedLink) { + Adjust.appWillOpenUrl(resolvedLink, getApplicationContext()); + } +}); +``` + ## Event tracking ### Track event @@ -2161,6 +2189,7 @@ In order to enable data residency feature, make sure to make a call to `setUrlSt ```java adjustConfig.setUrlStrategy(AdjustConfig.DATA_RESIDENCY_EU); // for EU data residency region adjustConfig.setUrlStrategy(AdjustConfig.DATA_RESIDENCY_TR); // for Turkey data residency region +adjustConfig.setUrlStrategy(AdjustConfig.DATA_RESIDENCY_US); // for US data residency region ``` @@ -2175,6 +2204,7 @@ adjustConfig.setUrlStrategy(AdjustConfig.DATA_RESIDENCY_TR); // for Turkey data ```js adjustConfig.setUrlStrategy(AdjustConfig.DataResidencyEU); // for EU data residency region adjustConfig.setUrlStrategy(AdjustConfig.DataResidencyTR); // for Turkey data residency region +adjustConfig.setUrlStrategy(AdjustConfig.DataResidencyUS); // for US data residency region ``` diff --git a/VERSION b/VERSION index ad94be36d..878161e5d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.28.0 +4.28.1 diff --git a/doc/chinese/README.md b/doc/chinese/README.md index 06b6c574f..398921b83 100644 --- a/doc/chinese/README.md +++ b/doc/chinese/README.md @@ -102,14 +102,14 @@ 如果您使用的是 Maven,请添加下行到您的 `build.gradle` 文件: ```gradle -implementation 'com.adjust.sdk:adjust-android:4.28.0' +implementation 'com.adjust.sdk:adjust-android:4.28.1' implementation 'com.android.installreferrer:installreferrer:2.2' ``` 如果您想在应用 web view 中使用 Adjust SDK,请也添加下列附加依赖项: ```gradle -implementation 'com.adjust.sdk:adjust-android-webbridge:4.28.0' +implementation 'com.adjust.sdk:adjust-android-webbridge:4.28.1' ``` **请注意:** web view 扩展支持的最低安卓 API 级别为 17 (Jelly Bean)。 diff --git a/doc/chinese/plugins/oaid.md b/doc/chinese/plugins/oaid.md index fa47bda56..f56b88a6c 100644 --- a/doc/chinese/plugins/oaid.md +++ b/doc/chinese/plugins/oaid.md @@ -13,8 +13,8 @@ OAID 是由移动安全联盟 (MSA) 推出的广告 ID。所有中国国内的 如果您使用的是 Maven,请将以下 OAID 插件依赖项添加到现有 Adjust SDK 依赖项旁的 `build.gradle` 文件: ``` -implementation 'com.adjust.sdk:adjust-android:4.28.0' -implementation 'com.adjust.sdk:adjust-android-oaid:4.28.0' +implementation 'com.adjust.sdk:adjust-android:4.28.1' +implementation 'com.adjust.sdk:adjust-android-oaid:4.28.1' ``` 您还可以将 Adjust OAID 插件作为 JAR 文件进行添加,该文件可从我们的 [版本页面][releases] 下载。 diff --git a/doc/english/migration/migrate.md b/doc/english/migration/migrate.md index 7b5640820..07b449fbc 100644 --- a/doc/english/migration/migrate.md +++ b/doc/english/migration/migrate.md @@ -1,4 +1,4 @@ -## Migrate your Adjust SDK for Android to 4.28.0 from 3.6.2 +## Migrate your Adjust SDK for Android to 4.28.1 from 3.6.2 ### The Application class diff --git a/doc/english/plugins/oaid.md b/doc/english/plugins/oaid.md index a28f3b3f9..226d39bfe 100644 --- a/doc/english/plugins/oaid.md +++ b/doc/english/plugins/oaid.md @@ -5,15 +5,15 @@ OAID is an advertising ID that the MSA (Mobile Security Alliance) announced all The OAID plugin enables the Adjust Android SDK to read a device’s OAID value *in addition* to the other device IDs it searches for by default. OAID is readable on all devices using the MSA SDK or HMS (Huawei Mobile Service) on Huawei devices. Before getting started, make sure you have read the official [Android SDK README][readme] and successfully integrated the Adjust SDK into your app. -To enable the Adjust SDK to collect and track OAID, follow these steps. To only use the plugin to read the OAID of Huawei devices, you can skip the step [Add the MSA SDK to your app](add-msa-sdk). +To enable the Adjust SDK to collect and track OAID, follow these steps. To only use the plugin to read the OAID of Huawei devices, you can skip the step [Add the MSA SDK to your app](#add-msa-sdk). ### Add the OAID plugin to your app If you are using Maven, add the following OAID plugin dependency to your `build.gradle` file next to the existing Adjust SDK dependency: ``` -implementation 'com.adjust.sdk:adjust-android:4.28.0' -implementation 'com.adjust.sdk:adjust-android-oaid:4.28.0' +implementation 'com.adjust.sdk:adjust-android:4.28.1' +implementation 'com.adjust.sdk:adjust-android-oaid:4.28.1' ``` You can also add the Adjust OAID plugin as JAR file, which you can download from our [releases page][releases]. diff --git a/doc/japanese/README.md b/doc/japanese/README.md index 6afcc5602..dc4aa1a1a 100644 --- a/doc/japanese/README.md +++ b/doc/japanese/README.md @@ -101,14 +101,14 @@ Adjust SDKをAndroidプロジェクトに実装する手順を説明します。 Mavenを使用している場合は、以下の内容を`build.gradle`ファイルに追加します。file: ```gradle -implementation 'com.adjust.sdk:adjust-android:4.28.0' +implementation 'com.adjust.sdk:adjust-android:4.28.1' implementation 'com.android.installreferrer:installreferrer:2.2' ``` アプリの WebView内でAdjust SDKを使用したい場合は、以下のdependencyを追加してください。 ```gradle -implementation 'com.adjust.sdk:adjust-android-webbridge:4.28.0' +implementation 'com.adjust.sdk:adjust-android-webbridge:4.28.1' ``` **注意**:WebView拡張機能用にサポートされている最小のAndroid APIレベルは17(Jelly Bean)です。 diff --git a/doc/japanese/migration/migrate.md b/doc/japanese/migration/migrate.md index fcc4a29fd..a8af099ad 100644 --- a/doc/japanese/migration/migrate.md +++ b/doc/japanese/migration/migrate.md @@ -1,4 +1,4 @@ -## Android用adjust SDKのv3.6.2からv4.28.0への移行 +## Android用adjust SDKのv3.6.2からv4.28.1への移行 ### アプリケーションクラス diff --git a/doc/japanese/plugins/oaid.md b/doc/japanese/plugins/oaid.md index 93c563b81..5784fcc87 100644 --- a/doc/japanese/plugins/oaid.md +++ b/doc/japanese/plugins/oaid.md @@ -13,8 +13,8 @@ Adjust SDKがOAID値を収集し計測するための設定手順は、以下の Mavenを使用している場合は、以下のOAIDプラグイン dependencyを、既存のAdjust SDKのdependencyの隣にあるbuild.gradle` file に追加します: ``` -implementation 'com.adjust.sdk:adjust-android:4.28.0' -implementation 'com.adjust.sdk:adjust-android-oaid:4.28.0' +implementation 'com.adjust.sdk:adjust-android:4.28.1' +implementation 'com.adjust.sdk:adjust-android-oaid:4.28.1' ``` Adjust OAIDプラグインを JARファイルとして追加することもできます。JARファイルは、[releases page][releases] からダウンロードすることができます。 diff --git a/doc/korean/README.md b/doc/korean/README.md index c7625ce80..2793b5f22 100644 --- a/doc/korean/README.md +++ b/doc/korean/README.md @@ -104,14 +104,14 @@ Adjust™의 Android SDK에 관한 문서입니다. Adjust™에 대한 자세 Maven을 사용하는 경우, 다음을 `build.gradle` 파일에 추가하시기 바랍니다. ```gradle -implementation 'com.adjust.sdk:adjust-android:4.28.0' +implementation 'com.adjust.sdk:adjust-android:4.28.1' implementation 'com.android.installreferrer:installreferrer:2.2' ``` 앱의 웹뷰 안에서 Adjust SDK를 사용하고자 하는 경우, 다음의 추가적인 dependency를 추가하시기 바랍니다. ```gradle -implementation 'com.adjust.sdk:adjust-android-webbridge:4.28.0' +implementation 'com.adjust.sdk:adjust-android-webbridge:4.28.1' ``` **참고**: 웹뷰 확장에 필요한 Android API의 최소 지원 레벨은 17(Jelley Bean)입니다. diff --git a/doc/korean/plugins/oaid.md b/doc/korean/plugins/oaid.md index 20470ed6b..638766289 100644 --- a/doc/korean/plugins/oaid.md +++ b/doc/korean/plugins/oaid.md @@ -14,8 +14,8 @@ Adjust SDK가 OAID를 수집하고 트래킹할 수 있게 하기 위해서는 Maven을 사용하고 있는 경우, 기존 Adjust SDK dependency 옆에 있는 `build.gradle` 파일에 다음의 OAID plugin dependency을 추가하세요. ``` -implementation 'com.adjust.sdk:adjust-android:4.28.0' -implementation 'com.adjust.sdk:adjust-android-oaid:4.28.0' +implementation 'com.adjust.sdk:adjust-android:4.28.1' +implementation 'com.adjust.sdk:adjust-android-oaid:4.28.1' ``` Adjust OAID 플러그인을 JAR 파일로 추가할 수도 있습니다. Adjust [릴리스 페이지][releases]에서 다운로드하세요.