Skip to content

Commit

Permalink
Merge pull request #109 from adjust/v4220
Browse files Browse the repository at this point in the history
Version 4.22.0
  • Loading branch information
uerceg authored Jun 10, 2020
2 parents d4fa7d7 + 27daa72 commit c4aef34
Show file tree
Hide file tree
Showing 33 changed files with 646 additions and 66 deletions.
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
### Version 4.22.0 (10th June 2020)
#### Added
- Added subscription tracking feature.

#### Native SDKs
- [iOS@v4.22.1][ios_sdk_v4.22.1]
- [Android@v4.22.0][android_sdk_v4.22.0]

---

### Version 4.21.2 (4th May 2020)
#### Fixed
- Removed iAd timer from iOS native SDK.
Expand Down Expand Up @@ -466,6 +476,7 @@
[ios_sdk_v4.21.0]: https://github.com/adjust/ios_sdk/tree/v4.21.0
[ios_sdk_v4.21.1]: https://github.com/adjust/ios_sdk/tree/v4.21.1
[ios_sdk_v4.21.3]: https://github.com/adjust/ios_sdk/tree/v4.21.3
[ios_sdk_v4.22.1]: https://github.com/adjust/ios_sdk/tree/v4.22.1

[android_sdk_v3.5.0]: https://github.com/adjust/android_sdk/tree/v3.5.0
[android_sdk_v4.1.0]: https://github.com/adjust/android_sdk/tree/v4.1.0
Expand All @@ -488,3 +499,4 @@
[android_sdk_v4.18.0]: https://github.com/adjust/android_sdk/tree/v4.18.0
[android_sdk_v4.21.0]: https://github.com/adjust/android_sdk/tree/v4.21.0
[android_sdk_v4.21.1]: https://github.com/adjust/android_sdk/tree/v4.21.1
[android_sdk_v4.22.0]: https://github.com/adjust/android_sdk/tree/v4.22.0
86 changes: 85 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This is the Cordova SDK of Adjust™. You can read more about Adjust™ at [adjust.com].

N.B. At the moment, SDK 4.21.2 for Cordova supports Android platform version `4.0.0 and higher` and iOS platform version `3.0.0 and higher`.
N.B. At the moment, SDK 4.22.0 for Cordova supports Android platform version `4.0.0 and higher` and iOS platform version `3.0.0 and higher`.

## Table of contents

Expand All @@ -29,6 +29,7 @@ N.B. At the moment, SDK 4.21.2 for Cordova supports Android platform version `4.
* [Callback parameters](#callback-parameters)
* [Partner parameters](#partner-parameters)
* [Callback identifier](#callback-id)
* [Subscription tracking](#subscription-tracking)
* [Session parameters](#session-parameters)
* [Session callback parameters](#session-callback-parameters)
* [Session partner parameters](#session-partner-parameters)
Expand Down Expand Up @@ -356,6 +357,89 @@ adjustEvent.setCallbackId("Your-Custom-Id");
Adjust.trackEvent(adjustEvent);
```

### <a id="subscription-tracking"></a>Subscription tracking

**Note**: This feature is only available in the SDK v4.22.0 and above.

You can track App Store and Play Store subscriptions and verify their validity with the Adjust SDK. After a subscription has been successfully purchased, make the following call to the Adjust SDK:

**For App Store subscription:**

```js
var subscription = new AdjustAppStoreSubscription(price, currency, transactionId, receipt);
subscription.setTransactionDate(transactionDate);
subscription.setSalesRegion(salesRegion);

Adjust.trackAppStoreSubscription(subscription);
```

**For Play Store subscription:**

```js
var subscription = new AdjustPlayStoreSubscription(price, currency, sku, orderId, signature, purchaseToken);
subscription.setPurchaseTime(purchaseTime);

Adjust.trackPlayStoreSubscription(subscription);
```

Subscription tracking parameters for App Store subscription:

