Skip to content

Commit

Permalink
Merge pull request #36 from adjust/v4330
Browse files Browse the repository at this point in the history
Version 4.33.0
  • Loading branch information
uerceg authored Mar 13, 2023
2 parents 64828f5 + 29bb0b8 commit 8312044
Show file tree
Hide file tree
Showing 31 changed files with 521 additions and 102 deletions.
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
### Version 4.33.0 (13th March 2023)
#### Added
- Added support for SKAN 4.0.
- Added partner sharing settings to the third party sharing feature.
- Added `getLastDeeplink` getter to `Adjust` API to be able to get last tracked deep link by the SDK for iOS platform.
- Added support for `LinkMe` feature.
- Added support to get Facebook install referrer information in attribution callback.
- Added ability to mark your app as COPPA compliant. You can enable this setting by passing `true` as value of `coppaCompliant` key when initializing Adjust SDK.
- Added ability to mark your Android app as app for the kids in accordance to Google Play Families policies. You can enable this setting by `true` as value of `playStoreKidsApp` key when initializing Adjust SDK.
- Added `checkForNewAttStatus` method to `Adjust` API to allow iOS apps to instruct to SDK to check if `att_status` might have changed in the meantime.

#### Changed
- Switched to adding permission `com.google.android.gms.permission.AD_ID` in the Android app's mainfest by default.

#### Native SDKs
- [[email protected]][android_sdk_v4.33.3]
- [[email protected]][ios_sdk_v4.33.4]

---

### Version 4.29.3 (26th January 2022)
#### Changed
- Updated native SDKs to latest versions.
Expand Down Expand Up @@ -212,6 +232,7 @@
[ios_sdk_v4.29.1]: https://github.com/adjust/ios_sdk/tree/v4.29.1
[ios_sdk_v4.29.2]: https://github.com/adjust/ios_sdk/tree/v4.29.2
[ios_sdk_v4.29.6]: https://github.com/adjust/ios_sdk/tree/v4.29.6
[ios_sdk_v4.33.4]: https://github.com/adjust/ios_sdk/tree/v4.33.4

