@osano/osano-cmp-react-native 0.17.0 → 0.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.dev.md CHANGED
@@ -396,6 +396,136 @@ const {
396
396
  } = React.useContext(OsanoContext);
397
397
  ```
398
398
 
399
+ #### Internal Developer API Reference
400
+
401
+ The following methods are exposed through the `OsanoContext` for internal development and debugging:
402
+
403
+ ##### `getConsent(category?: ConsentCategory): boolean | ConsentCategory[]`
404
+
405
+ **Internal Implementation Details:**
406
+ - Delegates to `consentManager.current.hasConsent(category)` for specific category checks
407
+ - Returns `consentManager.current.consent ?? [ConsentCategory.ESSENTIAL]` for all categories
408
+ - Backed by the `getConsent` selector in `src/selectors.ts` which reads from `state.consent`
409
+ - State is managed through the reducer pattern with thunk middleware
410
+
411
+ ```js
412
+ // Development usage examples:
413
+ const analyticsConsent = getConsent('ANALYTICS'); // boolean check
414
+ const allCategories = getConsent(); // array of consented categories
415
+
416
+ // Available categories from src/constants.ts:
417
+ // ESSENTIAL, ANALYTICS, MARKETING, PERSONALIZATION, OPT_OUT, STORAGE
418
+ ```
419
+
420
+ ##### `clearConsent(): void`
421
+
422
+ **Internal Implementation Details:**
423
+ - Dispatches `CLEAR_CONSENT` action to reset state
424
+ - Triggers Google Consent Mode update with only `ConsentCategory.ESSENTIAL`
425
+ - Clears both local storage and remote consent records
426
+ - Implemented in `handleClearConsent` with `useCallback` optimization
427
+
428
+ ```js
429
+ // Development debugging:
430
+ clearConsent(); // Resets to clean slate for testing
431
+ ```
432
+
433
+ ##### `getDeviceId(): string`
434
+
435
+ **Internal Implementation Details:**
436
+ - Returns `consentManager.current.deviceId` property
437
+ - Device ID is fetched asynchronously via native module in `src/native/OsanoCmp.ts`
438
+ - Used for cross-device consent tracking and analytics correlation
439
+ - Persisted across app sessions for consistent identification
440
+
441
+ ```js
442
+ // Development debugging:
443
+ const deviceId = getDeviceId();
444
+ console.log(`[DevDebug] Device ID: ${deviceId}`);
445
+ ```
446
+
447
+ ##### `locale: string`
448
+
449
+ **Internal Implementation Details:**
450
+ - Read from `consentManager.current.translator.locale`
451
+ - Managed by the `Translator` class in `src/utils/Translator.ts`
452
+ - Default is `Translator.DEFAULT_LANGUAGE` ('en')
453
+ - Triggers UI re-renders when changed via dependency array
454
+
455
+ ```js
456
+ // Development debugging:
457
+ console.log(`[DevDebug] Current locale: ${locale}`);
458
+ ```
459
+
460
+ ##### `setLocale(locale: string): void`
461
+
462
+ **Internal Implementation Details:**
463
+ - Calls `consentManager.current.translator.load()` with success/failure callbacks
464
+ - Dispatches `setLocale(value)` action on successful load
465
+ - Uses exponential backoff retry logic for network failures
466
+ - Locale files fetched from `env.LOCALE_URI` endpoint
467
+
468
+ ```js
469
+ // Development testing:
470
+ setLocale('es'); // Test Spanish localization
471
+ setLocale('invalid'); // Test error handling
472
+ ```
473
+
474
+ ##### `showBanner(): void`
475
+
476
+ **Internal Implementation Details:**
477
+ - Uses `retryWithBackoff` helper with 3 retries and exponential delay (100ms base)
478
+ - Dispatches `showDialog()` thunk action
479
+ - Checks `consentManager.current.loaded` state before execution
480
+ - Geographic location determines UI variant and timeout behavior
481
+
482
+ ```js
483
+ // Development debugging:
484
+ try {
485
+ showBanner();
486
+ } catch (error) {
487
+ console.log('[DevDebug] Banner show failed:', error);
488
+ }
489
+ ```
490
+
491
+ ##### `showDrawer(): void`
492
+
493
+ **Internal Implementation Details:**
494
+ - Similar retry logic to `showBanner()` but dispatches `showDrawer()` thunk
495
+ - No automatic timeout - requires explicit user interaction
496
+ - Renders all consent categories with toggle controls
497
+ - State managed through drawer stack in `state.stack`
498
+
499
+ ```js
500
+ // Development testing:
501
+ showDrawer(); // Always requires user interaction to dismiss
502
+ ```
503
+
504
+ ##### `isReady: boolean`
505
+
506
+ **Internal Implementation Details:**
507
+ - Reflects `consentManager.current.loaded` property
508
+ - Set to `true` after successful config loading in `ConsentManager.load()`
509
+ - Dependency in `useMemo` for context value - triggers re-renders
510
+ - Critical for preventing race conditions in consent operations
511
+
512
+ ```js
513
+ // Development pattern:
514
+ useEffect(() => {
515
+ if (isReady) {
516
+ console.log('[DevDebug] SDK ready for operations');
517
+ // Safe to call other methods
518
+ }
519
+ }, [isReady]);
520
+ ```
521
+
522
+ **Development Notes:**
523
+ - All methods use `useCallback` for performance optimization
524
+ - State management follows Redux-like pattern with actions and reducers
525
+ - Native bridge communication handled through `react-native` `NativeModules`
526
+ - Error boundaries should wrap components using these methods
527
+ - Testing with both Legacy and New Architecture supported via test scripts
528
+
399
529
  ### UI Builder
400
530
 
401
531
  Now that you have created an instance of the `ConsentManager`, you can
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # Osano CMP SDK for React Native
2
2
 
3
- Visit the [Developer Docs](https://developers.osano.com/cmp/react-native/) to learn more about installation and usage.
3
+ Visit the [Developer Docs](https://developers.osano.com/cmp/mobile-sdks/react-native/) to learn more about installation and usage.
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.hasStaleConfig = exports.getStoredConfig = exports.getConfigLastStoredAt = exports.fetchConsent = exports.fetchConfig = exports.clearConsent = void 0;
7
7
  exports.hashExtUsrData = hashExtUsrData;
8
- exports.storeConfig = exports.recordConsent = void 0;
8
+ exports.storeConfig = exports.recordConsent = exports.migrateConsentStorage = void 0;
9
9
  var _jsSha = require("js-sha512");
10
10
  var _reactNative = require("react-native");
11
11
  var _textEncoding = require("text-encoding");
@@ -28,7 +28,6 @@ const overrideConfig = {
28
28
  variant: 'two'
29
29
  };
30
30
  function createConsentPayload(cmp, consent) {
31
- _OsanoLogger.osanoLogger.debug(`Consenting Platform: ${CONSENTING_PLATFORM_TAG}`);
32
31
  return Object.fromEntries(Object.entries({
33
32
  customerId: cmp.customerId,
34
33
  configId: cmp.configId,
@@ -60,11 +59,13 @@ const storeConsent = async (cmp, consent) => {
60
59
  resolve(cmp.consent ?? []);
61
60
  return cmp.consent;
62
61
  };
62
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
63
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
63
64
  switch (_reactNative.Platform.OS) {
64
65
  case 'ios':
65
66
  case 'android':
66
- (0, _OsanoCmp.setStorage)(`${STORAGE_KEY}_last_recorded_consent_date`, JSON.stringify(new Date())).then(() => {
67
- (0, _OsanoCmp.setStorage)(`${STORAGE_KEY}_${cmp.configId}`, JSON.stringify(cmp.consent)).then(resConsent).catch(reject);
67
+ (0, _OsanoCmp.setStorage)(`${STORAGE_KEY}_last_recorded_consent_date${userSuffix}`, JSON.stringify(new Date())).then(() => {
68
+ (0, _OsanoCmp.setStorage)(`${STORAGE_KEY}_${cmp.configId}${userSuffix}`, JSON.stringify(cmp.consent)).then(resConsent).catch(reject);
68
69
  }).catch(reject);
69
70
  break;
70
71
  }
@@ -77,10 +78,12 @@ const clearConsent = async cmp => {
77
78
  resolve([_constants.ConsentCategory.ESSENTIAL]);
78
79
  return cmp.consent;
79
80
  };
81
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
82
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
80
83
  switch (_reactNative.Platform.OS) {
81
84
  case 'android':
82
85
  case 'ios':
83
- (0, _OsanoCmp.clearStorage)(`${STORAGE_KEY}_${cmp.configId}`).then(resConsent);
86
+ (0, _OsanoCmp.clearStorage)(`${STORAGE_KEY}_${cmp.configId}${userSuffix}`).then(resConsent);
84
87
  break;
85
88
  default:
86
89
  resConsent();
@@ -89,6 +92,46 @@ const clearConsent = async cmp => {
89
92
  });
90
93
  };
91
94
  exports.clearConsent = clearConsent;
95
+ const migrateConsentStorage = async cmp => {
96
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
97
+
98
+ // Only migrate if we have extUsrData (user-specific storage needed)
99
+ if (!hashedExtUsrData) {
100
+ return null;
101
+ }
102
+ return new Promise(resolve => {
103
+ const oldKey = `${STORAGE_KEY}_${cmp.configId}`; // Legacy key without user suffix
104
+ const oldTimestampKey = `${STORAGE_KEY}_last_recorded_consent_date`; // Legacy timestamp key
105
+
106
+ switch (_reactNative.Platform.OS) {
107
+ case 'ios':
108
+ case 'android':
109
+ (0, _OsanoCmp.getStorage)(oldKey).then(oldConsent => {
110
+ if (oldConsent) {
111
+ const consent = JSON.parse(oldConsent);
112
+ if (consent.length > 0) {
113
+ // Store with new user-specific key
114
+ storeConsent(cmp, consent).then(() => {
115
+ // Clean up old storage
116
+ (0, _OsanoCmp.clearStorage)(oldKey);
117
+ (0, _OsanoCmp.clearStorage)(oldTimestampKey);
118
+ resolve(consent);
119
+ });
120
+ return;
121
+ }
122
+ }
123
+ resolve(null); // No old consent found
124
+ }).catch(() => {
125
+ resolve(null); // Old key not found
126
+ });
127
+ break;
128
+ default:
129
+ resolve(null);
130
+ break;
131
+ }
132
+ });
133
+ };
134
+ exports.migrateConsentStorage = migrateConsentStorage;
92
135
  const retrieveConsent = async cmp => {
93
136
  return new Promise(resolve => {
94
137
  const resConsent = consentJson => {
@@ -104,12 +147,21 @@ const retrieveConsent = async cmp => {
104
147
  }
105
148
  throw new Error('Consent not found');
106
149
  };
150
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
151
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
152
+ const newKey = `${STORAGE_KEY}_${cmp.configId}${userSuffix}`;
107
153
  switch (_reactNative.Platform.OS) {
108
154
  case 'ios':
109
155
  case 'android':
110
- (0, _OsanoCmp.getStorage)(`${STORAGE_KEY}_${cmp.configId}`).then(resConsent).catch(() => {
111
- // Consent not found
112
- clearConsent(cmp).then(resolve);
156
+ (0, _OsanoCmp.getStorage)(newKey).then(resConsent).catch(async () => {
157
+ // Try migration if new key not found
158
+ const migratedConsent = await migrateConsentStorage(cmp);
159
+ if (migratedConsent) {
160
+ resolve(migratedConsent);
161
+ } else {
162
+ // No consent found, clear consent
163
+ clearConsent(cmp).then(resolve);
164
+ }
113
165
  });
114
166
  break;
115
167
  default:
@@ -117,7 +169,7 @@ const retrieveConsent = async cmp => {
117
169
  }
118
170
  });
119
171
  };
120
- const retrieveLastConsentTimestamp = async () => {
172
+ const retrieveLastConsentTimestamp = async cmp => {
121
173
  return new Promise(resolve => {
122
174
  const resValue = consentJson => {
123
175
  if (consentJson) {
@@ -129,10 +181,12 @@ const retrieveLastConsentTimestamp = async () => {
129
181
  return '';
130
182
  }
131
183
  };
184
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
185
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
132
186
  switch (_reactNative.Platform.OS) {
133
187
  case 'ios':
134
188
  case 'android':
135
- (0, _OsanoCmp.getStorage)(`${STORAGE_KEY}_last_recorded_consent_date`).then(resValue);
189
+ (0, _OsanoCmp.getStorage)(`${STORAGE_KEY}_last_recorded_consent_date${userSuffix}`).then(resValue);
136
190
  break;
137
191
  default:
138
192
  // nothing
@@ -151,7 +205,7 @@ const recordConsent = (cmp, consent) => {
151
205
  };
152
206
  exports.recordConsent = recordConsent;
153
207
  function hashExtUsrData(customerId, configId, extUsrData) {
154
- if (extUsrData === '' || customerId === '' || configId === '') {
208
+ if (!extUsrData || extUsrData === '' || customerId === '' || configId === '') {
155
209
  return '';
156
210
  } else {
157
211
  try {
@@ -191,7 +245,16 @@ const fetchConsent = async cmp => {
191
245
  await storeConsent(cmp, consent);
192
246
  return consent;
193
247
  }
194
- const internalTimestamp = await retrieveLastConsentTimestamp();
248
+
249
+ // If extUsrData is not null and not empty, always use remote consent (cross-device consent enabled)
250
+ if (extUsrData && extUsrData.trim() !== '') {
251
+ const remoteConsentCategories = consented.map(category => _constants.ConsentCategory[category]);
252
+ await storeConsent(cmp, remoteConsentCategories);
253
+ return remoteConsentCategories;
254
+ }
255
+
256
+ // Otherwise, validate timestamps (cross-device consent not enabled)
257
+ const internalTimestamp = await retrieveLastConsentTimestamp(cmp);
195
258
  try {
196
259
  if (new Date(lastConsentTimestamp) > new Date(internalTimestamp) || internalTimestamp === '') {
197
260
  // Remote consent is newer or we haven't recorded any consent yet. Store remote consent.
@@ -1 +1 @@
1
- {"version":3,"names":["_jsSha","require","_reactNative","_textEncoding","_constants","_OsanoCmp","_utils","_API","_interopRequireDefault","_OsanoLogger","e","__esModule","default","Buffer","CONSENT_URI","LOOKUPS_URI","OSANO_ORIGIN","env","IS_OFFICIAL_SAMPLE","NativeModules","OsanoCmpSdk","CONSENTING_PLATFORM_TAG","Platform","OS","overrideConfig","variant","createConsentPayload","cmp","consent","osanoLogger","debug","Object","fromEntries","entries","customerId","configId","consented","consentingDomain","consentingPlatform","deviceId","extUsrData","filter","value","undefined","createConsentRecordPayload","consentedCategories","hashedExtUsrData","hashExtUsrData","osnoCustomerId","osnoConfigId","join","userConsentId","STORAGE_KEY","storeConsent","Promise","resolve","reject","resConsent","setStorage","JSON","stringify","Date","then","catch","clearConsent","ConsentCategory","ESSENTIAL","clearStorage","exports","retrieveConsent","consentJson","parse","length","Error","getStorage","retrieveLastConsentTimestamp","resValue","timestamp","recordConsent","payload","API","post","referrer","consentCategories","error","encoder","TextEncoder","data","encode","hash","sha512","arrayBuffer","base64","from","toString","hashUrlSafe","replace","fetchConsent","hashedUserData","config","remoteConsent","response","get","lastConsentTimestamp","internalTimestamp","remoteConsentCategories","map","category","ConsentCategoryType","fetchConfig","headers","json","merge","country","region","gdprApplies","getStoredConfig","storeConfig","all","getConfigLastStoredAt","lastStoredAt","hasStaleConfig","now","diff","getTime","diffInMinutes","Math","floor"],"sourceRoot":"../../../src","sources":["services/consent.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_jsSha","require","_reactNative","_textEncoding","_constants","_OsanoCmp","_utils","_API","_interopRequireDefault","_OsanoLogger","e","__esModule","default","Buffer","CONSENT_URI","LOOKUPS_URI","OSANO_ORIGIN","env","IS_OFFICIAL_SAMPLE","NativeModules","OsanoCmpSdk","CONSENTING_PLATFORM_TAG","Platform","OS","overrideConfig","variant","createConsentPayload","cmp","consent","Object","fromEntries","entries","customerId","configId","consented","consentingDomain","consentingPlatform","deviceId","extUsrData","filter","value","undefined","createConsentRecordPayload","consentedCategories","hashedExtUsrData","hashExtUsrData","osnoCustomerId","osnoConfigId","join","userConsentId","STORAGE_KEY","storeConsent","Promise","resolve","reject","resConsent","userSuffix","setStorage","JSON","stringify","Date","then","catch","clearConsent","ConsentCategory","ESSENTIAL","clearStorage","exports","migrateConsentStorage","oldKey","oldTimestampKey","getStorage","oldConsent","parse","length","retrieveConsent","consentJson","Error","newKey","migratedConsent","retrieveLastConsentTimestamp","resValue","timestamp","recordConsent","payload","API","post","referrer","consentCategories","error","encoder","TextEncoder","data","encode","hash","sha512","arrayBuffer","base64","from","toString","hashUrlSafe","replace","fetchConsent","hashedUserData","config","remoteConsent","response","get","lastConsentTimestamp","trim","remoteConsentCategories","map","category","ConsentCategoryType","internalTimestamp","osanoLogger","fetchConfig","headers","json","merge","country","region","gdprApplies","getStoredConfig","storeConfig","all","getConfigLastStoredAt","lastStoredAt","hasStaleConfig","now","diff","getTime","diffInMinutes","Math","floor"],"sourceRoot":"../../../src","sources":["services/consent.ts"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,6 @@ const overrideConfig = {
19
19
  variant: 'two'
20
20
  };
21
21
  function createConsentPayload(cmp, consent) {
22
- osanoLogger.debug(`Consenting Platform: ${CONSENTING_PLATFORM_TAG}`);
23
22
  return Object.fromEntries(Object.entries({
24
23
  customerId: cmp.customerId,
25
24
  configId: cmp.configId,
@@ -51,11 +50,13 @@ const storeConsent = async (cmp, consent) => {
51
50
  resolve(cmp.consent ?? []);
52
51
  return cmp.consent;
53
52
  };
53
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
54
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
54
55
  switch (Platform.OS) {
55
56
  case 'ios':
56
57
  case 'android':
57
- setStorage(`${STORAGE_KEY}_last_recorded_consent_date`, JSON.stringify(new Date())).then(() => {
58
- setStorage(`${STORAGE_KEY}_${cmp.configId}`, JSON.stringify(cmp.consent)).then(resConsent).catch(reject);
58
+ setStorage(`${STORAGE_KEY}_last_recorded_consent_date${userSuffix}`, JSON.stringify(new Date())).then(() => {
59
+ setStorage(`${STORAGE_KEY}_${cmp.configId}${userSuffix}`, JSON.stringify(cmp.consent)).then(resConsent).catch(reject);
59
60
  }).catch(reject);
60
61
  break;
61
62
  }
@@ -68,10 +69,12 @@ export const clearConsent = async cmp => {
68
69
  resolve([ConsentCategory.ESSENTIAL]);
69
70
  return cmp.consent;
70
71
  };
72
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
73
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
71
74
  switch (Platform.OS) {
72
75
  case 'android':
73
76
  case 'ios':
74
- clearStorage(`${STORAGE_KEY}_${cmp.configId}`).then(resConsent);
77
+ clearStorage(`${STORAGE_KEY}_${cmp.configId}${userSuffix}`).then(resConsent);
75
78
  break;
76
79
  default:
77
80
  resConsent();
@@ -79,6 +82,45 @@ export const clearConsent = async cmp => {
79
82
  }
80
83
  });
81
84
  };
85
+ export const migrateConsentStorage = async cmp => {
86
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
87
+
88
+ // Only migrate if we have extUsrData (user-specific storage needed)
89
+ if (!hashedExtUsrData) {
90
+ return null;
91
+ }
92
+ return new Promise(resolve => {
93
+ const oldKey = `${STORAGE_KEY}_${cmp.configId}`; // Legacy key without user suffix
94
+ const oldTimestampKey = `${STORAGE_KEY}_last_recorded_consent_date`; // Legacy timestamp key
95
+
96
+ switch (Platform.OS) {
97
+ case 'ios':
98
+ case 'android':
99
+ getStorage(oldKey).then(oldConsent => {
100
+ if (oldConsent) {
101
+ const consent = JSON.parse(oldConsent);
102
+ if (consent.length > 0) {
103
+ // Store with new user-specific key
104
+ storeConsent(cmp, consent).then(() => {
105
+ // Clean up old storage
106
+ clearStorage(oldKey);
107
+ clearStorage(oldTimestampKey);
108
+ resolve(consent);
109
+ });
110
+ return;
111
+ }
112
+ }
113
+ resolve(null); // No old consent found
114
+ }).catch(() => {
115
+ resolve(null); // Old key not found
116
+ });
117
+ break;
118
+ default:
119
+ resolve(null);
120
+ break;
121
+ }
122
+ });
123
+ };
82
124
  const retrieveConsent = async cmp => {
83
125
  return new Promise(resolve => {
84
126
  const resConsent = consentJson => {
@@ -94,12 +136,21 @@ const retrieveConsent = async cmp => {
94
136
  }
95
137
  throw new Error('Consent not found');
96
138
  };
139
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
140
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
141
+ const newKey = `${STORAGE_KEY}_${cmp.configId}${userSuffix}`;
97
142
  switch (Platform.OS) {
98
143
  case 'ios':
99
144
  case 'android':
100
- getStorage(`${STORAGE_KEY}_${cmp.configId}`).then(resConsent).catch(() => {
101
- // Consent not found
102
- clearConsent(cmp).then(resolve);
145
+ getStorage(newKey).then(resConsent).catch(async () => {
146
+ // Try migration if new key not found
147
+ const migratedConsent = await migrateConsentStorage(cmp);
148
+ if (migratedConsent) {
149
+ resolve(migratedConsent);
150
+ } else {
151
+ // No consent found, clear consent
152
+ clearConsent(cmp).then(resolve);
153
+ }
103
154
  });
104
155
  break;
105
156
  default:
@@ -107,7 +158,7 @@ const retrieveConsent = async cmp => {
107
158
  }
108
159
  });
109
160
  };
110
- const retrieveLastConsentTimestamp = async () => {
161
+ const retrieveLastConsentTimestamp = async cmp => {
111
162
  return new Promise(resolve => {
112
163
  const resValue = consentJson => {
113
164
  if (consentJson) {
@@ -119,10 +170,12 @@ const retrieveLastConsentTimestamp = async () => {
119
170
  return '';
120
171
  }
121
172
  };
173
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
174
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
122
175
  switch (Platform.OS) {
123
176
  case 'ios':
124
177
  case 'android':
125
- getStorage(`${STORAGE_KEY}_last_recorded_consent_date`).then(resValue);
178
+ getStorage(`${STORAGE_KEY}_last_recorded_consent_date${userSuffix}`).then(resValue);
126
179
  break;
127
180
  default:
128
181
  // nothing
@@ -140,7 +193,7 @@ export const recordConsent = (cmp, consent) => {
140
193
  });
141
194
  };
142
195
  export function hashExtUsrData(customerId, configId, extUsrData) {
143
- if (extUsrData === '' || customerId === '' || configId === '') {
196
+ if (!extUsrData || extUsrData === '' || customerId === '' || configId === '') {
144
197
  return '';
145
198
  } else {
146
199
  try {
@@ -180,7 +233,16 @@ export const fetchConsent = async cmp => {
180
233
  await storeConsent(cmp, consent);
181
234
  return consent;
182
235
  }
183
- const internalTimestamp = await retrieveLastConsentTimestamp();
236
+
237
+ // If extUsrData is not null and not empty, always use remote consent (cross-device consent enabled)
238
+ if (extUsrData && extUsrData.trim() !== '') {
239
+ const remoteConsentCategories = consented.map(category => ConsentCategoryType[category]);
240
+ await storeConsent(cmp, remoteConsentCategories);
241
+ return remoteConsentCategories;
242
+ }
243
+
244
+ // Otherwise, validate timestamps (cross-device consent not enabled)
245
+ const internalTimestamp = await retrieveLastConsentTimestamp(cmp);
184
246
  try {
185
247
  if (new Date(lastConsentTimestamp) > new Date(internalTimestamp) || internalTimestamp === '') {
186
248
  // Remote consent is newer or we haven't recorded any consent yet. Store remote consent.
@@ -1 +1 @@
1
- {"version":3,"names":["sha512","Platform","NativeModules","TextEncoder","ConsentCategory","ConsentCategoryType","env","clearStorage","getStorage","setStorage","merge","API","osanoLogger","Buffer","require","CONSENT_URI","LOOKUPS_URI","OSANO_ORIGIN","IS_OFFICIAL_SAMPLE","OsanoCmpSdk","CONSENTING_PLATFORM_TAG","OS","overrideConfig","variant","createConsentPayload","cmp","consent","debug","Object","fromEntries","entries","customerId","configId","consented","consentingDomain","consentingPlatform","deviceId","extUsrData","filter","value","undefined","createConsentRecordPayload","consentedCategories","hashedExtUsrData","hashExtUsrData","osnoCustomerId","osnoConfigId","join","userConsentId","STORAGE_KEY","storeConsent","Promise","resolve","reject","resConsent","JSON","stringify","Date","then","catch","clearConsent","ESSENTIAL","retrieveConsent","consentJson","parse","length","Error","retrieveLastConsentTimestamp","resValue","timestamp","recordConsent","payload","post","referrer","consentCategories","error","encoder","data","encode","hash","arrayBuffer","base64","from","toString","hashUrlSafe","replace","fetchConsent","hashedUserData","config","remoteConsent","response","get","lastConsentTimestamp","internalTimestamp","remoteConsentCategories","map","category","fetchConfig","headers","json","country","region","gdprApplies","getStoredConfig","storeConfig","all","getConfigLastStoredAt","lastStoredAt","hasStaleConfig","now","diff","getTime","diffInMinutes","Math","floor"],"sourceRoot":"../../../src","sources":["services/consent.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["sha512","Platform","NativeModules","TextEncoder","ConsentCategory","ConsentCategoryType","env","clearStorage","getStorage","setStorage","merge","API","osanoLogger","Buffer","require","CONSENT_URI","LOOKUPS_URI","OSANO_ORIGIN","IS_OFFICIAL_SAMPLE","OsanoCmpSdk","CONSENTING_PLATFORM_TAG","OS","overrideConfig","variant","createConsentPayload","cmp","consent","Object","fromEntries","entries","customerId","configId","consented","consentingDomain","consentingPlatform","deviceId","extUsrData","filter","value","undefined","createConsentRecordPayload","consentedCategories","hashedExtUsrData","hashExtUsrData","osnoCustomerId","osnoConfigId","join","userConsentId","STORAGE_KEY","storeConsent","Promise","resolve","reject","resConsent","userSuffix","JSON","stringify","Date","then","catch","clearConsent","ESSENTIAL","migrateConsentStorage","oldKey","oldTimestampKey","oldConsent","parse","length","retrieveConsent","consentJson","Error","newKey","migratedConsent","retrieveLastConsentTimestamp","resValue","timestamp","recordConsent","payload","post","referrer","consentCategories","error","encoder","data","encode","hash","arrayBuffer","base64","from","toString","hashUrlSafe","replace","fetchConsent","hashedUserData","config","remoteConsent","response","get","lastConsentTimestamp","trim","remoteConsentCategories","map","category","internalTimestamp","fetchConfig","headers","json","country","region","gdprApplies","getStoredConfig","storeConfig","all","getConfigLastStoredAt","lastStoredAt","hasStaleConfig","now","diff","getTime","diffInMinutes","Math","floor"],"sourceRoot":"../../../src","sources":["services/consent.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  export const __esModule: boolean;
2
2
  export function hashExtUsrData(customerId: any, configId: any, extUsrData: any): string;
3
3
  export function clearConsent(cmp: any): Promise<any>;
4
+ export function migrateConsentStorage(cmp: any): Promise<any>;
4
5
  export function recordConsent(cmp: any, consent: any): any;
5
6
  export function fetchConsent(cmp: any): Promise<any>;
6
7
  export function fetchConfig(customerId: any, configId: any): any;
@@ -1 +1 @@
1
- {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../commonjs/services/consent.js"],"names":[],"mappings":";AAwJA,wFAgBC;AAhGD,qDAiBC;AAqDD,2DAQC;AAmBD,qDA0CC;AAED,iEAiBC;AAED,6DAUC;AAED,uEAMC;AAED,2EAUC;AAUD,gEASC"}
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../commonjs/services/consent.js"],"names":[],"mappings":";AA8MA,wFAgBC;AArJD,qDAmBC;AAED,8DAsCC;AAgED,2DAQC;AAmBD,qDAmDC;AAED,iEAiBC;AAED,6DAUC;AAED,uEAMC;AAED,2EAUC;AAUD,gEASC"}
@@ -1,5 +1,6 @@
1
1
  export function hashExtUsrData(customerId: any, configId: any, extUsrData: any): string;
2
2
  export function clearConsent(cmp: any): Promise<any>;
3
+ export function migrateConsentStorage(cmp: any): Promise<any>;
3
4
  export function recordConsent(cmp: any, consent: any): Promise<any>;
4
5
  export function fetchConsent(cmp: any): Promise<any>;
5
6
  export function fetchConfig(customerId: any, configId: any): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../module/services/consent.js"],"names":[],"mappings":"AA6IA,wFAgBC;AA9FM,qDAiBN;AAoDM,oEAQN;AAkBM,qDA0CN;AACM,0EAiBN;AACM,6DAUN;AACM,uEAMN;AACM,2EAUN;AASM,yCAHI,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAW5B"}
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../module/services/consent.js"],"names":[],"mappings":"AAkMA,wFAgBC;AAlJM,qDAmBN;AACM,8DAsCN;AA+DM,oEAQN;AAkBM,qDAmDN;AACM,0EAiBN;AACM,6DAUN;AACM,uEAMN;AACM,2EAUN;AASM,yCAHI,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAW5B"}
@@ -25,8 +25,9 @@ export type ConsentLookupResponseType = {
25
25
  userConsentId: string;
26
26
  };
27
27
  export declare const clearConsent: (cmp: ConsentManager) => Promise<ConsentCategory[]>;
28
+ export declare const migrateConsentStorage: (cmp: ConsentManager) => Promise<ConsentCategoryType[] | null>;
28
29
  export declare const recordConsent: (cmp: ConsentManager, consent?: ConsentCategoryType[]) => Promise<ConsentCategory[]>;
29
- export declare function hashExtUsrData(customerId: string, configId: string, extUsrData: string): string;
30
+ export declare function hashExtUsrData(customerId: string, configId: string, extUsrData: string | undefined): string;
30
31
  export declare const fetchConsent: (cmp: ConsentManager) => Promise<ConsentCategory[]>;
31
32
  export declare const fetchConfig: (customerId: string, configId: string) => Promise<Config>;
32
33
  export declare const getStoredConfig: (configId: string) => Promise<Config | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../src/services/consent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACN,eAAe,EACf,eAAe,IAAI,mBAAmB,EAEtC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAkBtD,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC;AA4EF,eAAO,MAAM,YAAY,GAAU,KAAK,cAAc,+BAiBrD,CAAC;AAyDF,eAAO,MAAM,aAAa,GACzB,KAAK,cAAc,EACnB,UAAU,mBAAmB,EAAE,+BAY/B,CAAC;AAEF,wBAAgB,cAAc,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAChB,MAAM,CAgBR;AAED,eAAO,MAAM,YAAY,GAAU,KAAK,cAAc,+BAoDrD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,oBAsB/D,CAAC;AAEF,eAAO,MAAM,eAAe,GAC3B,UAAU,MAAM,KACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAUvB,CAAC;AAEF,eAAO,MAAM,WAAW,GACvB,UAAU,MAAM,EAChB,QAAQ,MAAM,KACZ,OAAO,CAAC,IAAI,CAYd,CAAC;AAEF,eAAO,MAAM,qBAAqB,GACjC,UAAU,MAAM,KACd,OAAO,CAAC,IAAI,GAAG,IAAI,CAYrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAStE,CAAC"}
1
+ {"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../src/services/consent.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACN,eAAe,EACf,eAAe,IAAI,mBAAmB,EAEtC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAkBtD,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACtB,CAAC;AA6EF,eAAO,MAAM,YAAY,GAAU,KAAK,cAAc,+BAmBrD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAU,KAAK,cAAc,KAAG,OAAO,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAyCrG,CAAC;AAsEF,eAAO,MAAM,aAAa,GACzB,KAAK,cAAc,EACnB,UAAU,mBAAmB,EAAE,+BAY/B,CAAC;AAEF,wBAAgB,cAAc,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,CAgBR;AAED,eAAO,MAAM,YAAY,GAAU,KAAK,cAAc,+BA+DrD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,YAAY,MAAM,EAAE,UAAU,MAAM,oBAsB/D,CAAC;AAEF,eAAO,MAAM,eAAe,GAC3B,UAAU,MAAM,KACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAUvB,CAAC;AAEF,eAAO,MAAM,WAAW,GACvB,UAAU,MAAM,EAChB,QAAQ,MAAM,KACZ,OAAO,CAAC,IAAI,CAYd,CAAC;AAEF,eAAO,MAAM,qBAAqB,GACjC,UAAU,MAAM,KACd,OAAO,CAAC,IAAI,GAAG,IAAI,CAYrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAStE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osano/osano-cmp-react-native",
3
- "version": "0.17.0",
3
+ "version": "0.17.2",
4
4
  "description": "Package and example for the react-native Osano CMP SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -41,7 +41,7 @@
41
41
  "update:locale": "node ./scripts/updateLocalization.js",
42
42
  "prepare": "bob build",
43
43
  "release": "release-it",
44
- "release:prod": "release-it minor --no-git --ci -VV",
44
+ "release:prod": "release-it --no-increment --no-git --ci -VV",
45
45
  "doc:start": "docusaurus start ./documentation",
46
46
  "doc:build": "docusaurus build ./documentation",
47
47
  "doc:clear": "docusaurus clear ./documentation",
@@ -54,14 +54,14 @@
54
54
  ],
55
55
  "repository": {
56
56
  "type": "git",
57
- "url": "git+https://github.com/osano/osano-consentmgr-react-native.git"
57
+ "url": ""
58
58
  },
59
59
  "author": "Osano (A Public Benefit Company) <engineering@osano.com> (https://www.osano.com)",
60
60
  "license": "UNLICENSED",
61
61
  "bugs": {
62
62
  "url": "https://github.com/osano/osano-consentmgr-react-native/issues"
63
63
  },
64
- "homepage": "https://github.com/osano/osano-consentmgr-react-native#readme",
64
+ "homepage": "https://developers.osano.com/cmp/mobile-sdks/",
65
65
  "publishConfig": {
66
66
  "registry": "https://registry.npmjs.org/",
67
67
  "access": "public"
@@ -135,11 +135,21 @@
135
135
  ]
136
136
  },
137
137
  "release-it": {
138
+ "git": {
139
+ "requireBranch": false,
140
+ "commit": false,
141
+ "tag": false,
142
+ "push": false
143
+ },
138
144
  "npm": {
139
- "publish": true
145
+ "publish": true,
146
+ "versionArgs": "--no-git-tag-version"
140
147
  },
141
148
  "github": {
142
149
  "release": false
150
+ },
151
+ "hooks": {
152
+ "before:init": "echo 'Using version from package.json: ${version}'"
143
153
  }
144
154
  },
145
155
  "react-native-builder-bob": {
@@ -56,7 +56,6 @@ function createConsentPayload(
56
56
  cmp: ConsentManager,
57
57
  consent?: ConsentCategoryType[],
58
58
  ): ConsentPayload {
59
- osanoLogger.debug(`Consenting Platform: ${CONSENTING_PLATFORM_TAG}`);
60
59
  return Object.fromEntries(
61
60
  Object.entries({
62
61
  customerId: cmp.customerId,
@@ -105,16 +104,18 @@ const storeConsent = async (
105
104
  resolve(cmp.consent ?? []);
106
105
  return cmp.consent;
107
106
  };
107
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
108
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
108
109
  switch (Platform.OS) {
109
110
  case 'ios':
110
111
  case 'android':
111
112
  setStorage(
112
- `${STORAGE_KEY}_last_recorded_consent_date`,
113
+ `${STORAGE_KEY}_last_recorded_consent_date${userSuffix}`,
113
114
  JSON.stringify(new Date()),
114
115
  )
115
116
  .then(() => {
116
117
  setStorage(
117
- `${STORAGE_KEY}_${cmp.configId}`,
118
+ `${STORAGE_KEY}_${cmp.configId}${userSuffix}`,
118
119
  JSON.stringify(cmp.consent),
119
120
  )
120
121
  .then(resConsent)
@@ -133,10 +134,12 @@ export const clearConsent = async (cmp: ConsentManager) => {
133
134
  resolve([ConsentCategory.ESSENTIAL]);
134
135
  return cmp.consent;
135
136
  };
137
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
138
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
136
139
  switch (Platform.OS) {
137
140
  case 'android':
138
141
  case 'ios':
139
- clearStorage(`${STORAGE_KEY}_${cmp.configId}`).then(resConsent);
142
+ clearStorage(`${STORAGE_KEY}_${cmp.configId}${userSuffix}`).then(resConsent);
140
143
  break;
141
144
  default:
142
145
  resConsent();
@@ -145,6 +148,49 @@ export const clearConsent = async (cmp: ConsentManager) => {
145
148
  });
146
149
  };
147
150
 
151
+ export const migrateConsentStorage = async (cmp: ConsentManager): Promise<ConsentCategoryType[] | null> => {
152
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
153
+
154
+ // Only migrate if we have extUsrData (user-specific storage needed)
155
+ if (!hashedExtUsrData) {
156
+ return null;
157
+ }
158
+
159
+ return new Promise<ConsentCategoryType[] | null>((resolve) => {
160
+ const oldKey = `${STORAGE_KEY}_${cmp.configId}`; // Legacy key without user suffix
161
+ const oldTimestampKey = `${STORAGE_KEY}_last_recorded_consent_date`; // Legacy timestamp key
162
+
163
+ switch (Platform.OS) {
164
+ case 'ios':
165
+ case 'android':
166
+ getStorage(oldKey)
167
+ .then((oldConsent) => {
168
+ if (oldConsent) {
169
+ const consent = JSON.parse(oldConsent) as ConsentCategoryType[];
170
+ if (consent.length > 0) {
171
+ // Store with new user-specific key
172
+ storeConsent(cmp, consent).then(() => {
173
+ // Clean up old storage
174
+ clearStorage(oldKey);
175
+ clearStorage(oldTimestampKey);
176
+ resolve(consent);
177
+ });
178
+ return;
179
+ }
180
+ }
181
+ resolve(null); // No old consent found
182
+ })
183
+ .catch(() => {
184
+ resolve(null); // Old key not found
185
+ });
186
+ break;
187
+ default:
188
+ resolve(null);
189
+ break;
190
+ }
191
+ });
192
+ };
193
+
148
194
  const retrieveConsent = async (cmp: ConsentManager) => {
149
195
  return new Promise<ConsentCategoryType[]>((resolve) => {
150
196
  const resConsent = (consentJson: string | null | undefined) => {
@@ -160,14 +206,25 @@ const retrieveConsent = async (cmp: ConsentManager) => {
160
206
  }
161
207
  throw new Error('Consent not found');
162
208
  };
209
+
210
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
211
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
212
+ const newKey = `${STORAGE_KEY}_${cmp.configId}${userSuffix}`;
213
+
163
214
  switch (Platform.OS) {
164
215
  case 'ios':
165
216
  case 'android':
166
- getStorage(`${STORAGE_KEY}_${cmp.configId}`)
217
+ getStorage(newKey)
167
218
  .then(resConsent)
168
- .catch(() => {
169
- // Consent not found
170
- clearConsent(cmp).then(resolve);
219
+ .catch(async () => {
220
+ // Try migration if new key not found
221
+ const migratedConsent = await migrateConsentStorage(cmp);
222
+ if (migratedConsent) {
223
+ resolve(migratedConsent);
224
+ } else {
225
+ // No consent found, clear consent
226
+ clearConsent(cmp).then(resolve);
227
+ }
171
228
  });
172
229
  break;
173
230
  default:
@@ -176,7 +233,7 @@ const retrieveConsent = async (cmp: ConsentManager) => {
176
233
  });
177
234
  };
178
235
 
179
- const retrieveLastConsentTimestamp = async () => {
236
+ const retrieveLastConsentTimestamp = async (cmp: ConsentManager) => {
180
237
  return new Promise<string>((resolve) => {
181
238
  const resValue = (consentJson: string | null | undefined) => {
182
239
  if (consentJson) {
@@ -188,10 +245,12 @@ const retrieveLastConsentTimestamp = async () => {
188
245
  return '';
189
246
  }
190
247
  };
248
+ const hashedExtUsrData = hashExtUsrData(cmp.customerId, cmp.configId, cmp.extUsrData);
249
+ const userSuffix = hashedExtUsrData ? `_${hashedExtUsrData}` : '';
191
250
  switch (Platform.OS) {
192
251
  case 'ios':
193
252
  case 'android':
194
- getStorage(`${STORAGE_KEY}_last_recorded_consent_date`).then(resValue);
253
+ getStorage(`${STORAGE_KEY}_last_recorded_consent_date${userSuffix}`).then(resValue);
195
254
  break;
196
255
  default:
197
256
  // nothing
@@ -219,9 +278,9 @@ export const recordConsent = (
219
278
  export function hashExtUsrData(
220
279
  customerId: string,
221
280
  configId: string,
222
- extUsrData: string,
281
+ extUsrData: string | undefined,
223
282
  ): string {
224
- if (extUsrData === '' || customerId === '' || configId === '') {
283
+ if (!extUsrData || extUsrData === '' || customerId === '' || configId === '') {
225
284
  return '';
226
285
  } else {
227
286
  try {
@@ -264,7 +323,18 @@ export const fetchConsent = async (cmp: ConsentManager) => {
264
323
  return consent;
265
324
  }
266
325
 
267
- const internalTimestamp = await retrieveLastConsentTimestamp();
326
+ // If extUsrData is not null and not empty, always use remote consent (cross-device consent enabled)
327
+ if (extUsrData && extUsrData.trim() !== '') {
328
+ const remoteConsentCategories = consented.map(
329
+ (category) =>
330
+ ConsentCategoryType[category as keyof typeof ConsentCategoryType],
331
+ );
332
+ await storeConsent(cmp, remoteConsentCategories);
333
+ return remoteConsentCategories;
334
+ }
335
+
336
+ // Otherwise, validate timestamps (cross-device consent not enabled)
337
+ const internalTimestamp = await retrieveLastConsentTimestamp(cmp);
268
338
  try {
269
339
  if (
270
340
  new Date(lastConsentTimestamp) > new Date(internalTimestamp) ||