- [price](https://developer.apple.com/documentation/storekit/skproduct/1506094-price?language=objc)
- currency (you need to pass [currencyCode](https://developer.apple.com/documentation/foundation/nslocale/1642836-currencycode?language=objc) of the [priceLocale](https://developer.apple.com/documentation/storekit/skproduct/1506145-pricelocale?language=objc) object)
- [transactionId](https://developer.apple.com/documentation/storekit/skpaymenttransaction/1411288-transactionidentifier?language=objc)
- [receipt](https://developer.apple.com/documentation/foundation/nsbundle/1407276-appstorereceipturl)
- [transactionDate](https://developer.apple.com/documentation/storekit/skpaymenttransaction/1411273-transactiondate?language=objc)
- salesRegion (you need to pass [countryCode](https://developer.apple.com/documentation/foundation/nslocale/1643060-countrycode?language=objc) of the [priceLocale](https://developer.apple.com/documentation/storekit/skproduct/1506145-pricelocale?language=objc) object)

Subscription tracking parameters for Play Store subscription:

- [price](https://developer.android.com/reference/com/android/billingclient/api/SkuDetails#getpriceamountmicros)
- [currency](https://developer.android.com/reference/com/android/billingclient/api/SkuDetails#getpricecurrencycode)
- [sku](https://developer.android.com/reference/com/android/billingclient/api/Purchase#getsku)
- [orderId](https://developer.android.com/reference/com/android/billingclient/api/Purchase#getorderid)
- [signature](https://developer.android.com/reference/com/android/billingclient/api/Purchase#getsignature)
- [purchaseToken](https://developer.android.com/reference/com/android/billingclient/api/Purchase#getpurchasetoken)
- [purchaseTime](https://developer.android.com/reference/com/android/billingclient/api/Purchase#getpurchasetime)

**Note:** Subscription tracking API offered by Adjust SDK expects all parameters to be passed as `string` values. Parameters described above are the ones which API exects you to pass to subscription object prior to tracking subscription. There are various libraries which are handling in app purchases in Cordova and each one of them should return information described above in some form upon successfully completed subscription purchase. You should locate where these parameters are placed in response you are getting from library you are using for in app purchases, extract those values and pass them to Adjust API as string values.

Just like with event tracking, you can attach callback and partner parameters to the subscription object as well:

**For App Store subscription:**

```js
var subscription = new AdjustAppStoreSubscription(price, currency, transactionId, receipt);
subscription.setTransactionDate(transactionDate);
subscription.setSalesRegion(salesRegion);

// add callback parameters
subscription.addCallbackParameter("key", "value");
subscription.addCallbackParameter("foo", "bar");

// add partner parameters
subscription.addPartnerParameter("key", "value");
subscription.addPartnerParameter("foo", "bar");

Adjust.trackAppStoreSubscription(subscription);
```

**For Play Store subscription:**

```js
var subscription = new AdjustPlayStoreSubscription(price, currency, sku, orderId, signature, purchaseToken);
subscription.setPurchaseTime(purchaseTime);

// add callback parameters
subscription.addCallbackParameter("key", "value");
subscription.addCallbackParameter("foo", "bar");

// add partner parameters
subscription.addPartnerParameter("key", "value");
subscription.addPartnerParameter("foo", "bar");

Adjust.trackPlayStoreSubscription(subscription);
```

### <a id="session-parameters"></a>Session parameters

Some parameters are saved to be sent in every event and session of the Adjust SDK. Once you have added any of these parameters, you don't need to add them every time, since they will be saved locally. If you add the same parameter twice, there will be no effect.
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.21.2
4.22.0
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 Cordova to 4.21.2 from 3.4.1
## Migrate your Adjust SDK for Cordova to 4.22.0 from 3.4.1

### Migration procedure

Expand Down
1 change: 0 additions & 1 deletion example-cordova/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,4 @@
<variable name="ANDROID_PATHPREFIX" value="/" />
</plugin>
<engine name="ios" spec="^4.5.5" />
<engine name="android" spec="^7.1.4" />
</widget>
15 changes: 6 additions & 9 deletions example-cordova/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 5 additions & 4 deletions example-cordova/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
"description": "A sample Apache Cordova application that uses Adjust SDK.",
"main": "index.js",
"dependencies": {
"com.adjust.sdk": "^4.21.2",
"com.adjust.sdk": "file:../temp_plugin",
"cordova-android": "^8.1.0",
"cordova-ios": "^5.1.1",
"cordova-plugin-console": "^1.1.0",
"cordova-plugin-customurlscheme": "^4.3.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-device": "git+https://github.com/apache/cordova-plugin-device.git",
"cordova-plugin-dialogs": "^2.0.1",
"cordova-plugin-whitelist": "^1.3.3",
"cordova-universal-links-plugin": "^1.2.1"
Expand All @@ -26,11 +26,12 @@
"ANDROID_SCHEME": " ",
"ANDROID_HOST": " ",
"ANDROID_PATHPREFIX": "/"
}
},
"com.adjust.sdk": {}
},
"platforms": [
"ios",
"android"
]
}
}
}
28 changes: 15 additions & 13 deletions example-ionic/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions example-ionic/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "AdjustExample",
"version": "4.21.2",
"version": "4.22.0",
"author": "Ionic Framework",
"homepage": "http://ionicframework.com/",
"private": true,
Expand All @@ -26,7 +26,7 @@
"@ionic-native/status-bar": "~4.17.0",
"@ionic/storage": "2.2.0",
"acorn": "^7.1.1",
"com.adjust.sdk": "^4.21.2",
"com.adjust.sdk": "^4.22.0",
"cordova-android": "7.1.4",
"cordova-ios": "^5.1.1",
"cordova-plugin-device": "^2.0.2",
Expand Down
2 changes: 1 addition & 1 deletion ext/android/sdk
Submodule sdk updated 55 files
+3 −3 Adjust/build.gradle
+7 −0 Adjust/example-app-fbpixel/src/main/java/com/adjust/examples/MainActivity.java
+1 −0 Adjust/example-app-java/src/main/java/com/adjust/examples/MainActivity.java
+7 −0 Adjust/example-app-webbridge/src/main/java/com/example/examples/MainActivity.java
+2 −2 Adjust/gradle/wrapper/gradle-wrapper.properties
+33 −3 Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityHandler.java
+16 −1 Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityKind.java
+3 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/ActivityState.java
+11 −1 Adjust/sdk-core/src/main/java/com/adjust/sdk/Adjust.java
+1 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustConfig.java
+13 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustFactory.java
+24 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustInstance.java
+118 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustPlayStoreSubscription.java
+2 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/AdjustTestOptions.java
+2 −1 Adjust/sdk-core/src/main/java/com/adjust/sdk/Constants.java
+60 −20 Adjust/sdk-core/src/main/java/com/adjust/sdk/DeviceInfo.java
+8 −3 Adjust/sdk-core/src/main/java/com/adjust/sdk/GooglePlayServicesClient.java
+4 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/IActivityHandler.java
+2 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/IPackageHandler.java
+10 −1 Adjust/sdk-core/src/main/java/com/adjust/sdk/InstallReferrerHuawei.java
+125 −3 Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageBuilder.java
+7 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/PackageHandler.java
+3 −5 Adjust/sdk-core/src/main/java/com/adjust/sdk/Reflection.java
+7 −0 Adjust/sdk-core/src/main/java/com/adjust/sdk/RequestHandler.java
+7 −5 Adjust/sdk-core/src/main/java/com/adjust/sdk/SdkClickHandler.java
+80 −12 Adjust/sdk-core/src/main/java/com/adjust/sdk/Util.java
+1 −1 Adjust/sdk-core/src/main/java/com/adjust/sdk/scheduler/SingleThreadFutureScheduler.java
+1 −1 Adjust/sdk-plugin-criteo/build.gradle
+1 −1 Adjust/sdk-plugin-imei/build.gradle
+1 −1 Adjust/sdk-plugin-oaid/build.gradle
+0 −17 Adjust/sdk-plugin-oaid/src/main/aidl/com/uodis/opendevice/aidl/OpenDeviceIdentifierService.aidl
+20 −12 Adjust/sdk-plugin-oaid/src/main/java/com/adjust/sdk/oaid/Util.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
+7 −0 Adjust/sdk-plugin-webbridge/src/main/java/com/adjust/sdk/webbridge/AdjustBridge.java
+54 −3 Adjust/sdk-plugin-webbridge/src/main/java/com/adjust/sdk/webbridge/AdjustBridgeInstance.java
+45 −0 Adjust/test-app-core/src/main/java/com/adjust/testapp/AdjustCommandExecutor.java
+0 −1 Adjust/test-app-core/src/main/java/com/adjust/testapp/MainActivity.java
+8 −0 Adjust/test-app-webbridge/src/main/assets/command_executor.js
+1 −1 Adjust/test-unit/src/androidTest/java/com/adjust/sdk/TestActivityPackage.java
+22 −0 CHANGELOG.md
+76 −3 README.md
+1 −1 VERSION
+2 −2 doc/chinese/README.md
+1 −1 doc/chinese/plugins/imei.md
+15 −5 doc/chinese/plugins/oaid.md
+1 −1 doc/english/migration/migrate.md
+7 −7 doc/english/plugins/oaid.md
+2 −2 doc/japanese/README.md
+1 −1 doc/japanese/migration/migrate.md
+16 −6 doc/japanese/plugins/oaid.md
+2 −2 doc/korean/README.md
+17 −5 doc/korean/plugins/oaid.md
2 changes: 1 addition & 1 deletion ext/ios/sdk
Submodule sdk updated 78 files
+2 −2 Adjust.podspec
+41 −1 Adjust.xcodeproj/project.pbxproj
+1 −1 Adjust.xcodeproj/xcshareddata/xcschemes/AdjustSdk.xcscheme
+1 −1 Adjust.xcodeproj/xcshareddata/xcschemes/AdjustSdkIm.xcscheme
+1 −1 Adjust.xcodeproj/xcshareddata/xcschemes/AdjustSdkTv.xcscheme
+1 −1 Adjust.xcodeproj/xcshareddata/xcschemes/AdjustSdkWebBridge.xcscheme
+4 −6 Adjust/ADJActivityHandler.h
+198 −75 Adjust/ADJActivityHandler.m
+11 −10 Adjust/ADJActivityKind.h
+4 −0 Adjust/ADJActivityKind.m
+4 −20 Adjust/ADJAdjustFactory.h
+25 −82 Adjust/ADJAdjustFactory.m
+5 −9 Adjust/ADJAttributionHandler.h
+41 −30 Adjust/ADJAttributionHandler.m
+7 −0 Adjust/ADJPackageBuilder.h
+96 −0 Adjust/ADJPackageBuilder.m
+5 −13 Adjust/ADJPackageHandler.h
+125 −87 Adjust/ADJPackageHandler.m
+16 −13 Adjust/ADJRequestHandler.h
+476 −70 Adjust/ADJRequestHandler.m
+4 −5 Adjust/ADJResponseData.h
+16 −31 Adjust/ADJResponseData.m
+5 −9 Adjust/ADJSdkClickHandler.h
+46 −42 Adjust/ADJSdkClickHandler.m
+44 −0 Adjust/ADJSubscription.h
+143 −0 Adjust/ADJSubscription.m
+10 −18 Adjust/ADJUtil.h
+13 −464 Adjust/ADJUtil.m
+13 −3 Adjust/Adjust.h
+22 −7 Adjust/Adjust.m
+3 −7 AdjustBridge/AdjustBridge.m
+1 −1 AdjustBridge/AdjustBridgeRegister.m
+1 −0 AdjustSdk/AdjustSdk.h
+1 −0 AdjustSdkIm/AdjustSdkIm.h
+1 −0 AdjustSdkTv/AdjustSdkTv.h
+1 −0 AdjustSdkWebBridge/AdjustSdkWebBridge.h
+6 −0 AdjustTests/AdjustTestApp/AdjustTestApp.xcodeproj/project.pbxproj
+86 −26 AdjustTests/AdjustTestApp/AdjustTestApp/ATAAdjustCommandExecutor.m
+1 −1 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateAttribution.h
+4 −4 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateAttribution.m
+1 −1 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateDeferredDeeplink.h
+4 −4 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateDeferredDeeplink.m
+1 −1 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateEventFailure.h
+4 −4 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateEventFailure.m
+1 −1 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateEventSuccess.h
+4 −4 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateEventSuccess.m
+1 −1 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateSessionFailure.h
+4 −4 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateSessionFailure.m
+1 −1 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateSessionSuccess.h
+4 −4 AdjustTests/AdjustTestApp/AdjustTestApp/Delegates/ATAAdjustDelegateSessionSuccess.m
+1 −0 AdjustTests/AdjustTestApp/AdjustTestApp/ViewController.h
+2 −2 AdjustTests/AdjustTestApp/AdjustTestApp/ViewController.m
+1 −1 AdjustTests/AdjustUnitTests/ADJPackageFields.m
+1 −1 ...ustWebBridgeTestApp/AdjustWebBridgeTestApp.xcodeproj/xcshareddata/xcschemes/AdjustWebBridgeTestApp.xcscheme
+18 −26 AdjustTests/AdjustWebBridgeTestApp/AdjustWebBridgeTestApp/TestLibraryBridge.js
+2 −2 AdjustTests/AdjustWebBridgeTestApp/AdjustWebBridgeTestApp/TestLibraryBridge.m
+1 −1 AdjustTests/PocketSocket/PocketSocket.xcodeproj/xcshareddata/xcschemes/PocketSocket-Mac.xcscheme
+1 −1 AdjustTests/PocketSocket/PocketSocket.xcodeproj/xcshareddata/xcschemes/PocketSocket.xcscheme
+16 −0 CHANGELOG.md
+52 −2 README.md
+1 −1 VERSION
+2 −2 doc/chinese/README.md
+1 −1 doc/english/migrate.md
+1 −1 doc/english/web_views.md
+2 −2 doc/japanese/README.md
+2 −2 doc/korean/README.md
+1 −1 doc/korean/web_views.md
+1 −1 doc/migrate.md
+6 −0 examples/AdjustExample-FbPixel/AdjustExample-FbPixel.xcodeproj/project.pbxproj
+6 −0 examples/AdjustExample-ObjC/AdjustExample-ObjC.xcodeproj/project.pbxproj
+0 −3 examples/AdjustExample-ObjC/AdjustExample-ObjC/ViewControllerObjC.m
+6 −0 examples/AdjustExample-Swift/AdjustExample-Swift.xcodeproj/project.pbxproj
+6 −0 examples/AdjustExample-WebView/AdjustExample-WebView.xcodeproj/project.pbxproj
+6 −0 examples/AdjustExample-iMessage/AdjustExample-iMessage.xcodeproj/project.pbxproj
+1 −1 ...e/AdjustExample-iMessage.xcodeproj/xcshareddata/xcschemes/AdjustExample-iMessage MessagesExtension.xcscheme
+1 −1 ...ustExample-iMessage/AdjustExample-iMessage.xcodeproj/xcshareddata/xcschemes/AdjustExample-iMessage.xcscheme
+6 −0 examples/AdjustExample-iWatch/AdjustExample-iWatch.xcodeproj/project.pbxproj
+6 −0 examples/AdjustExample-tvOS/AdjustExample-tvOS.xcodeproj/project.pbxproj
Loading

0 comments on commit c4aef34

Please sign in to comment.