Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions packages/core/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -288,11 +288,8 @@ type SegmentAmplitudeIntegration = {
export type SegmentAdjustSettings = {
appToken: string;
setEnvironmentProduction?: boolean;
setEventBufferingEnabled?: boolean;
trackAttributionData?: boolean;
setDelay?: boolean;
customEvents?: { [key: string]: string };
delayTime?: number;
};

export type SegmentBrazeSettings = {
Expand Down
6 changes: 3 additions & 3 deletions packages/plugins/plugin-adjust/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@segment/analytics-react-native-plugin-adjust",
"version": "0.7.0",
"version": "0.8.0",
"description": "The hassle-free way to add Segment analytics to your React-Native app.",
"main": "lib/commonjs/index",
"scripts": {
Expand Down Expand Up @@ -45,14 +45,14 @@
"homepage": "https://github.com/segmentio/analytics-react-native/tree/master/packages/plugins/plugin-adjust#readme",
"peerDependencies": {
"@segment/analytics-react-native": "^2.18.0",
"react-native-adjust": "^4.33.0"
"react-native-adjust": "^5.1.0"
},
"devDependencies": {
"@segment/analytics-react-native": "^2.18.0",
"@segment/analytics-rn-shared": "workspace:^",
"@segment/sovran-react-native": "^1.1.0",
"jest": "^29.7.0",
"react-native-adjust": "^4.33.0",
"react-native-adjust": "^5.1.0",
"react-native-builder-bob": "^0.23.1",
"rimraf": "^5.0.5",
"typescript": "^5.2.2"
Expand Down
33 changes: 19 additions & 14 deletions packages/plugins/plugin-adjust/src/AdjustPlugin.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ export class AdjustPlugin extends DestinationPlugin {
const adjustConfig = new AdjustConfig(this.settings.appToken, environment);

if (this.hasRegisteredCallback === false) {
adjustConfig.setAttributionCallbackListener((attribution) => {
adjustConfig.setAttributionCallback((attribution) => {
const trackPayload = {
provider: 'Adjust',
trackerToken: attribution.trackerToken,
Expand All @@ -55,28 +55,33 @@ export class AdjustPlugin extends DestinationPlugin {
});
this.hasRegisteredCallback = true;
}
//Removed from react-native-adjust v5 (https://dev.adjust.com/en/sdk/migration/react-native/v4-to-v5)
//TO DO : Remove commented lines in next release
// const bufferingEnabled = this.settings.setEventBufferingEnabled;
// if (bufferingEnabled === true) {
// adjustConfig.setEventBufferingEnabled(bufferingEnabled);
// }

const bufferingEnabled = this.settings.setEventBufferingEnabled;
if (bufferingEnabled === true) {
adjustConfig.setEventBufferingEnabled(bufferingEnabled);
}

const useDelay = this.settings.setDelay;
if (useDelay === true) {
const delayTime = this.settings.delayTime;
if (delayTime !== null && delayTime !== undefined) {
adjustConfig.setDelayStart(delayTime);
}
}
// const useDelay = this.settings.setDelay;
// if (useDelay === true) {
// const delayTime = this.settings.delayTime;
// if (delayTime !== null && delayTime !== undefined) {
// adjustConfig.setDelayStart(delayTime);
// }
// }

Adjust.create(adjustConfig);
//create has been replaced with initSDK in v5
//TO DO : Remove commented lines in next release
//Adjust.create(adjustConfig);
Adjust.initSdk(adjustConfig);
}
identify(event: IdentifyEventType) {
identify(event);
return event;
}

track(event: TrackEventType) {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
track(event, this.settings!);
return event;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
export const resetSessionPartnerParameters = jest.fn();
export const addSessionPartnerParameter = jest.fn();
export const removeGlobalPartnerParameters = jest.fn();
export const addGlobalPartnerParameter = jest.fn();
export const trackEvent = jest.fn();

export const Adjust = {
resetSessionPartnerParameters,
addSessionPartnerParameter,
removeGlobalPartnerParameters,
addGlobalPartnerParameter,
trackEvent,
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import identify from '../identify';
import type { IdentifyEventType } from '@segment/analytics-react-native';
import { addSessionPartnerParameter } from '../__mocks__/react-native-adjust';
import { addGlobalPartnerParameter } from '../__mocks__/react-native-adjust';

describe('#identify', () => {
beforeEach(() => {
Expand All @@ -15,7 +15,7 @@ describe('#identify', () => {

identify(payload as IdentifyEventType);

expect(addSessionPartnerParameter).toHaveBeenCalledWith('user_id', 'user');
expect(addGlobalPartnerParameter).toHaveBeenCalledWith('user_id', 'user');
});

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

identify(payload as IdentifyEventType);

expect(addSessionPartnerParameter).toHaveBeenCalledWith(
expect(addGlobalPartnerParameter).toHaveBeenCalledWith(
'anonymous_id',
'anon'
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import reset from '../reset';
import { resetSessionPartnerParameters } from '../__mocks__/react-native-adjust';
import { removeGlobalPartnerParameters } from '../__mocks__/react-native-adjust';

describe('#reset', () => {
beforeEach(() => {
Expand All @@ -9,7 +9,7 @@ describe('#reset', () => {
it('calls resetSessionPartnerParameters', () => {
reset();

expect(resetSessionPartnerParameters).toHaveBeenCalledTimes(1);
expect(resetSessionPartnerParameters).toHaveBeenCalledWith();
expect(removeGlobalPartnerParameters).toHaveBeenCalledTimes(1);
expect(removeGlobalPartnerParameters).toHaveBeenCalledWith();
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ describe('#track', () => {

track(event as TrackEventType, settings);

expect(Adjust.addSessionPartnerParameter).toHaveBeenCalledWith(
expect(Adjust.addGlobalPartnerParameter).toHaveBeenCalledWith(
'anonymous_id',
'anon'
);
Expand All @@ -54,7 +54,7 @@ describe('#track', () => {

track(event as TrackEventType, settings);

expect(Adjust.addSessionPartnerParameter).toHaveBeenCalledWith(
expect(Adjust.addGlobalPartnerParameter).toHaveBeenCalledWith(
'anonymous_id',
'anon'
);
Expand Down Expand Up @@ -85,7 +85,7 @@ describe('#track', () => {

track(event as TrackEventType, settings);

expect(Adjust.addSessionPartnerParameter).toHaveBeenCalledWith(
expect(Adjust.addGlobalPartnerParameter).toHaveBeenCalledWith(
'anonymous_id',
'anon'
);
Expand Down Expand Up @@ -114,7 +114,7 @@ describe('#track', () => {

track(event as TrackEventType, settings);

expect(Adjust.addSessionPartnerParameter).toHaveBeenCalledWith(
expect(Adjust.addGlobalPartnerParameter).toHaveBeenCalledWith(
'anonymous_id',
'anon'
);
Expand Down
4 changes: 2 additions & 2 deletions packages/plugins/plugin-adjust/src/methods/identify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ import type { IdentifyEventType } from '@segment/analytics-react-native';
export default (event: IdentifyEventType) => {
const userId = event.userId;
if (userId !== undefined && userId !== null && userId.length > 0) {
Adjust.addSessionPartnerParameter('user_id', userId);
Adjust.addGlobalPartnerParameter('user_id', userId);
}

const anonId = event.anonymousId;
if (anonId !== undefined && anonId !== null && anonId.length > 0) {
Adjust.addSessionPartnerParameter('anonymous_id', anonId);
Adjust.addGlobalPartnerParameter('anonymous_id', anonId);
}
};
6 changes: 5 additions & 1 deletion packages/plugins/plugin-adjust/src/methods/reset.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { Adjust } from 'react-native-adjust';

export default () => {
Adjust.resetSessionPartnerParameters();
//resetSessionPartnerParameters is replaced with removeGlobalPartnerParameters in v5
//TO DO : Remove commented lines in next release
// Adjust.resetSessionPartnerParameters();
Adjust.removeGlobalPartnerParameters();

};
5 changes: 4 additions & 1 deletion packages/plugins/plugin-adjust/src/methods/track.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ import { extract, mappedCustomEventToken } from '../util';
export default (event: TrackEventType, settings: SegmentAdjustSettings) => {
const anonId = event.anonymousId;
if (anonId !== undefined && anonId !== null && anonId.length > 0) {
Adjust.addSessionPartnerParameter('anonymous_id', anonId);
//addSessionPartnerParameter has been replaced with addGlobalPartnerParameter in v5
//TO DO : Remove commented lines in next release
//Adjust.addSessionPartnerParameter('anonymous_id', anonId);
Adjust.addGlobalPartnerParameter('anonymous_id', anonId);
}

const token = mappedCustomEventToken(event.event, settings);
Expand Down
12 changes: 6 additions & 6 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3350,13 +3350,13 @@ __metadata:
"@segment/analytics-rn-shared": "workspace:^"
"@segment/sovran-react-native": "npm:^1.1.0"
jest: "npm:^29.7.0"
react-native-adjust: "npm:^4.33.0"
react-native-adjust: "npm:^5.1.0"
react-native-builder-bob: "npm:^0.23.1"
rimraf: "npm:^5.0.5"
typescript: "npm:^5.2.2"
peerDependencies:
"@segment/analytics-react-native": ^2.18.0
react-native-adjust: ^4.33.0
react-native-adjust: ^5.1.0
languageName: unknown
linkType: soft

Expand Down Expand Up @@ -13096,10 +13096,10 @@ __metadata:
languageName: node
linkType: hard

"react-native-adjust@npm:^4.33.0":
version: 4.37.1
resolution: "react-native-adjust@npm:4.37.1"
checksum: 10c0/463ddb7284bebe7a88d969e0a2dc4a84e039216f016d764ad916078b0fac060ba4cf275ac84d7e32c0b020632c2d9755791603118ee9cee84cba8336e94ca18b
"react-native-adjust@npm:^5.1.0":
version: 5.1.0
resolution: "react-native-adjust@npm:5.1.0"
checksum: 10c0/0b1d322a7ea0268f6343a29636b9081a2ac8fbede72c74be439bfe1d12362f833305b4136b6de1d596a1f0649332daeec6f8ea61d9b9d7118dabc99e1e5693be
languageName: node
linkType: hard

Expand Down
Loading