Skip to content

Commit 967e745

Browse files
authored
Merge pull request #84 from adjust/v4210
Version 4.21.0
2 parents a92c894 + a32b3cc commit 967e745

File tree

109 files changed

+7324
-6752
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+7324
-6752
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@
66
path = ext/ios/sdk
77
url = https://github.com/adjust/ios_sdk.git
88
branch = master
9+
[submodule "ext/scripts"]
10+
path = ext/scripts
11+
url = https://github.com/adjust/sdk_scripts.git

.npmignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,5 @@ node_modules
1212

1313
# Adjust SDK
1414
ext/
15-
scripts/
1615
example/
1716
test/

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
### Version 4.21.0 (1st April 2020)
2+
#### Added
3+
- Added `disableThirdPartySharing` method to `Adjust` interface to allow disabling of data sharing with third parties outside of Adjust ecosystem.
4+
- Added support for signature library as a plugin.
5+
- Added more aggressive sending retry logic for install session package.
6+
- Added additional parameters to `ad_revenue` package payload.
7+
- Added external device ID support.
8+
9+
#### Native SDKs
10+
- [[email protected]][ios_sdk_v4.21.0]
11+
- [[email protected]][android_sdk_v4.21.0]
12+
13+
---
14+
115
### Version 4.18.2 (11th October 2019)
216
#### Added
317
- Added `convertUniversalLink` method from native iOS SDK to JS API (thanks to @tootsweet).
@@ -322,6 +336,7 @@
322336
[ios_sdk_v4.17.2]: https://github.com/adjust/ios_sdk/tree/v4.17.2
323337
[ios_sdk_v4.18.0]: https://github.com/adjust/ios_sdk/tree/v4.18.0
324338
[ios_sdk_v4.18.3]: https://github.com/adjust/ios_sdk/tree/v4.18.3
339+
[ios_sdk_v4.21.0]: https://github.com/adjust/ios_sdk/tree/v4.21.0
325340

