Skip to content

Commit

Permalink
Merge pull request #36 from adjust/v4230
Browse files Browse the repository at this point in the history
Version 4.23.0
  • Loading branch information
uerceg authored Aug 25, 2020
2 parents b0662e3 + 15000c6 commit fe45c36
Show file tree
Hide file tree
Showing 27 changed files with 283 additions and 14 deletions.
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
### Version 4.23.0 (26th August 2020)
#### Added
- Added communication with SKAdNetwork framework by default on iOS 14.
- Added method `deactivateSKAdNetworkHandling` method to `AdjustConfig2dx` to switch off default communication with SKAdNetwork framework in iOS 14.
- Added wrapper method `requestTrackingAuthorizationWithCompletionHandler` to `Adjust2dx` to allow asking for user's consent to be tracked in iOS 14 and immediate propagation of user's choice to backend.
- Added handling of new iAd framework error codes introduced in iOS 14.
- Added sending of value of user's consent to be tracked with each package.
- Added `setUrlStrategy` method to `AdjustConfig2dx` class to allow selection of URL strategy for specific market.

⚠️ **Note**: iOS 14 beta versions prior to 5 appear to have an issue when trying to use iAd framework API like described in [here](https://github.com/adjust/ios_sdk/issues/452). For testing of v4.23.0 version of SDK in iOS, please make sure you're using **iOS 14 beta 5 or later**.

#### Native SDKs
- [[email protected]][ios_sdk_v4.23.0]
- [[email protected]][android_sdk_v4.24.0]

---

### Version 4.22.0 (17th June 2020)
#### Added
- Added subscription tracking feature.
Expand Down Expand Up @@ -311,6 +328,7 @@
[ios_sdk_v4.17.2]: https://github.com/adjust/ios_sdk/tree/v4.17.2
[ios_sdk_v4.18.0]: https://github.com/adjust/ios_sdk/tree/v4.18.0
[ios_sdk_v4.22.1]: https://github.com/adjust/ios_sdk/tree/v4.22.1
[ios_sdk_v4.23.0]: https://github.com/adjust/ios_sdk/tree/v4.23.0

[android_sdk_v4.0.8]: https://github.com/adjust/android_sdk/tree/v4.0.8
[android_sdk_v4.1.0]: https://github.com/adjust/android_sdk/tree/v4.1.0
Expand All @@ -329,5 +347,6 @@
[android_sdk_v4.17.0]: https://github.com/adjust/android_sdk/tree/v4.17.0
[android_sdk_v4.18.0]: https://github.com/adjust/android_sdk/tree/v4.18.0
[android_sdk_v4.22.0]: https://github.com/adjust/android_sdk/tree/v4.22.0
[android_sdk_v4.24.0]: https://github.com/adjust/android_sdk/tree/v4.24.0

[windows_sdk_v4.0.3]: https://github.com/adjust/windows_sdk/tree/v4.0.3
90 changes: 87 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,17 @@ This is the Cocos2d-x SDK of Adjust™. You can read more about Adjust™ at [Ad
* [[Android] Install referrer](#android-referrer)
* [Google Play Referrer API](#android-referrer-gpr-api)
* [Google Play Store intent](#android-referrer-gps-intent)
* [Huawei Referrer API](#android-huawei-referrer-api)
* [[iOS] Frameworks](#ios-frameworks)
* [[iOS] Additional linker flags](#ios-linker-flags)
* [Integrate the SDK into your app](#sdk-integrate)
* [Adjust logging](#sdk-logging)
* [Android session tracking](#sdk-android-session-tracking)
* [Build your app](#sdk-build)
* [Additional features](#additional-features)
* [AppTrackingTransparency framework](#att-framework)
* [App-tracking authorisation wrapper](#ata-wrapper)
* [SKAdNetwork framework](#skadn-framework)
* [Event tracking](#event-tracking)
* [Revenue tracking](#revenue-tracking)
* [Revenue deduplication](#revenue-deduplication)
Expand Down Expand Up @@ -80,7 +84,9 @@ $(LOCAL_PATH)/../../../Classes/Adjust/Adjust2dx.cpp \
$(LOCAL_PATH)/../../../Classes/Adjust/AdjustEventFailure2dx.cpp \
$(LOCAL_PATH)/../../../Classes/Adjust/AdjustEventSuccess2dx.cpp \
$(LOCAL_PATH)/../../../Classes/Adjust/AdjustSessionFailure2dx.cpp \
$(LOCAL_PATH)/../../../Classes/Adjust/AdjustSessionSuccess2dx.cpp
$(LOCAL_PATH)/../../../Classes/Adjust/AdjustSessionSuccess2dx.cpp \
$(LOCAL_PATH)/../../../Classes/Adjust/AdjustAppStoreSubscription2dx.cpp \
$(LOCAL_PATH)/../../../Classes/Adjust/AdjustPlayStoreSubscription2dx.cpp
```

### <a id="sdk-project-settings"></a>Adjust project settings
Expand Down Expand Up @@ -198,11 +204,22 @@ We use this broadcast receiver to retrieve the install referrer and pass it to o

Please bear in mind that, if you are using your own broadcast receiver which handles the `INSTALL_REFERRER` intent, you don't need the Adjust broadcast receiver to be added to your manifest file. You can remove it, but, inside your own receiver, add the call to the Adjust broadcast receiver as described in our [Android guide][broadcast-receiver-custom].

#### <a id="android-huawei-referrer-api"></a>Huawei Referrer API

As of v4.22.0, the Adjust SDK supports install tracking on Huawei devices with Huawei App Gallery version 10.4 and higher. No additional integration steps are needed to start using the Huawei Referrer API.

### <a id="ios-frameworks"></a>[iOS] Frameworks

You need to add the **AdjustSdk**, **AdSupport**, **iAd** and **CoreTelephony** frameworks to your project. Before adding the `AdjustSdk.framework` to your project, ensure that you first copy it into the `proj.ios_mac/ios` folder of your project.
You need to add following frameworks to your app's Xcode project:

If you are not running any iAd campaigns, feel free to remove the `iAd.framework` dependency.
* `iAd.framework` - in case you are running iAd campaigns
* `AdSupport.framework` - for reading iOS Advertising Id (IDFA)
* `CoreTelephony.framework` - for reading MCC and MNC information
* `StoreKit.framework` - for communication with SKAdNetwork framework
* `AppTrackingTransparency.framework` - to ask for user's consent to be tracked and obtain status of that consent
* `AdjustSdk.framework` - our native iOS SDK framework

If you are not running any iAd campaigns, you can feel free to remove the `iAd.framework` dependency. If you don't use SKAdNetwork framework, feel free to remove `StoreKit.framework` dependency (unless you need it for something else).

### <a id="ios-linker-flags"></a>[iOS] Additional linker flags

Expand Down Expand Up @@ -304,6 +321,73 @@ Build and run your app. If the build is successful, carefully read through the S

Once you integrate the Adjust SDK into your project, you can take advantage of the following features.

### <a id="att-framework"></a>AppTrackingTransparency framework

**Note**: This feature exists only in iOS platform.

For each package sent, the Adjust backend receives one of the following four (4) states of consent for access to app-related data that can be used for tracking the user or the device:

- Authorized
- Denied
- Not Determined
- Restricted

After a device receives an authorization request to approve access to app-related data, which is used for user device tracking, the returned status will either be Authorized or Denied.

Before a device receives an authorization request for access to app-related data, which is used for tracking the user or device, the returned status will be Not Determined.

If authorization to use app tracking data is restricted, the returned status will be Restricted.

The SDK has a built-in mechanism to receive an updated status after a user responds to the pop-up dialog, in case you don't want to customize your displayed dialog pop-up. To conveniently and efficiently communicate the new state of consent to the backend, Adjust SDK offers a wrapper around the app tracking authorization method described in the following chapter, App-tracking authorization wrapper.

### <a id="ata-wrapper"></a>App-tracking authorisation wrapper

**Note**: This feature exists only in iOS platform.

Adjust SDK offers the possibility to use it for requesting user authorization in accessing their app-related data. Adjust SDK has a wrapper built on top of the [requestTrackingAuthorizationWithCompletionHandler:](https://developer.apple.com/documentation/apptrackingtransparency/attrackingmanager/3547037-requesttrackingauthorizationwith?language=objc) method, where you can as well define the callback method to get information about a user's choice. Also, with the use of this wrapper, as soon as a user responds to the pop-up dialog, it's then communicated back using your callback method. The SDK will also inform the backend of the user's choice. Integer value will be delivered via your callback method with the following meaning:

- 0: `ATTrackingManagerAuthorizationStatusNotDetermined`
- 1: `ATTrackingManagerAuthorizationStatusRestricted`
- 2: `ATTrackingManagerAuthorizationStatusDenied`
- 3: `ATTrackingManagerAuthorizationStatusAuthorized`

To use this wrapper, you can call it as such:

```cpp
static void authorizationStatusCallback(int status) {
switch (status) {
case 0:
// ATTrackingManagerAuthorizationStatusNotDetermined case
break;
case 1:
// ATTrackingManagerAuthorizationStatusRestricted case
break;
case 2:
// ATTrackingManagerAuthorizationStatusDenied case
break;
case 3:
// ATTrackingManagerAuthorizationStatusAuthorized case
break;
}
}

// ...

Adjust2dx::requestTrackingAuthorizationWithCompletionHandler(authorizationStatusCallback);
```
### <a id="skadn-framework"></a>SKAdNetwork framework
**Note**: This feature exists only in iOS platform.
If you have implemented the Adjust iOS SDK v4.23.0 or above and your app is running on iOS 14, the communication with SKAdNetwork will be set on by default, although you can choose to turn it off. When set on, Adjust automatically registers for SKAdNetwork attribution when the SDK is initialized. If events are set up in the Adjust dashboard to receive conversion values, the Adjust backend sends the conversion value data to the SDK. The SDK then sets the conversion value. After Adjust receives the SKAdNetwork callback data, it is then displayed in the dashboard.
In case you don't want the Adjust SDK to automatically communicate with SKAdNetwork, you can disable that by calling the following method on configuration object:
```cpp
adjustConfig.deactivateSKAdNetworkHandling();
```

### <a id="event-tracking"></a>Event tracking

With Adjust, you can track any event that you want.
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.21.0
4.23.0
1 change: 1 addition & 0 deletions dist/ADJAdjust2dx.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ class ADJAdjust2dx {
static std::string getAdid();
static std::string getSdkVersion();
static AdjustAttribution2dx getAttribution();
static void requestTrackingAuthorizationWithCompletionHandler(void (*trackingStatusCallback)(int status));
// For testing purposes only.
static void setTestOptions(std::map<std::string, std::string> testOptionsMap);
static void teardown();
Expand Down
6 changes: 6 additions & 0 deletions dist/ADJAdjust2dx.mm
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,12 @@
return attribution2dx;
}

void ADJAdjust2dx::requestTrackingAuthorizationWithCompletionHandler(void (*trackingStatusCallback)(int status)) {
[Adjust requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) {
trackingStatusCallback((int)status);
}];
}

void ADJAdjust2dx::setTestOptions(std::map<std::string, std::string> testOptionsMap) {
AdjustTestOptions *testOptions = [[AdjustTestOptions alloc] init];
testOptions.baseUrl = [NSString stringWithUTF8String:testOptionsMap["baseUrl"].c_str()];
Expand Down
2 changes: 2 additions & 0 deletions dist/ADJConfig2dx.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ class ADJConfig2dx {
void setExternalDeviceId(std::string externalDeviceId);
void setAppSecret(long secretId, long info1, long info2, long info3, long info4);
void setIsDeviceKnown(bool isDeviceKnown);
void setUrlStrategy(std::string urlStrategy);
void deactivateSKAdNetworkHandling();
void setAttributionCallback(void(*callbackMethod)(AdjustAttribution2dx attribution));
void setEventSuccessCallback(void(*callbackMethod)(AdjustEventSuccess2dx eventSuccess));
void setEventFailureCallback(void(*callbackMethod)(AdjustEventFailure2dx eventFailure));
Expand Down
13 changes: 13 additions & 0 deletions dist/ADJConfig2dx.mm
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,19 @@
((ADJConfig *)config).externalDeviceId = [NSString stringWithUTF8String:externalDeviceId.c_str()];
}

void ADJConfig2dx::setUrlStrategy(std::string urlStrategy) {
NSString *strUrlStrategy = [NSString stringWithUTF8String:urlStrategy.c_str()];
if ([strUrlStrategy isEqualToString:@"china"]) {
((ADJConfig *)config).urlStrategy = ADJUrlStrategyChina;
} else if ([strUrlStrategy isEqualToString:@"india"]) {
((ADJConfig *)config).urlStrategy = ADJUrlStrategyIndia;
}
}

void ADJConfig2dx::deactivateSKAdNetworkHandling() {
[((ADJConfig *)config) deactivateSKAdNetworkHandling];
}

void ADJConfig2dx::setAttributionCallback(void (*callbackMethod)(AdjustAttribution2dx attribution)) {
attributionCallback = callbackMethod;
}
Expand Down
6 changes: 6 additions & 0 deletions dist/Adjust2dx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -573,6 +573,12 @@ std::string Adjust2dx::getIdfa() {
#endif
}

void Adjust2dx::requestTrackingAuthorizationWithCompletionHandler(void (*trackingStatusCallback)(int status)) {
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
ADJAdjust2dx::requestTrackingAuthorizationWithCompletionHandler(trackingStatusCallback);
#endif
}

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
jobject getTestOptions(std::map<std::string, std::string> testOptions) {
cocos2d::JniMethodInfo jmiInit;
Expand Down
1 change: 1 addition & 0 deletions dist/Adjust2dx.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ class Adjust2dx {
// iOS specific methods.
static std::string getIdfa();
static void trackAppStoreSubscription(AdjustAppStoreSubscription2dx subscription);
static void requestTrackingAuthorizationWithCompletionHandler(void (*trackingStatusCallback)(int status));
// For testing purposes only.
static void setTestOptions(std::map<std::string, std::string> testOptions);
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
Expand Down
43 changes: 41 additions & 2 deletions dist/AdjustConfig2dx.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

// AdjustConfig2dx.cpp
// Adjust SDK
//
Expand All @@ -16,7 +15,9 @@
#include "AdjustConfig2dx.h"
USING_NS_CC;

const std::string AdjustSdkPrefix2dx = "cocos2d-x4.21.0";
const std::string AdjustSdkPrefix2dx = "cocos2d-x4.23.0";
const std::string AdjustUrlStrategyChina = "china";
const std::string AdjustUrlStrategyIndia = "india";

void AdjustConfig2dx::initConfig(std::string appToken, std::string environment, bool allowSuppressLogLevel) {
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
Expand Down Expand Up @@ -242,6 +243,36 @@ void AdjustConfig2dx::setExternalDeviceId(std::string externalDeviceId) {
#endif
}

void AdjustConfig2dx::setUrlStrategy(std::string urlStrategy) {
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
if (config == NULL) {
return;
}
cocos2d::JniMethodInfo jmiSetUrlStrategy;
if (!cocos2d::JniHelper::getMethodInfo(jmiSetUrlStrategy, "com/adjust/sdk/AdjustConfig", "setUrlStrategy", "(Ljava/lang/String;)V")) {
return;
}

if (urlStrategy.compare(AdjustUrlStrategyChina) == 0) {
jclass jclsAdjustConfig = jmiSetUrlStrategy.env->FindClass("com/adjust/sdk/AdjustConfig");
jfieldID jfidUrlStrategyChina = jmiSetUrlStrategy.env->GetStaticFieldID(jclsAdjustConfig, "URL_STRATEGY_CHINA", "Ljava/lang/String;");
jstring jUrlStrategyChina = (jstring)jmiSetUrlStrategy.env->GetStaticObjectField(jclsAdjustConfig, jfidUrlStrategyChina);
jmiSetUrlStrategy.env->CallVoidMethod(config, jmiSetUrlStrategy.methodID, jUrlStrategyChina);
jmiSetUrlStrategy.env->DeleteLocalRef(jUrlStrategyChina);
} else if (urlStrategy.compare(AdjustUrlStrategyIndia) == 0) {
jclass jclsAdjustConfig = jmiSetUrlStrategy.env->FindClass("com/adjust/sdk/AdjustConfig");
jfieldID jfidUrlStrategyIndia = jmiSetUrlStrategy.env->GetStaticFieldID(jclsAdjustConfig, "URL_STRATEGY_INDIA", "Ljava/lang/String;");
jstring jUrlStrategyIndia = (jstring)jmiSetUrlStrategy.env->GetStaticObjectField(jclsAdjustConfig, jfidUrlStrategyIndia);
jmiSetUrlStrategy.env->CallVoidMethod(config, jmiSetUrlStrategy.methodID, jUrlStrategyIndia);
jmiSetUrlStrategy.env->DeleteLocalRef(jUrlStrategyIndia);
}
#elif (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
if (isConfigSet) {
config.setUrlStrategy(urlStrategy);
}
#endif
}

void AdjustConfig2dx::setAppSecret(unsigned long long secretId, unsigned long long info1, unsigned long long info2, unsigned long long info3, unsigned long long info4) {
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
if (config == NULL) {
Expand Down Expand Up @@ -276,6 +307,14 @@ void AdjustConfig2dx::setDeviceKnown(bool isDeviceKnown) {
#endif
}

void AdjustConfig2dx::deactivateSKAdNetworkHandling() {
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
if (isConfigSet) {
config.deactivateSKAdNetworkHandling();
}
#endif
}

void AdjustConfig2dx::setReadMobileEquipmentIdentity(bool readMobileEquipmentIdentity) {
// #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
// if (config == NULL) {
Expand Down
7 changes: 6 additions & 1 deletion dist/AdjustConfig2dx.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
#include "AdjustSessionFailure2dx.h"

extern const std::string AdjustSdkPrefix2dx;
extern const std::string AdjustUrlStrategyChina;
extern const std::string AdjustUrlStrategyIndia;

enum AdjustLogLevel2dx {
AdjustLogLevel2dxVerbose = 1,
Expand All @@ -31,7 +33,8 @@ enum AdjustLogLevel2dx {
AdjustLogLevel2dxWarn = 4,
AdjustLogLevel2dxError = 5,
AdjustLogLevel2dxAssert = 6,
AdjustLogLevel2dxSuppress = 7 };
AdjustLogLevel2dxSuppress = 7
};

class AdjustConfig2dx {
private:
Expand Down Expand Up @@ -74,9 +77,11 @@ class AdjustConfig2dx {
void setProcessName(std::string processName);
void setDefaultTracker(std::string defaultTracker);
void setExternalDeviceId(std::string externalDeviceId);
void setUrlStrategy(std::string urlStrategy);
void setDelayStart(double delayStart);
void setLogLevel(AdjustLogLevel2dx logLevel, void(*logCallback)(const char* log) = NULL);
void setAppSecret(unsigned long long secretId, unsigned long long info1, unsigned long long info2, unsigned long long info3, unsigned long long info4);
void deactivateSKAdNetworkHandling();
void setAttributionCallback(void(*attributionCallback)(AdjustAttribution2dx attribution));
void setEventSuccessCallback(void(*eventSuccessCallback)(AdjustEventSuccess2dx eventSuccess));
void setEventFailureCallback(void(*eventFailureCallback)(AdjustEventFailure2dx eventFailure));
Expand Down
2 changes: 1 addition & 1 deletion doc/migrate.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Migrate your Adjust SDK for Cocos2d-x to 4.21.0 from 4.0.x
## Migrate your Adjust SDK for Cocos2d-x to 4.23.0 from 4.0.x

### SDK initialization

Expand Down
Binary file modified ext/android/proxy/adjust-android.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion ext/android/sdk
Submodule sdk updated 66 files
+1 −1 Adjust/build.gradle
+1 −1 Adjust/example-app-fbpixel/build.gradle
+1 −1 Adjust/example-app-java/build.gradle
+3 −0 Adjust/example-app-java/src/main/AndroidManifest.xml
+3 −0 Adjust/example-app-java/src/main/java/com/adjust/examples/GlobalApplication.java
+1 −1 Adjust/example-app-keyboard/build.gradle
+1 −1 Adjust/example-app-kotlin/build.gradle
+1 −1 Adjust/example-app-tv/build.gradle
+1 −1 Adjust/example-app-webbridge/build.gradle
+153 −29 Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityHandler.java
+36 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityPackage.java
+24 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityState.java
+1 −1 Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java
+53 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java
+38 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustFactory.java
+17 −7 Adjust/sdk-core/src/main/java/com/adjust/sdk/AttributionHandler.java
+34 −4 Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java
+1 −1 Adjust/sdk-core/src/main/java/com/adjust/sdk/IActivityHandler.java
+5 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/ISdkClickHandler.java
+93 −1 Adjust/sdk-core/src/main/java/com/adjust/sdk/InstallReferrer.java
+4 −1 Adjust/sdk-core/src/main/java/com/adjust/sdk/InstallReferrerHuawei.java
+1 −1 Adjust/sdk-core/src/main/java/com/adjust/sdk/InstallReferrerReadListener.java
+16 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageBuilder.java
+34 −13 Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageFactory.java
+304 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/PreinstallUtil.java
+43 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/ReferrerDetails.java
+63 −28 Adjust/sdk-core/src/main/java/com/adjust/sdk/RequestHandler.java
+89 −19 Adjust/sdk-core/src/main/java/com/adjust/sdk/SdkClickHandler.java
+4 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/SdkClickResponseData.java
+19 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/SharedPreferencesManager.java
+62 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/UrlFactory.java
+30 −1 Adjust/sdk-core/src/main/java/com/adjust/sdk/Util.java
+4 −4 Adjust/sdk-core/src/main/java/com/adjust/sdk/UtilNetworking.java
+1 −1 Adjust/sdk-plugin-criteo/build.gradle
+1 −1 Adjust/sdk-plugin-imei/build.gradle
+2 −4 Adjust/sdk-plugin-oaid/build.gradle
+ Adjust/sdk-plugin-oaid/libs/miit_mdid_1.0.10.aar
+ Adjust/sdk-plugin-oaid/libs/msa_mdid_1.0.13.aar
+2 −2 Adjust/sdk-plugin-oaid/src/main/java/com/adjust/sdk/oaid/MsaSdkClient.java
+1 −1 Adjust/sdk-plugin-play/build.gradle
+10 −1 Adjust/sdk-plugin-play/src/main/java/com/adjust/sdk/play/InstallReferrer.java
+1 −1 Adjust/sdk-plugin-sociomantic/build.gradle
+1 −1 Adjust/sdk-plugin-trademob/build.gradle
+1 −1 Adjust/sdk-plugin-webbridge/build.gradle
+1 −1 Adjust/sdk-plugin-webbridge/src/main/assets/adjust.js
+5 −0 Adjust/sdk-plugin-webbridge/src/main/assets/adjust_config.js
+7 −0 Adjust/sdk-plugin-webbridge/src/main/java/com/adjust/sdk/webbridge/AdjustBridgeInstance.java
+1 −1 Adjust/test-app-core/build.gradle
+1 −1 Adjust/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java
+1 −1 Adjust/test-app-webbridge/build.gradle
+1 −1 Adjust/test-kotlin/build.gradle
+1 −1 Adjust/test-library/build.gradle
+1 −1 Adjust/test-unit/build.gradle
+1 −1 Adjust/test-unit/src/androidTest/java/com/adjust/sdk/TestActivityPackage.java
+14 −0 CHANGELOG.md
+4 −4 README.md
+1 −1 VERSION
+4 −4 doc/chinese/README.md
+2 −2 doc/chinese/plugins/oaid.md
+1 −1 doc/english/migration/migrate.md
+5 −3 doc/english/plugins/oaid.md
+4 −4 doc/japanese/README.md
+1 −1 doc/japanese/migration/migrate.md
+2 −2 doc/japanese/plugins/oaid.md
+4 −4 doc/korean/README.md
+2 −2 doc/korean/plugins/oaid.md
2 changes: 1 addition & 1 deletion ext/ios/sdk
Submodule sdk updated 81 files
+206 −0 .github/workflows/build.yaml
+2 −2 Adjust.podspec
+44 −0 Adjust.xcodeproj/project.pbxproj
+21 −0 Adjust/ADJActivityHandler.h
+327 −62 Adjust/ADJActivityHandler.m
+2 −0 Adjust/ADJActivityState.h
+13 −2 Adjust/ADJActivityState.m
+8 −3 Adjust/ADJAdditions/UIDevice+ADJAdditions.h
+214 −22 Adjust/ADJAdditions/UIDevice+ADJAdditions.m
+6 −9 Adjust/ADJAdjustFactory.m
+2 −1 Adjust/ADJAttributionHandler.h
+6 −8 Adjust/ADJAttributionHandler.m
+10 −0 Adjust/ADJConfig.h
+7 −0 Adjust/ADJConfig.m
+2 −0 Adjust/ADJPackageBuilder.h
+143 −8 Adjust/ADJPackageBuilder.m
+3 −1 Adjust/ADJPackageHandler.h
+9 −11 Adjust/ADJPackageHandler.m
+2 −4 Adjust/ADJRequestHandler.h
+127 −39 Adjust/ADJRequestHandler.m
+2 −0 Adjust/ADJResponseData.h
+1 −0 Adjust/ADJResponseData.m
+3 −2 Adjust/ADJSdkClickHandler.h
+8 −5 Adjust/ADJSdkClickHandler.m
+19 −12 Adjust/ADJSystemProfile.h
+130 −74 Adjust/ADJSystemProfile.m
+24 −0 Adjust/ADJUrlStrategy.h
+138 −0 Adjust/ADJUrlStrategy.m
+4 −0 Adjust/ADJUserDefaults.h
+29 −11 Adjust/ADJUserDefaults.m
+10 −2 Adjust/ADJUtil.h
+76 −6 Adjust/ADJUtil.m
+11 −1 Adjust/Adjust.h
+27 −0 Adjust/Adjust.m
+4 −0 AdjustBridge/AdjustBridge.m
+8 −1 AdjustBridge/AdjustBridgeRegister.m
+6 −0 AdjustTests/AdjustTestApp/AdjustTestApp.xcodeproj/project.pbxproj
+1 −1 AdjustTests/AdjustUnitTests/ADJPackageFields.m
+6 −0 AdjustTests/AdjustWebBridgeTestApp/AdjustWebBridgeTestApp.xcodeproj/project.pbxproj
+19 −0 CHANGELOG.md
+72 −10 README.md
+1 −1 VERSION
+70 −10 doc/chinese/README.md
+1 −1 doc/english/migrate.md
+1 −1 doc/english/web_views.md
+68 −10 doc/japanese/README.md
+69 −9 doc/korean/README.md
+2 −2 doc/korean/web_views.md
+1 −1 doc/migrate.md
+6 −0 examples/AdjustExample-FbPixel/AdjustExample-FbPixel.xcodeproj/project.pbxproj
+18 −0 examples/AdjustExample-ObjC/AdjustExample-ObjC.xcodeproj/project.pbxproj
+2 −2 examples/AdjustExample-ObjC/AdjustExample-ObjC/AppDelegate.m
+57 −39 examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/Contents.json
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_1024.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_120-1.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_120.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_152.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_167.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_180.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_20.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_29.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_40-1.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_40-2.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_40.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_58-1.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_58.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_60.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_76.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_80-1.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_80.png
+ examples/AdjustExample-ObjC/AdjustExample-ObjC/Assets.xcassets/AppIcon.appiconset/adjust_blue_87.png
+22 −0 examples/AdjustExample-Swift/AdjustExample-Swift.xcodeproj/project.pbxproj
+78 −0 examples/AdjustExample-Swift/AdjustExample-Swift.xcodeproj/xcshareddata/xcschemes/AdjustExample-Swift.xcscheme
+30 −6 examples/AdjustExample-Swift/AdjustExample-Swift/Base.lproj/Main.storyboard
+9 −0 examples/AdjustExample-Swift/AdjustExample-Swift/Info.plist
+117 −0 examples/AdjustExample-Swift/AdjustExample-Swift/LoadProductController.swift
+28 −0 examples/AdjustExample-Swift/AdjustExample-Swift/ViewControllerSwift.swift
+6 −0 examples/AdjustExample-WebView/AdjustExample-WebView.xcodeproj/project.pbxproj
+6 −0 examples/AdjustExample-iMessage/AdjustExample-iMessage.xcodeproj/project.pbxproj
+6 −0 examples/AdjustExample-iWatch/AdjustExample-iWatch.xcodeproj/project.pbxproj
+6 −0 examples/AdjustExample-tvOS/AdjustExample-tvOS.xcodeproj/project.pbxproj
Binary file modified libs/android/adjust-android.jar
Binary file not shown.
Binary file modified libs/ios/AdjustSdk.framework/Versions/A/AdjustSdk
Binary file not shown.
10 changes: 10 additions & 0 deletions libs/ios/AdjustSdk.framework/Versions/A/Headers/ADJConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,16 @@
info3:(NSUInteger)info3
info4:(NSUInteger)info4;


@property (nonatomic, assign, readonly) BOOL isSKAdNetworkHandlingActive;

- (void)deactivateSKAdNetworkHandling;

/**
* @brief Adjust url strategy.
*/
@property (nonatomic, copy, readwrite, nullable) NSString *urlStrategy;

/**
* @brief Get configuration object for the initialization of the Adjust SDK.
*
Expand Down
Loading

0 comments on commit fe45c36

Please sign in to comment.