Skip to content

Commit 9cd342c

Browse files
update: upgraded Adjust version to V5 (#1057)
* update: upgraded Adjust version to V5 * update: updated comments * refactor: updated SegmentAdjustSettings object in core
1 parent 188a505 commit 9cd342c

File tree

11 files changed

+53
-44
lines changed

11 files changed

+53
-44
lines changed

packages/core/src/types.ts

-3
Original file line numberDiff line numberDiff line change
@@ -288,11 +288,8 @@ type SegmentAmplitudeIntegration = {
288288
export type SegmentAdjustSettings = {
289289
appToken: string;
290290
setEnvironmentProduction?: boolean;
291-
setEventBufferingEnabled?: boolean;
292291
trackAttributionData?: boolean;
293-
setDelay?: boolean;
294292
customEvents?: { [key: string]: string };
295-
delayTime?: number;
296293
};
297294

298295
export type SegmentBrazeSettings = {

packages/plugins/plugin-adjust/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@segment/analytics-react-native-plugin-adjust",
3-
"version": "0.7.0",
3+
"version": "0.8.0",
44
"description": "The hassle-free way to add Segment analytics to your React-Native app.",
55
"main": "lib/commonjs/index",
66
"scripts": {
@@ -45,14 +45,14 @@
4545
"homepage": "https://github.com/segmentio/analytics-react-native/tree/master/packages/plugins/plugin-adjust#readme",
4646
"peerDependencies": {
4747
"@segment/analytics-react-native": "^2.18.0",
48-
"react-native-adjust": "^4.33.0"
48+
"react-native-adjust": "^5.1.0"
4949
},
5050
"devDependencies": {
5151
"@segment/analytics-react-native": "^2.18.0",
5252
"@segment/analytics-rn-shared": "workspace:^",
5353
"@segment/sovran-react-native": "^1.1.0",
5454
"jest": "^29.7.0",
55-
"react-native-adjust": "^4.33.0",
55+
"react-native-adjust": "^5.1.0",
5656
"react-native-builder-bob": "^0.23.1",
5757
"rimraf": "^5.0.5",
5858
"typescript": "^5.2.2"

packages/plugins/plugin-adjust/src/AdjustPlugin.tsx

+19-14
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export class AdjustPlugin extends DestinationPlugin {
3838
const adjustConfig = new AdjustConfig(this.settings.appToken, environment);
3939

4040
if (this.hasRegisteredCallback === false) {
41-
adjustConfig.setAttributionCallbackListener((attribution) => {
41+
adjustConfig.setAttributionCallback((attribution) => {
4242
const trackPayload = {
4343
provider: 'Adjust',
4444
trackerToken: attribution.trackerToken,
@@ -55,28 +55,33 @@ export class AdjustPlugin extends DestinationPlugin {
5555
});
5656
this.hasRegisteredCallback = true;
5757
}
58+
//Removed from react-native-adjust v5 (https://dev.adjust.com/en/sdk/migration/react-native/v4-to-v5)
59+
//TO DO : Remove commented lines in next release
60+
// const bufferingEnabled = this.settings.setEventBufferingEnabled;
61+
// if (bufferingEnabled === true) {
62+
// adjustConfig.setEventBufferingEnabled(bufferingEnabled);
63+
// }
5864

59-
const bufferingEnabled = this.settings.setEventBufferingEnabled;
60-
if (bufferingEnabled === true) {
61-
adjustConfig.setEventBufferingEnabled(bufferingEnabled);
62-
}
63-
64-
const useDelay = this.settings.setDelay;
65-
if (useDelay === true) {
66-
const delayTime = this.settings.delayTime;
67-
if (delayTime !== null && delayTime !== undefined) {
68-
adjustConfig.setDelayStart(delayTime);
69-
}
70-
}
65+
// const useDelay = this.settings.setDelay;
66+
// if (useDelay === true) {
67+
// const delayTime = this.settings.delayTime;
68+
// if (delayTime !== null && delayTime !== undefined) {
69+
// adjustConfig.setDelayStart(delayTime);
70+
// }
71+
// }
7172

72-
Adjust.create(adjustConfig);
73+
//create has been replaced with initSDK in v5
74+
//TO DO : Remove commented lines in next release
75+
//Adjust.create(adjustConfig);
76+
Adjust.initSdk(adjustConfig);
7377
}
7478
identify(event: IdentifyEventType) {
7579
identify(event);
7680
return event;
7781
}
7882

7983
track(event: TrackEventType) {
84+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
8085
track(event, this.settings!);
8186
return event;
8287
}

packages/plugins/plugin-adjust/src/methods/__mocks__/react-native-adjust.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
export const resetSessionPartnerParameters = jest.fn();
2-
export const addSessionPartnerParameter = jest.fn();
1+
export const removeGlobalPartnerParameters = jest.fn();
2+
export const addGlobalPartnerParameter = jest.fn();
33
export const trackEvent = jest.fn();
44

55
export const Adjust = {
6-
resetSessionPartnerParameters,
7-
addSessionPartnerParameter,
6+
removeGlobalPartnerParameters,
7+
addGlobalPartnerParameter,
88
trackEvent,
99
};
1010

packages/plugins/plugin-adjust/src/methods/__tests__/identify.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import identify from '../identify';
22
import type { IdentifyEventType } from '@segment/analytics-react-native';
3-
import { addSessionPartnerParameter } from '../__mocks__/react-native-adjust';
3+
import { addGlobalPartnerParameter } from '../__mocks__/react-native-adjust';
44

55
describe('#identify', () => {
66
beforeEach(() => {
@@ -15,7 +15,7 @@ describe('#identify', () => {
1515

1616
identify(payload as IdentifyEventType);
1717

18-
expect(addSessionPartnerParameter).toHaveBeenCalledWith('user_id', 'user');
18+
expect(addGlobalPartnerParameter).toHaveBeenCalledWith('user_id', 'user');
1919
});
2020

2121
it('sets the anonymous_id', () => {
@@ -26,7 +26,7 @@ describe('#identify', () => {
2626

2727
identify(payload as IdentifyEventType);
2828

29-
expect(addSessionPartnerParameter).toHaveBeenCalledWith(
29+
expect(addGlobalPartnerParameter).toHaveBeenCalledWith(
3030
'anonymous_id',
3131
'anon'
3232
);
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import reset from '../reset';
2-
import { resetSessionPartnerParameters } from '../__mocks__/react-native-adjust';
2+
import { removeGlobalPartnerParameters } from '../__mocks__/react-native-adjust';
33

44
describe('#reset', () => {
55
beforeEach(() => {
@@ -9,7 +9,7 @@ describe('#reset', () => {
99
it('calls resetSessionPartnerParameters', () => {
1010
reset();
1111

12-
expect(resetSessionPartnerParameters).toHaveBeenCalledTimes(1);
13-
expect(resetSessionPartnerParameters).toHaveBeenCalledWith();
12+
expect(removeGlobalPartnerParameters).toHaveBeenCalledTimes(1);
13+
expect(removeGlobalPartnerParameters).toHaveBeenCalledWith();
1414
});
1515
});

packages/plugins/plugin-adjust/src/methods/__tests__/track.test.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ describe('#track', () => {
2828

2929
track(event as TrackEventType, settings);
3030

31-
expect(Adjust.addSessionPartnerParameter).toHaveBeenCalledWith(
31+
expect(Adjust.addGlobalPartnerParameter).toHaveBeenCalledWith(
3232
'anonymous_id',
3333
'anon'
3434
);
@@ -54,7 +54,7 @@ describe('#track', () => {
5454

5555
track(event as TrackEventType, settings);
5656

57-
expect(Adjust.addSessionPartnerParameter).toHaveBeenCalledWith(
57+
expect(Adjust.addGlobalPartnerParameter).toHaveBeenCalledWith(
5858
'anonymous_id',
5959
'anon'
6060
);
@@ -85,7 +85,7 @@ describe('#track', () => {
8585

8686
track(event as TrackEventType, settings);
8787

88-
expect(Adjust.addSessionPartnerParameter).toHaveBeenCalledWith(
88+
expect(Adjust.addGlobalPartnerParameter).toHaveBeenCalledWith(
8989
'anonymous_id',
9090
'anon'
9191
);
@@ -114,7 +114,7 @@ describe('#track', () => {
114114

115115
track(event as TrackEventType, settings);
116116

117-
expect(Adjust.addSessionPartnerParameter).toHaveBeenCalledWith(
117+
expect(Adjust.addGlobalPartnerParameter).toHaveBeenCalledWith(
118118
'anonymous_id',
119119
'anon'
120120
);

packages/plugins/plugin-adjust/src/methods/identify.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import type { IdentifyEventType } from '@segment/analytics-react-native';
44
export default (event: IdentifyEventType) => {
55
const userId = event.userId;
66
if (userId !== undefined && userId !== null && userId.length > 0) {
7-
Adjust.addSessionPartnerParameter('user_id', userId);
7+
Adjust.addGlobalPartnerParameter('user_id', userId);
88
}
99

1010
const anonId = event.anonymousId;
1111
if (anonId !== undefined && anonId !== null && anonId.length > 0) {
12-
Adjust.addSessionPartnerParameter('anonymous_id', anonId);
12+
Adjust.addGlobalPartnerParameter('anonymous_id', anonId);
1313
}
1414
};
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import { Adjust } from 'react-native-adjust';
22

33
export default () => {
4-
Adjust.resetSessionPartnerParameters();
4+
//resetSessionPartnerParameters is replaced with removeGlobalPartnerParameters in v5
5+
//TO DO : Remove commented lines in next release
6+
// Adjust.resetSessionPartnerParameters();
7+
Adjust.removeGlobalPartnerParameters();
8+
59
};

packages/plugins/plugin-adjust/src/methods/track.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ import { extract, mappedCustomEventToken } from '../util';
88
export default (event: TrackEventType, settings: SegmentAdjustSettings) => {
99
const anonId = event.anonymousId;
1010
if (anonId !== undefined && anonId !== null && anonId.length > 0) {
11-
Adjust.addSessionPartnerParameter('anonymous_id', anonId);
11+
//addSessionPartnerParameter has been replaced with addGlobalPartnerParameter in v5
12+
//TO DO : Remove commented lines in next release
13+
//Adjust.addSessionPartnerParameter('anonymous_id', anonId);
14+
Adjust.addGlobalPartnerParameter('anonymous_id', anonId);
1215
}
1316

1417
const token = mappedCustomEventToken(event.event, settings);

yarn.lock

+6-6
Original file line numberDiff line numberDiff line change
@@ -3350,13 +3350,13 @@ __metadata:
33503350
"@segment/analytics-rn-shared": "workspace:^"
33513351
"@segment/sovran-react-native": "npm:^1.1.0"
33523352
jest: "npm:^29.7.0"
3353-
react-native-adjust: "npm:^4.33.0"
3353+
react-native-adjust: "npm:^5.1.0"
33543354
react-native-builder-bob: "npm:^0.23.1"
33553355
rimraf: "npm:^5.0.5"
33563356
typescript: "npm:^5.2.2"
33573357
peerDependencies:
33583358
"@segment/analytics-react-native": ^2.18.0
3359-
react-native-adjust: ^4.33.0
3359+
react-native-adjust: ^5.1.0
33603360
languageName: unknown
33613361
linkType: soft
33623362

@@ -13096,10 +13096,10 @@ __metadata:
1309613096
languageName: node
1309713097
linkType: hard
1309813098

13099-
"react-native-adjust@npm:^4.33.0":
13100-
version: 4.37.1
13101-
resolution: "react-native-adjust@npm:4.37.1"
13102-
checksum: 10c0/463ddb7284bebe7a88d969e0a2dc4a84e039216f016d764ad916078b0fac060ba4cf275ac84d7e32c0b020632c2d9755791603118ee9cee84cba8336e94ca18b
13099+
"react-native-adjust@npm:^5.1.0":
13100+
version: 5.1.0
13101+
resolution: "react-native-adjust@npm:5.1.0"
13102+
checksum: 10c0/0b1d322a7ea0268f6343a29636b9081a2ac8fbede72c74be439bfe1d12362f833305b4136b6de1d596a1f0649332daeec6f8ea61d9b9d7118dabc99e1e5693be
1310313103
languageName: node
1310413104
linkType: hard
1310513105

0 commit comments

Comments
 (0)