326341
[android_sdk_v4.10.4]: https://github.com/adjust/android_sdk/tree/v4.10.4
327342
[android_sdk_v4.11.0]: https://github.com/adjust/android_sdk/tree/v4.11.0
@@ -339,3 +354,4 @@
339354
[android_sdk_v4.17.0]: https://github.com/adjust/android_sdk/tree/v4.17.0
340355
[android_sdk_v4.18.0]: https://github.com/adjust/android_sdk/tree/v4.18.0
341356
[android_sdk_v4.18.3]: https://github.com/adjust/android_sdk/tree/v4.18.3
357+
[android_sdk_v4.21.0]: https://github.com/adjust/android_sdk/tree/v4.21.0

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ This is the React Native SDK of Adjust™. You can read more about Adjust™ at
3535
* [Offline mode](#offline-mode)
3636
* [Event buffering](#event-buffering)
3737
* [GDPR right to be forgotten](#gdpr-forget-me)
38+
* [Disable third-party sharing](#disable-third-party-sharing)
3839
* [SDK signature](#sdk-signature)
3940
* [Background tracking](#background-tracking)
4041
* [Device IDs](#device-ids)
@@ -638,6 +639,19 @@ Adjust.gdprForgetMe();
638639

639640
Upon receiving this information, Adjust will erase the user's data and the Adjust SDK will stop tracking the user. No requests from this device will be sent to Adjust in the future.
640641

642+
### <a id="disable-third-party-sharing"></a>Disable third-party sharing for specific users
643+
644+
You can now notify Adjust when a user has exercised their right to stop sharing their data with partners for marketing purposes, but has allowed it to be shared for statistics purposes.
645+
646+
Call the following method to instruct the Adjust SDK to communicate the user's choice to disable data sharing to the Adjust backend:
647+
648+
649+
```cs
650+
Adjust.disableThirdPartySharing();
651+
```
652+
653+
Upon receiving this information, Adjust will block the sharing of that specific user's data to partners and the Adjust SDK will continue to work as usual.
654+
641655
### <a id="sdk-signature"></a>SDK signature
642656

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

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.18.2
1+
4.21.0

android/libs/adjust-android.jar

7.21 KB
Binary file not shown.

android/src/main/java/com/adjust/sdk/Adjust.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ public void create(ReadableMap mapConfig) {
107107
String userAgent = null;
108108
String processName = null;
109109
String defaultTracker = null;
110+
String externalDeviceId = null;
110111
long secretId = 0L;
111112
long info1 = 0L;
112113
long info2 = 0L;
@@ -189,6 +190,12 @@ public void create(ReadableMap mapConfig) {
189190
adjustConfig.setDefaultTracker(defaultTracker);
190191
}
191192

193+
// External device ID.
194+
if (checkKey(mapConfig, "externalDeviceId")) {
195+
externalDeviceId = mapConfig.getString("externalDeviceId");
196+
adjustConfig.setExternalDeviceId(externalDeviceId);
197+
}
198+
192199
// User agent.
193200
if (checkKey(mapConfig, "userAgent")) {
194201
userAgent = mapConfig.getString("userAgent");
@@ -429,6 +436,11 @@ public void gdprForgetMe() {
429436
com.adjust.sdk.Adjust.gdprForgetMe(getReactApplicationContext());
430437
}
431438

439+
@ReactMethod
440+
public void disableThirdPartySharing() {
441+
com.adjust.sdk.Adjust.disableThirdPartySharing(getReactApplicationContext());
442+
}
443+
432444
@ReactMethod
433445
public void getIdfa(Callback callback) {
434446
callback.invoke("");

example/.flowconfig

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ node_modules/warning/.*
2121
[include]
2222

2323
[libs]
24-
node_modules/react-native/Libraries/react-native/react-native-interface.js
24+
node_modules/react-native/interface.js
2525
node_modules/react-native/flow/
2626

2727
[options]
@@ -36,9 +36,8 @@ module.file_ext=.ios.js
3636

3737
munge_underscores=true
3838

39-
module.name_mapper='^react-native$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/react-native/react-native-implementation'
4039
module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1'
41-
module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'
40+
module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'
4241

4342
suppress_type=$FlowIssue
4443
suppress_type=$FlowFixMe
@@ -72,4 +71,4 @@ untyped-import
7271
untyped-type-import
7372

7473
[version]
75-
^0.105.0
74+
^0.113.0

example/App.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* https://github.com/facebook/react-native
44
*
55
* @format
6-
* @flow
6+
* @flow strict-local
77
*/
88

99
import React from 'react';
@@ -320,4 +320,4 @@ const styles = StyleSheet.create({
320320
},
321321
});
322322

323-
export default App;
323+
export default App;

example/android/app/build.gradle

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ import com.android.build.OutputFile
1515
* // the name of the generated asset file containing your JS bundle
1616
* bundleAssetName: "index.android.bundle",
1717
*
18-
* // the entry file for bundle generation
18+
* // the entry file for bundle generation. If none specified and
19+
* // "index.android.js" exists, it will be used. Otherwise "index.js" is
20+
* // default. Can be overridden with ENTRY_FILE environment variable.
1921
* entryFile: "index.android.js",
2022
*
2123
* // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format
@@ -76,7 +78,6 @@ import com.android.build.OutputFile
7678
*/
7779

7880
project.ext.react = [
79-
entryFile: "index.js",
8081
enableHermes: false, // clean and rebuild if changing
8182
]
8283

@@ -132,7 +133,7 @@ android {
132133
minSdkVersion rootProject.ext.minSdkVersion
133134
targetSdkVersion rootProject.ext.targetSdkVersion
134135
versionCode 1
135-
versionName "1.0"
136+
versionName "4.21.0"
136137
}
137138
splits {
138139
abi {
@@ -162,6 +163,14 @@ android {
162163
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
163164
}
164165
}
166+
167+
packagingOptions {
168+
pickFirst "lib/armeabi-v7a/libc++_shared.so"
169+
pickFirst "lib/arm64-v8a/libc++_shared.so"
170+
pickFirst "lib/x86/libc++_shared.so"
171+
pickFirst "lib/x86_64/libc++_shared.so"
172+
}
173+
165174
// applicationVariants are e.g. debug, release
166175
applicationVariants.all { variant ->
167176
variant.outputs.each { output ->
@@ -179,10 +188,24 @@ android {
179188
}
180189

181190
dependencies {
182-
implementation project(':react-native-adjust')
183191
implementation fileTree(dir: "libs", include: ["*.jar"])
192+
//noinspection GradleDynamicVersion
184193
implementation "com.facebook.react:react-native:+" // From node_modules
185194

195+
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
196+
197+
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
198+
exclude group:'com.facebook.fbjni'
199+
}
200+
201+
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
202+
exclude group:'com.facebook.flipper'
203+
}
204+
205+
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
206+
exclude group:'com.facebook.flipper'
207+
}
208+
186209
if (enableHermes) {
187210
def hermesPath = "../../node_modules/hermes-engine/android/";
188211
debugImplementation files(hermesPath + "hermes-debug.aar")

0 commit comments

Comments
 (0)