Skip to content

Commit 6683485

Browse files
Soliman13Soliman
and
Soliman
authored
Update Tealium initialisation to v2 TealiumConfig properties (#19)
* Update to v2 TealiumConfig properties * Update CHANGELOG.md * Update README Co-authored-by: Soliman <soliman.achahbar@arhs-spikeseed.com>
1 parent f489726 commit 6683485

File tree

7 files changed

+68
-35
lines changed

7 files changed

+68
-35
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
### Version 1.3.0
4+
5+
- BREAKING CHANGES
6+
- We are not anymore supporting Tealium versions lower than 2.0.2.
7+
38
### Version 1.2.3
49

510
- News

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ or
4848
|instabug-reactnative|:white_check_mark:| \>= 9.0.0
4949
|@adobe/react-native-acpanalytics|:white_check_mark:| \>= 1.1.6
5050
|@adobe/react-native-acpcore|:white_check_mark:| \>= 1.2.4
51-
|tealium-react-native|:white_check_mark:| \>= 1.0.10
51+
|tealium-react-native|:white_check_mark:| \>= 2.0.2
5252

5353
---
5454

index.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { IInit } from './src/model';
22
import { IInstabug } from './src/model/instabug';
33
import { ISentry } from './src/model/sentry';
4-
import {ITealium} from "./src/model/tealium";
4+
import { ITealiumConfig } from './src/model/tealium';
55

66
declare const DEBUG_LOG: number;
77
declare const WARNING_LOG: number;
@@ -12,7 +12,7 @@ declare const init: (initConfig: IInit) => void;
1212

1313
declare const setupReactotron: (config?: any, plugins?: Array<Function>) => any;
1414

15-
declare const createTealiumLogger: (Tealium: any, config: ITealium, printLogs?: boolean) => Function;
15+
declare const createTealiumLogger: (Tealium: any, config: ITealiumConfig, printLogs?: boolean) => Function;
1616
declare const createAdobeLogger: (ACPAnalytics: any, ACPCore: any, printLogs?: boolean) => Function;
1717
declare const createFirebaseLogger: (analytics: any, printLogs?: boolean) => Function;
1818
declare const createCrashlyticsLogger: (crashlytics: any, printLogs?: boolean) => Function;

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "react-native-logging-tools",
33
"title": "React Native library created to ease logging",
4-
"version": "1.2.3",
4+
"version": "1.3.0",
55
"main": "src/index.ts",
66
"typings": "index.d.ts",
77
"scripts": {
@@ -46,7 +46,7 @@
4646
"react-native-flipper": ">=0.50.0",
4747
"reactotron-react-native": ">=4.0.0",
4848
"reactotron-redux": ">=3.0.0",
49-
"tealium-react-native": ">=1.0.10"
49+
"tealium-react-native": ">=2.0.2"
5050
},
5151
"devDependencies": {
5252
"@babel/preset-typescript": "^7.8.3",

src/__tests__/index.spec.ts

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
import {
2-
init,
3-
createSentryLogger,
4-
createFirebaseLogger,
52
createAdobeLogger,
6-
createTealiumLogger,
7-
logEvent,
83
createCrashlyticsLogger,
9-
recordError,
10-
logWarningEvent,
11-
logDebugEvent,
12-
logNetworkEvent,
13-
logErrorEvent,
4+
createFirebaseLogger,
145
createInstabugLogger,
6+
createSentryLogger,
7+
createTealiumLogger,
158
DEBUG_LOG,
9+
init,
10+
logDebugEvent,
11+
logErrorEvent,
12+
logEvent,
13+
logNetworkEvent,
14+
logWarningEvent,
15+
recordError,
1616
} from '../index';
1717
import * as Init from '../modules/init';
18-
import { ITealium } from '../model/tealium';
19-
import { log } from '../modules/events';
18+
import {Collectors, Dispatchers, ITealiumConfig} from '../model/tealium';
19+
import {log} from '../modules/events';
2020

2121
describe('index test suite', () => {
2222
const useFlipperPlugin: boolean = true;
@@ -56,7 +56,14 @@ describe('index test suite', () => {
5656
initialize: jest.fn(),
5757
trackEvent: jest.fn(),
5858
};
59-
const configTealium: ITealium = { account: 'accountName', profile: 'profileName', environment: 'environment' };
59+
const configTealium: ITealiumConfig = {
60+
collectors: [Collectors.Connectivity, Collectors.DeviceData],
61+
dataSource: 'datasssource',
62+
dispatchers: [Dispatchers.RemoteCommands, Dispatchers.Collect],
63+
account: 'accountName',
64+
profile: 'profileName',
65+
environment: 'dev',
66+
};
6067

6168
const Reactotron = {
6269
configure: () => Reactotron,

src/model/tealium.ts

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,38 @@
1-
export interface ITealium {
1+
export interface ITealiumConfig {
22
account: string;
33
profile: string;
4-
environment: string;
5-
iosDatasource?: string;
6-
androidDatasource?: string;
7-
instance?: string;
8-
isLifecycleEnabled?: boolean;
4+
environment: 'dev' | 'qa' | 'prod';
5+
dataSource?: string;
6+
collectors: Collectors[];
7+
dispatchers: Dispatchers[];
8+
customVisitorId?: string;
9+
memoryReportingEnabled?: boolean;
10+
overrideCollectURL?: string;
11+
overrideCollectBatchURL?: string;
12+
overrideCollectDomain?: string;
13+
overrideLibrarySettingsURL?: string;
14+
overrideTagManagementURL?: string;
15+
deepLinkTrackingEnabled?: boolean;
16+
qrTraceEnabled?: boolean;
17+
loglevel?: 'dev' | 'qa' | 'prod' | 'silent';
18+
consentLoggingEnabled?: boolean;
19+
consentPolicy?: 'ccpa' | 'gdpr';
20+
consentExpiry?: { time: number, unit: 'minutes' | 'hours' | 'months' | 'days' };
21+
batchingEnabled?: boolean;
22+
lifecycleAutotrackingEnabled?: boolean;
23+
useRemoteLibrarySettings?: boolean;
24+
visitorServiceEnabled?: boolean;
25+
}
26+
27+
export enum Collectors {
28+
AppData = 'AppData',
29+
Connectivity = 'Connectivity',
30+
DeviceData = 'DeviceData',
31+
Lifecycle = 'Lifecycle',
32+
}
33+
34+
export enum Dispatchers {
35+
Collect = 'Collect',
36+
TagManagement = 'TagManagement',
37+
RemoteCommands = 'RemoteCommands',
938
}

src/modules/loggers/tealium.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,8 @@
1-
import { ITealium } from '../../model/tealium';
1+
import { ITealiumConfig } from '../../model/tealium';
22
import {excludeLogs, sendEventToFlipper} from '../init';
33

4-
export const createTealiumLogger = (Tealium: any, config: ITealium, printLogs: boolean = false) => {
5-
Tealium.initialize(
6-
config.account,
7-
config.profile,
8-
config.environment,
9-
config.iosDatasource,
10-
config.androidDatasource,
11-
config.instance,
12-
config.isLifecycleEnabled,
13-
);
4+
export const createTealiumLogger = (Tealium: any, config: ITealiumConfig, printLogs: boolean = false) => {
5+
Tealium.initialize(config);
146
sendEventToFlipper('tealium', 'Tealium connected successfully');
157
return (event: string, params: any, eventType: number) => {
168
if (eventType !== -1 && excludeLogs && excludeLogs.tealium && excludeLogs.tealium.includes(eventType)) {

0 commit comments

Comments
 (0)