[android_sdk_v4.12.0]: https://github.com/adjust/android_sdk/tree/v4.12.0
[android_sdk_v4.12.1]: https://github.com/adjust/android_sdk/tree/v4.12.1
Expand All @@ -228,3 +249,4 @@
[android_sdk_v4.28.1]: https://github.com/adjust/android_sdk/tree/v4.28.1
[android_sdk_v4.28.8]: https://github.com/adjust/android_sdk/tree/v4.28.8
[android_sdk_v4.28.9]: https://github.com/adjust/android_sdk/tree/v4.28.9
[android_sdk_v4.33.3]: https://github.com/adjust/android_sdk/tree/v4.33.3
64 changes: 29 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ This is the Adjust™ plugin for Solar2D (ex Corona SDK). You can read more abou
* [AppTrackingTransparency framework](#att-framework)
* [App-tracking authorisation wrapper](#ata-wrapper)
* [Get current authorisation status](#ata-getter)
* [Check for ATT status change](#att-status-change)
* [SKAdNetwork framework](#skadn-framework)
* [Update SKAdNetwork conversion value](#skadn-value)
* [Conversion value updated callback](#skadn-cv-updated-callback)
Expand Down Expand Up @@ -117,7 +118,7 @@ You can now add the Adjust SDK to your Corona Enterprise app project. The Adjust
Inside your Android Studio app project, create a `libs` folder inside of your app folder and add the `plugin.adjust.jar` file to it. After that, please update your app's `build.gradle` file and add the following lines to your `dependencies` section:

```
compile 'com.adjust.sdk:adjust-android:4.28.9'
compile 'com.adjust.sdk:adjust-android:4.33.3'
compile 'com.android.installreferrer:installreferrer:2.2'
```

Expand Down Expand Up @@ -194,7 +195,9 @@ If you are targeting Android 12 and above (API level 31), you need to add the `c
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
```

For more information, see [Google's `AdvertisingIdClient.Info` documentation](https://developers.google.com/android/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.Info#public-string-getid).
For more information, see [Google's `AdvertisingIdClient.Info` documentation](https://developers.google.com/android/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.Info#public-string-getid).

**Note**: As of SDK v4.33.0, this permission is being automatically added by Adjust SDK, so you don't need to do it on your own.

### <a id="android-gps"></a>Google Play Services

Expand All @@ -203,7 +206,7 @@ Since August 1, 2014, apps in the Google Play Store must use the [Google adverti
Open the `build.gradle` file of your app and find the `dependencies` block. Add the following line:

```
compile 'com.google.android.gms:play-services-analytics:11.8.0'
compile 'com.google.android.gms:play-services-ads-identifier:18.0.1'
```

To check whether the analytics part of the Google Play Services library has been successfully added to your app, you should start your app by configuring the SDK to run in `SANDBOX` mode and set the log level to `VERBOSE`. After that, track a session or some events in your app and observe the list of parameters in the verbose logs which are being read once the session or event has been tracked. If you see a parameter called `gps_adid` in there, you have successfully added the analytics part of the Google Play Services library to your app and our SDK is reading the necessary information from it.
Expand Down Expand Up @@ -275,7 +278,6 @@ As of v4.23.0, the Adjust SDK supports install tracking on Huawei devices with H

You can add following iOS frameworks to your generated Xcode project to take advantage of additional features:

* `iAd.framework` - needed for Apple Search Ads tracking
* `AdServices.framework` - needed for Apple Search Ads tracking
* `AdSupport.framework` - needed for reading iOS Advertising Id (IDFA)
* `StoreKit.framework` - needed for communication with `SKAdNetwork` framework
Expand Down Expand Up @@ -352,6 +354,14 @@ elseif status == "3" then print("[Adjust]: ATTrackingManagerAuthorizationStatusA
end
```

### <a id="att-status-change"></a>Check for ATT status change

In cases where you are not using [Adjust app-tracking authorization wrapper](#ad-ata-wrapper), Adjust SDK will not be able to know immediately upon answering the dialog what is the new value of app-tracking status. In situations like this, if you would want Adjust SDK to read the new app-tracking status value and communicate it to our backend, make sure to make a call to this method:

```lua
adjust.checkForNewAttStatus();
```

### <a id="skadn-framework"></a>SKAdNetwork framework

**Note**: This feature exists only in iOS platform.
Expand Down Expand Up @@ -775,6 +785,7 @@ local function attributionListener(event)
print("Cost Type: " .. json_attribution.costType)
print("Cost Amount: " .. json_attribution.costAmount)
print("Cost Currency: " .. json_attribution.costCurrency)
print("FB install referrer: " .. json_attribution.fbInstallReferrer)
end

-- ...
Expand All @@ -794,18 +805,18 @@ adjust.create({

Within the listener function you have access to the `attribution` parameters. Here is a quick summary of their properties:

- `trackerToken` the tracker token of the current attribution
- `trackerName` the tracker name of the current attribution
- `network` the network grouping level of the current attribution
- `campaign` the campaign grouping level of the current attribution
- `adgroup` the ad group grouping level of the current attribution
- `creative` the creative grouping level of the current attribution
- `clickLabel` the click label of the current attribution
- `adid` the Adjust device identifier
- `costType` the cost type, use `needsCost` to request this value
- `costAmount` the price, use `needsCost` to request this value
- `costCurrency` the currency used, use `needsCost` to request this value

- `trackerToken` the tracker token of the current attribution
- `trackerName` the tracker name of the current attribution
- `network` the network grouping level of the current attribution
- `campaign` the campaign grouping level of the current attribution
- `adgroup` the ad group grouping level of the current attribution
- `creative` the creative grouping level of the current attribution
- `clickLabel` the click label of the current attribution
- `adid` the Adjust device identifier
- `costType` the cost type, use `needsCost` to request this value
- `costAmount` the price, use `needsCost` to request this value
- `costCurrency` the currency used, use `needsCost` to request this value
- `fbInstallReferrer` the Facebook install referrer information

Please make sure to consider our [applicable attribution data policies][attribution-data].

Expand Down Expand Up @@ -1029,26 +1040,9 @@ Upon receiving this information, Adjust will block the sharing of that specific

### <a id="sdk-signature"></a>SDK signature

An account manager must activate the Adjust SDK signature. Contact Adjust support ([email protected]) if you are interested in using this feature.

If the SDK signature has already been enabled on your account and you have access to App Secrets in your Adjust Dashboard, please use the method below to integrate the SDK signature into your app.

An App Secret is set by passing all secret parameters (`secretId`, `info1`, `info2`, `info3`, `info4`) when making the `adjust.create` method call:
When you set up the SDK Signature, each SDK communication package is "signed". This lets Adjust’s servers easily detect and reject any install activity that is not legitimate.

```lua
local adjust = require "plugin.adjust"

adjust.create({
appToken = "{YourAppToken}",
environment = "SANDBOX",
logLevel = "VERBOSE",
secretId = aaa,
info1 = bbb,
info2 = ccc,
info3 = ddd,
info4 = eee
})
```
There are just a few steps involved in setting up the SDK Signature. Please contact your Technical Account Manager or [email protected] to get started.

### <a id="background-tracking"></a>Background tracking

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.29.3
4.33.0
Binary file modified dist/libplugin_adjust.a
Binary file not shown.
Binary file modified dist/plugin.adjust.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion ext/android/sdk
Submodule sdk updated 145 files
2 changes: 1 addition & 1 deletion ext/ios/sdk
Submodule sdk updated 404 files
33 changes: 31 additions & 2 deletions plugin/Corona/main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ local function attributionListener(event)
print("[Adjust]: Cost type: " .. json_attribution.costType)
print("[Adjust]: Cost amount: " .. json_attribution.costAmount)
print("[Adjust]: Cost currency: " .. json_attribution.costCurrency)
print("[Adjust]: FB install referrer: " .. json_attribution.fbInstallReferrer)
end

local function sessionTrackingSuccessListener(event)
Expand Down Expand Up @@ -80,7 +81,16 @@ local function deferredDeeplinkListener(event)
end

local function conversionValueUpdatedListener(event)
print("[Adjust]: Update conversion value: " .. event.message)
print("[Adjust]: Pre-SKAN4 conversion value update callback pinged!")
if event.message ~= nil then print("[Adjust]: Conversion value: " .. event.message) end
end

local function skan4ConversionValueUpdatedListener(event)
local json_skan4_update = json.decode(event.message)
print("[Adjust]: SKAN4 conversion value update callback pinged!")
if json_skan4_update.fineValue ~= nil then print("[Adjust]: Conversion value: " .. json_skan4_update.fineValue) end
if json_skan4_update.coarseValue ~= nil then print("[Adjust]: Coarse value: " .. json_skan4_update.coarseValue) end
if json_skan4_update.lockWindow ~= nil then print("[Adjust]: Lock window: " .. json_skan4_update.lockWindow) end
end

-- initialize Adjust SDK
Expand All @@ -92,6 +102,7 @@ adjust.setSessionTrackingSuccessListener(sessionTrackingSuccessListener)
adjust.setSessionTrackingFailureListener(sessionTrackingFailureListener)
adjust.setDeferredDeeplinkListener(deferredDeeplinkListener)
adjust.setConversionValueUpdatedListener(conversionValueUpdatedListener)
adjust.setSkan4ConversionValueUpdatedListener(skan4ConversionValueUpdatedListener)

adjust.addSessionCallbackParameter("scp1", "scp1_value1")
adjust.addSessionCallbackParameter("scp2", "scp2_value2")
Expand Down Expand Up @@ -126,6 +137,9 @@ adjust.create({
-- info2 = ccc,
-- info3 = ddd,
-- info4 = eee,
-- coppaCompliant = true,
-- linkMeEnabled = true,
-- playStoreKidsApp = true,
})

adjust.requestTrackingAuthorizationWithCompletionHandler(function(event)
Expand All @@ -151,7 +165,14 @@ local function handleTrackSimpleEvent(event)
adjust.trackEvent({
eventToken = "g3mfiw"
})
adjust.updateConversionValue(6)
-- adjust.updateConversionValueWithCallback(6, function(event)
-- print("[Adjust]: Update conversion value pre-SKAN4 style error = " .. event.message)
-- end)
-- adjust.updateConversionValueWithSkan4Callback(6, "low", false, function(event)
-- print("[Adjust]: Update conversion value SKAN4 style error = " .. event.message)
-- end)
-- adjust.checkForNewAttStatus()
-- adjust.updateConversionValue(6)
-- adjust.trackMeasurementConsent(true)
-- adjust.trackThirdPartySharing({
-- enabled = true,
Expand All @@ -167,6 +188,13 @@ local function handleTrackSimpleEvent(event)
-- value = "NFB-value",
-- },
-- },
-- partnerSharingSettings = {
-- {
-- partnerName = "facebook",
-- install = true,
-- sessions = false,
-- },
-- },
-- })
-- adjust.trackAppStoreSubscription({
-- price = "6.66",
Expand Down Expand Up @@ -469,6 +497,7 @@ local function handleGetAttribution(event)
print("Cost type: " .. json_attribution.costType)
print("Cost amount: " .. json_attribution.costAmount)
print("Cost currency: " .. json_attribution.costCurrency)
print("FB install referrer: " .. json_attribution.fbInstallReferrer)
end)
end
end
Expand Down
Binary file modified plugin/android/app/libs/plugin.adjust.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion plugin/android/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ buildscript {
}
dependencies {
classpath(kotlin("gradle-plugin", version = "1.3.70"))
classpath("com.android.tools.build:gradle:4.1.3")
classpath("com.android.tools.build:gradle:4.2.2")
classpath("com.beust:klaxon:5.0.1")
}
}
Expand Down
2 changes: 1 addition & 1 deletion plugin/android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
6 changes: 3 additions & 3 deletions plugin/android/plugin/build.gradle
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
apply plugin: 'com.android.library'

android {
compileSdkVersion 32
compileSdkVersion 33

defaultConfig {
minSdkVersion 15
targetSdkVersion 32
targetSdkVersion 33
versionCode 1
versionName "1.0"
}
Expand All @@ -30,5 +30,5 @@ task extractPluginJar() {

dependencies {
implementation ':Corona@aar'
api 'com.adjust.sdk:adjust-android:4.28.9'
api 'com.adjust.sdk:adjust-android:4.33.3'
}
1 change: 1 addition & 0 deletions plugin/android/plugin/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>

<application>
<receiver
Expand Down
Loading

0 comments on commit 8312044

Please sign in to comment.