@usercentrics/react-native-sdk 2.25.1 → 2.26.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.
Files changed (56) hide show
  1. package/README.md +7 -7
  2. package/android/build-legacy.gradle +1 -1
  3. package/android/build.gradle.kts +1 -1
  4. package/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModule.kt +102 -2
  5. package/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsModuleSpec.kt +19 -1
  6. package/android/src/main/java/com/usercentrics/reactnative/extensions/BannerSettingsExtensions.kt +2 -1
  7. package/android/src/main/java/com/usercentrics/reactnative/extensions/GppDataExtensions.kt +83 -0
  8. package/android/src/main/java/com/usercentrics/reactnative/extensions/UserDecisionExtensions.kt +2 -1
  9. package/android/src/main/java/com/usercentrics/reactnative/extensions/UsercentricsCMPDataExtensions.kt +46 -2
  10. package/android/src/test/java/com/usercentrics/reactnative/extensions/NullabilityTest.kt +189 -0
  11. package/ios/Extensions/GppData+Dict.swift +45 -0
  12. package/ios/Extensions/GppSectionChangePayload+Dict.swift +10 -0
  13. package/ios/Extensions/UIImage+UsercentricsLogoDict.swift +31 -6
  14. package/ios/Extensions/UsercentricsCMPData+Dict.swift +8 -2
  15. package/ios/Manager/UsercentricsManager.swift +28 -3
  16. package/ios/RNUsercentricsModule.mm +11 -7
  17. package/ios/RNUsercentricsModule.swift +56 -15
  18. package/ios/RNUsercentricsModule.xcodeproj/project.pbxproj +2 -2
  19. package/ios/RNUsercentricsModuleSpec.h +13 -0
  20. package/lib/NativeUsercentrics.d.ts +8 -2
  21. package/lib/NativeUsercentrics.js.map +1 -1
  22. package/lib/Usercentrics.d.ts +8 -2
  23. package/lib/Usercentrics.js +23 -3
  24. package/lib/Usercentrics.js.map +1 -1
  25. package/lib/fabric/NativeUsercentricsModule.d.ts +7 -1
  26. package/lib/fabric/NativeUsercentricsModule.js.map +1 -1
  27. package/lib/models/CCPASettings.d.ts +3 -1
  28. package/lib/models/CCPASettings.js +3 -1
  29. package/lib/models/CCPASettings.js.map +1 -1
  30. package/lib/models/GppData.d.ts +6 -0
  31. package/lib/models/GppData.js +8 -0
  32. package/lib/models/GppData.js.map +1 -0
  33. package/lib/models/GppSectionChangePayload.d.ts +4 -0
  34. package/lib/models/GppSectionChangePayload.js +6 -0
  35. package/lib/models/GppSectionChangePayload.js.map +1 -0
  36. package/lib/models/TCF2Settings.d.ts +2 -2
  37. package/lib/models/TCF2Settings.js +2 -2
  38. package/lib/models/TCF2Settings.js.map +1 -1
  39. package/lib/models/UsercentricsSettings.d.ts +3 -1
  40. package/lib/models/UsercentricsSettings.js +3 -1
  41. package/lib/models/UsercentricsSettings.js.map +1 -1
  42. package/lib/models/index.d.ts +2 -0
  43. package/lib/models/index.js +2 -0
  44. package/lib/models/index.js.map +1 -1
  45. package/package.json +14 -8
  46. package/src/NativeUsercentrics.ts +10 -1
  47. package/src/Usercentrics.tsx +31 -3
  48. package/src/__tests__/index.test.ts +66 -1
  49. package/src/__tests__/mocks.ts +17 -1
  50. package/src/fabric/NativeUsercentricsModule.ts +8 -1
  51. package/src/models/CCPASettings.tsx +7 -1
  52. package/src/models/GppData.tsx +15 -0
  53. package/src/models/GppSectionChangePayload.tsx +7 -0
  54. package/src/models/TCF2Settings.tsx +3 -3
  55. package/src/models/UsercentricsSettings.tsx +6 -0
  56. package/src/models/index.tsx +2 -0
@@ -1,5 +1,5 @@
1
1
  export class CCPASettings {
2
- constructor(optOutNoticeLabel, btnSave, firstLayerTitle, isActive, showOnPageLoad, reshowAfterDays, iabAgreementExists, appFirstLayerDescription, firstLayerMobileDescriptionIsActive, firstLayerMobileDescription, secondLayerTitle, secondLayerDescription, secondLayerHideLanguageSwitch, btnMoreInfo) {
2
+ constructor(optOutNoticeLabel, btnSave, firstLayerTitle, isActive, showOnPageLoad, reshowAfterDays, iabAgreementExists, appFirstLayerDescription, firstLayerMobileDescriptionIsActive, firstLayerMobileDescription, secondLayerTitle, secondLayerDescription, secondLayerHideLanguageSwitch, btnMoreInfo, mspaCoveredTransaction, mspaMode) {
3
3
  this.optOutNoticeLabel = optOutNoticeLabel;
4
4
  this.btnSave = btnSave;
5
5
  this.firstLayerTitle = firstLayerTitle;
@@ -14,6 +14,8 @@ export class CCPASettings {
14
14
  this.secondLayerDescription = secondLayerDescription;
15
15
  this.secondLayerHideLanguageSwitch = secondLayerHideLanguageSwitch;
16
16
  this.btnMoreInfo = btnMoreInfo;
17
+ this.mspaCoveredTransaction = mspaCoveredTransaction;
18
+ this.mspaMode = mspaMode;
17
19
  }
18
20
  }
19
21
  //# sourceMappingURL=CCPASettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CCPASettings.js","sourceRoot":"","sources":["../../src/models/CCPASettings.tsx"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IAiBrB,YACI,iBAAyB,EACzB,OAAe,EACf,eAAuB,EACvB,QAAiB,EACjB,cAAuB,EACvB,eAAuB,EACvB,kBAA2B,EAC3B,wBAAgC,EAChC,mCAA4C,EAC5C,2BAAmC,EACnC,gBAAwB,EACxB,sBAA8B,EAC9B,6BAAsC,EACtC,WAAmB;QAEnB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAA;QACxD,IAAI,CAAC,mCAAmC,GAAG,mCAAmC,CAAA;QAC9E,IAAI,CAAC,2BAA2B,GAAG,2BAA2B,CAAA;QAC9D,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;QACpD,IAAI,CAAC,6BAA6B,GAAG,6BAA6B,CAAA;QAClE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;CACJ"}
1
+ {"version":3,"file":"CCPASettings.js","sourceRoot":"","sources":["../../src/models/CCPASettings.tsx"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IAmBrB,YACI,iBAAyB,EACzB,OAAe,EACf,eAAuB,EACvB,QAAiB,EACjB,cAAuB,EACvB,eAAuB,EACvB,kBAA2B,EAC3B,wBAAgC,EAChC,mCAA4C,EAC5C,2BAAmC,EACnC,gBAAwB,EACxB,sBAA8B,EAC9B,6BAAsC,EACtC,WAAmB,EACnB,sBAAgC,EAChC,QAAiB;QAEjB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAA;QACxD,IAAI,CAAC,mCAAmC,GAAG,mCAAmC,CAAA;QAC9E,IAAI,CAAC,2BAA2B,GAAG,2BAA2B,CAAA;QAC9D,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;QACpD,IAAI,CAAC,6BAA6B,GAAG,6BAA6B,CAAA;QAClE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;QACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ export declare class GppData {
2
+ gppString: string;
3
+ applicableSections: number[];
4
+ sections: Record<string, Record<string, unknown>>;
5
+ constructor(gppString: string, applicableSections: number[], sections: Record<string, Record<string, unknown>>);
6
+ }
@@ -0,0 +1,8 @@
1
+ export class GppData {
2
+ constructor(gppString, applicableSections, sections) {
3
+ this.gppString = gppString;
4
+ this.applicableSections = applicableSections;
5
+ this.sections = sections;
6
+ }
7
+ }
8
+ //# sourceMappingURL=GppData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GppData.js","sourceRoot":"","sources":["../../src/models/GppData.tsx"],"names":[],"mappings":"AAAA,MAAM,OAAO,OAAO;IAKhB,YACI,SAAiB,EACjB,kBAA4B,EAC5B,QAAiD;QAEjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;CACJ"}
@@ -0,0 +1,4 @@
1
+ export declare class GppSectionChangePayload {
2
+ data: string;
3
+ constructor(data: string);
4
+ }
@@ -0,0 +1,6 @@
1
+ export class GppSectionChangePayload {
2
+ constructor(data) {
3
+ this.data = data;
4
+ }
5
+ }
6
+ //# sourceMappingURL=GppSectionChangePayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GppSectionChangePayload.js","sourceRoot":"","sources":["../../src/models/GppSectionChangePayload.tsx"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAuB;IAGhC,YAAY,IAAY;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;CACJ"}
@@ -35,7 +35,7 @@ export declare class TCF2Settings {
35
35
  disabledSpecialFeatures: [number];
36
36
  firstLayerShowDescriptions: boolean;
37
37
  hideNonIabOnFirstLayer: boolean;
38
- resurfacePeriodEnded: boolean;
38
+ resurfacePeriod: number;
39
39
  resurfacePurposeChanged: boolean;
40
40
  resurfaceVendorAdded: boolean;
41
41
  firstLayerDescription: string;
@@ -58,7 +58,7 @@ export declare class TCF2Settings {
58
58
  changedPurposes: TCF2ChangedPurposes;
59
59
  acmV2Enabled: boolean;
60
60
  selectedATPIds: number[];
61
- constructor(firstLayerTitle: string, secondLayerTitle: string, tabsPurposeLabel: string, tabsVendorsLabel: string, labelsFeatures: string, labelsIabVendors: string, labelsNonIabPurposes: string, labelsNonIabVendors: string, labelsPurposes: string, vendorFeatures: string, vendorLegitimateInterestPurposes: string, vendorPurpose: string, vendorSpecialFeatures: string, vendorSpecialPurposes: string, togglesConsentToggleLabel: string, togglesLegIntToggleLabel: string, buttonsAcceptAllLabel: string, buttonsDenyAllLabel: string, buttonsSaveLabel: string, linksManageSettingsLabel: string, linksVendorListLinkLabel: string, cmpId: number, cmpVersion: number, firstLayerHideToggles: boolean, secondLayerHideToggles: boolean, hideLegitimateInterestToggles: boolean, secondLayerHideButtonDeny: boolean, publisherCountryCode: string, purposeOneTreatment: boolean, selectedVendorIds: [number], gdprApplies: boolean, selectedStacks: [number], disabledSpecialFeatures: [number], firstLayerShowDescriptions: boolean, hideNonIabOnFirstLayer: boolean, resurfacePeriodEnded: boolean, resurfacePurposeChanged: boolean, resurfaceVendorAdded: boolean, firstLayerDescription: string, firstLayerAdditionalInfo: string, secondLayerDescription: string, togglesSpecialFeaturesToggleOn: string, togglesSpecialFeaturesToggleOff: string, appLayerNoteResurface: string, firstLayerNoteResurface: string, categoriesOfDataLabel: string, dataRetentionPeriodLabel: string, legitimateInterestLabel: string, version: string, examplesLabel: string, showDataSharedOutsideEUText: boolean, vendorIdsOutsideEUList: [number], scope: TCF2Scope, changedPurposes: TCF2ChangedPurposes, acmV2Enabled: boolean, selectedATPIds: number[], firstLayerHideButtonDeny?: boolean, firstLayerMobileVariant?: FirstLayerMobileVariant, dataSharedOutsideEUText?: string);
61
+ constructor(firstLayerTitle: string, secondLayerTitle: string, tabsPurposeLabel: string, tabsVendorsLabel: string, labelsFeatures: string, labelsIabVendors: string, labelsNonIabPurposes: string, labelsNonIabVendors: string, labelsPurposes: string, vendorFeatures: string, vendorLegitimateInterestPurposes: string, vendorPurpose: string, vendorSpecialFeatures: string, vendorSpecialPurposes: string, togglesConsentToggleLabel: string, togglesLegIntToggleLabel: string, buttonsAcceptAllLabel: string, buttonsDenyAllLabel: string, buttonsSaveLabel: string, linksManageSettingsLabel: string, linksVendorListLinkLabel: string, cmpId: number, cmpVersion: number, firstLayerHideToggles: boolean, secondLayerHideToggles: boolean, hideLegitimateInterestToggles: boolean, secondLayerHideButtonDeny: boolean, publisherCountryCode: string, purposeOneTreatment: boolean, selectedVendorIds: [number], gdprApplies: boolean, selectedStacks: [number], disabledSpecialFeatures: [number], firstLayerShowDescriptions: boolean, hideNonIabOnFirstLayer: boolean, resurfacePeriod: number, resurfacePurposeChanged: boolean, resurfaceVendorAdded: boolean, firstLayerDescription: string, firstLayerAdditionalInfo: string, secondLayerDescription: string, togglesSpecialFeaturesToggleOn: string, togglesSpecialFeaturesToggleOff: string, appLayerNoteResurface: string, firstLayerNoteResurface: string, categoriesOfDataLabel: string, dataRetentionPeriodLabel: string, legitimateInterestLabel: string, version: string, examplesLabel: string, showDataSharedOutsideEUText: boolean, vendorIdsOutsideEUList: [number], scope: TCF2Scope, changedPurposes: TCF2ChangedPurposes, acmV2Enabled: boolean, selectedATPIds: number[], firstLayerHideButtonDeny?: boolean, firstLayerMobileVariant?: FirstLayerMobileVariant, dataSharedOutsideEUText?: string);
62
62
  }
63
63
  export declare enum FirstLayerMobileVariant {
64
64
  sheet = 0,
@@ -1,5 +1,5 @@
1
1
  export class TCF2Settings {
2
- constructor(firstLayerTitle, secondLayerTitle, tabsPurposeLabel, tabsVendorsLabel, labelsFeatures, labelsIabVendors, labelsNonIabPurposes, labelsNonIabVendors, labelsPurposes, vendorFeatures, vendorLegitimateInterestPurposes, vendorPurpose, vendorSpecialFeatures, vendorSpecialPurposes, togglesConsentToggleLabel, togglesLegIntToggleLabel, buttonsAcceptAllLabel, buttonsDenyAllLabel, buttonsSaveLabel, linksManageSettingsLabel, linksVendorListLinkLabel, cmpId, cmpVersion, firstLayerHideToggles, secondLayerHideToggles, hideLegitimateInterestToggles, secondLayerHideButtonDeny, publisherCountryCode, purposeOneTreatment, selectedVendorIds, gdprApplies, selectedStacks, disabledSpecialFeatures, firstLayerShowDescriptions, hideNonIabOnFirstLayer, resurfacePeriodEnded, resurfacePurposeChanged, resurfaceVendorAdded, firstLayerDescription, firstLayerAdditionalInfo, secondLayerDescription, togglesSpecialFeaturesToggleOn, togglesSpecialFeaturesToggleOff, appLayerNoteResurface, firstLayerNoteResurface, categoriesOfDataLabel, dataRetentionPeriodLabel, legitimateInterestLabel, version, examplesLabel, showDataSharedOutsideEUText, vendorIdsOutsideEUList, scope, changedPurposes, acmV2Enabled, selectedATPIds, firstLayerHideButtonDeny, firstLayerMobileVariant, dataSharedOutsideEUText) {
2
+ constructor(firstLayerTitle, secondLayerTitle, tabsPurposeLabel, tabsVendorsLabel, labelsFeatures, labelsIabVendors, labelsNonIabPurposes, labelsNonIabVendors, labelsPurposes, vendorFeatures, vendorLegitimateInterestPurposes, vendorPurpose, vendorSpecialFeatures, vendorSpecialPurposes, togglesConsentToggleLabel, togglesLegIntToggleLabel, buttonsAcceptAllLabel, buttonsDenyAllLabel, buttonsSaveLabel, linksManageSettingsLabel, linksVendorListLinkLabel, cmpId, cmpVersion, firstLayerHideToggles, secondLayerHideToggles, hideLegitimateInterestToggles, secondLayerHideButtonDeny, publisherCountryCode, purposeOneTreatment, selectedVendorIds, gdprApplies, selectedStacks, disabledSpecialFeatures, firstLayerShowDescriptions, hideNonIabOnFirstLayer, resurfacePeriod, resurfacePurposeChanged, resurfaceVendorAdded, firstLayerDescription, firstLayerAdditionalInfo, secondLayerDescription, togglesSpecialFeaturesToggleOn, togglesSpecialFeaturesToggleOff, appLayerNoteResurface, firstLayerNoteResurface, categoriesOfDataLabel, dataRetentionPeriodLabel, legitimateInterestLabel, version, examplesLabel, showDataSharedOutsideEUText, vendorIdsOutsideEUList, scope, changedPurposes, acmV2Enabled, selectedATPIds, firstLayerHideButtonDeny, firstLayerMobileVariant, dataSharedOutsideEUText) {
3
3
  this.firstLayerTitle = firstLayerTitle;
4
4
  this.secondLayerTitle = secondLayerTitle;
5
5
  this.tabsPurposeLabel = tabsPurposeLabel;
@@ -36,7 +36,7 @@ export class TCF2Settings {
36
36
  this.disabledSpecialFeatures = disabledSpecialFeatures;
37
37
  this.firstLayerShowDescriptions = firstLayerShowDescriptions;
38
38
  this.hideNonIabOnFirstLayer = hideNonIabOnFirstLayer;
39
- this.resurfacePeriodEnded = resurfacePeriodEnded;
39
+ this.resurfacePeriod = resurfacePeriod;
40
40
  this.resurfacePurposeChanged = resurfacePurposeChanged;
41
41
  this.resurfaceVendorAdded = resurfaceVendorAdded;
42
42
  this.firstLayerDescription = firstLayerDescription;
@@ -1 +1 @@
1
- {"version":3,"file":"TCF2Settings.js","sourceRoot":"","sources":["../../src/models/TCF2Settings.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TCF2Settings.js","sourceRoot":"","sources":["../../src/models/TCF2Settings.tsx"],"names":[],"mappings":"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"}
@@ -30,7 +30,9 @@ export declare class UsercentricsSettings {
30
30
  publishedApps?: [PublishedApp];
31
31
  renewConsentsTimestamp?: number;
32
32
  consentWebhook?: boolean;
33
- constructor(labels: UsercentricsLabels, version: string, language: string, imprintUrl: string, privacyPolicyUrl: string, cookiePolicyUrl: string, firstLayerDescriptionHtml: string, firstLayerMobileDescriptionHtml: string, settingsId: string, bannerMobileDescriptionIsActive: boolean, enablePoweredBy: boolean, displayOnlyForEU: boolean, tcf2Enabled: boolean, reshowBanner: number, editableLanguages: [string], languagesAvailable: [string], showInitialViewForVersionChange: [string], ccpa?: CCPASettings, tcf2?: TCF2Settings, customization?: string, firstLayer?: FirstLayer, secondLayer?: SecondLayer, variants?: VariantsSettings, dpsDisplayFormat?: DpsDisplayFormat, framework?: USAFrameworks, publishedApps?: [PublishedApp], renewConsentsTimestamp?: number, consentWebhook?: boolean);
33
+ gppSignalingEnabled?: boolean;
34
+ gpcSignalHonoured?: boolean;
35
+ constructor(labels: UsercentricsLabels, version: string, language: string, imprintUrl: string, privacyPolicyUrl: string, cookiePolicyUrl: string, firstLayerDescriptionHtml: string, firstLayerMobileDescriptionHtml: string, settingsId: string, bannerMobileDescriptionIsActive: boolean, enablePoweredBy: boolean, displayOnlyForEU: boolean, tcf2Enabled: boolean, reshowBanner: number, editableLanguages: [string], languagesAvailable: [string], showInitialViewForVersionChange: [string], ccpa?: CCPASettings, tcf2?: TCF2Settings, customization?: string, firstLayer?: FirstLayer, secondLayer?: SecondLayer, variants?: VariantsSettings, dpsDisplayFormat?: DpsDisplayFormat, framework?: USAFrameworks, publishedApps?: [PublishedApp], renewConsentsTimestamp?: number, consentWebhook?: boolean, gppSignalingEnabled?: boolean, gpcSignalHonoured?: boolean);
34
36
  }
35
37
  export declare class FirstLayer {
36
38
  hideButtonDeny?: boolean;
@@ -1,5 +1,5 @@
1
1
  export class UsercentricsSettings {
2
- constructor(labels, version, language, imprintUrl, privacyPolicyUrl, cookiePolicyUrl, firstLayerDescriptionHtml, firstLayerMobileDescriptionHtml, settingsId, bannerMobileDescriptionIsActive, enablePoweredBy, displayOnlyForEU, tcf2Enabled, reshowBanner, editableLanguages, languagesAvailable, showInitialViewForVersionChange, ccpa, tcf2, customization, firstLayer, secondLayer, variants, dpsDisplayFormat, framework, publishedApps, renewConsentsTimestamp, consentWebhook) {
2
+ constructor(labels, version, language, imprintUrl, privacyPolicyUrl, cookiePolicyUrl, firstLayerDescriptionHtml, firstLayerMobileDescriptionHtml, settingsId, bannerMobileDescriptionIsActive, enablePoweredBy, displayOnlyForEU, tcf2Enabled, reshowBanner, editableLanguages, languagesAvailable, showInitialViewForVersionChange, ccpa, tcf2, customization, firstLayer, secondLayer, variants, dpsDisplayFormat, framework, publishedApps, renewConsentsTimestamp, consentWebhook, gppSignalingEnabled, gpcSignalHonoured) {
3
3
  this.labels = labels;
4
4
  this.version = version;
5
5
  this.language = language;
@@ -28,6 +28,8 @@ export class UsercentricsSettings {
28
28
  this.publishedApps = publishedApps;
29
29
  this.renewConsentsTimestamp = renewConsentsTimestamp;
30
30
  this.consentWebhook = consentWebhook;
31
+ this.gppSignalingEnabled = gppSignalingEnabled;
32
+ this.gpcSignalHonoured = gpcSignalHonoured;
31
33
  }
32
34
  }
33
35
  export class FirstLayer {
@@ -1 +1 @@
1
- {"version":3,"file":"UsercentricsSettings.js","sourceRoot":"","sources":["../../src/models/UsercentricsSettings.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UsercentricsSettings.js","sourceRoot":"","sources":["../../src/models/UsercentricsSettings.tsx"],"names":[],"mappings":"AAIA,MAAM,OAAO,oBAAoB;IAgC7B,YACI,MAA0B,EAC1B,OAAe,EACf,QAAgB,EAChB,UAAkB,EAClB,gBAAwB,EACxB,eAAuB,EACvB,yBAAiC,EACjC,+BAAuC,EACvC,UAAkB,EAClB,+BAAwC,EACxC,eAAwB,EACxB,gBAAyB,EACzB,WAAoB,EACpB,YAAoB,EACpB,iBAA2B,EAC3B,kBAA4B,EAC5B,+BAAyC,EACzC,IAAmB,EACnB,IAAmB,EACnB,aAAsB,EACtB,UAAuB,EACvB,WAAyB,EACzB,QAA2B,EAC3B,gBAAmC,EACnC,SAAyB,EACzB,aAA8B,EAC9B,sBAA+B,EAC/B,cAAwB,EACxB,mBAA6B,EAC7B,iBAA2B;QAE3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,CAAA;QAC1D,IAAI,CAAC,+BAA+B,GAAG,+BAA+B,CAAA;QACtE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,+BAA+B,GAAG,+BAA+B,CAAA;QACtE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,+BAA+B,GAAG,+BAA+B,CAAA;QACtE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;QACpD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC9C,CAAC;CACJ;AAED,MAAM,OAAO,UAAU;IAGnB,YACI,cAAwB;QAExB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACxC,CAAC;CACJ;AAED,MAAM,OAAO,WAAW;IAQpB,YACI,mBAA2B,EAC3B,iBAAyB,EACzB,cAAwB,EACxB,kBAA4B,EAC5B,gBAAyB,EACzB,cAAuB;QAEvB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACxC,CAAC;CACJ;AAED,MAAM,OAAO,gBAAgB;IAMzB,YACI,OAAgB,EAChB,eAAuB,EACvB,YAAoB;QAEpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,qDAAO,CAAA;IACP,yDAAS,CAAA;AACb,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,iDAAQ,CAAA;IACR,mDAAS,CAAA;IACT,+CAAO,CAAA;IACP,mDAAS,CAAA;IACT,iDAAQ,CAAA;AACZ,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,MAAM,OAAO,YAAY;IAIrB,YACI,QAAgB,EAChB,QAA8B;QAE9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC5B,qEAAW,CAAA;IACX,6DAAO,CAAA;AACX,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B"}
@@ -27,3 +27,5 @@ export * from './UsercentricsLocation';
27
27
  export * from './UsercentricsSettings';
28
28
  export * from './GeolocationRuleset';
29
29
  export * from './LegalBasisLocalization';
30
+ export * from './GppData';
31
+ export * from './GppSectionChangePayload';
@@ -27,4 +27,6 @@ export * from './UsercentricsLocation';
27
27
  export * from './UsercentricsSettings';
28
28
  export * from './GeolocationRuleset';
29
29
  export * from './LegalBasisLocalization';
30
+ export * from './GppData';
31
+ export * from './GppSectionChangePayload';
30
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.tsx"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.tsx"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,WAAW,CAAA;AACzB,cAAc,2BAA2B,CAAA"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@usercentrics/react-native-sdk",
3
- "version": "2.25.1",
3
+ "version": "2.26.2",
4
4
  "description": "Usercentrics SDK",
5
5
  "homepage": "https://usercentrics.com",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "author": "Usercentrics <developer@usercentrics.com>",
9
9
  "iosPackageName": "react-native-usercentrics",
10
- "iosPackageVersion": "2.25.1",
10
+ "iosPackageVersion": "2.26.2",
11
11
  "license": "SEE LICENSE IN LICENSE",
12
12
  "files": [
13
13
  "android",
@@ -46,25 +46,32 @@
46
46
  },
47
47
  "devDependencies": {
48
48
  "@babel/core": "^7.25.10",
49
- "@react-native-community/cli": "^18.0.0",
50
- "@react-native-community/cli-platform-android": "18.0.0",
51
- "@react-native-community/cli-platform-ios": "18.0.0",
49
+ "@react-native-community/cli": "^20.1.3",
50
+ "@react-native-community/cli-platform-android": "^20.1.3",
51
+ "@react-native-community/cli-platform-ios": "^20.1.3",
52
52
  "@react-native-community/eslint-config": "^3.0.1",
53
53
  "@react-native/babel-preset": "^0.81.1",
54
54
  "@types/jest": "^29.5.2",
55
- "@types/react-native": "^0.73.0",
56
55
  "@types/react-test-renderer": "^19.0.0",
57
56
  "babel-jest": "^29.5.0",
58
57
  "eslint": "^8.44.0",
59
58
  "eslint-plugin-simple-import-sort": "^10.0.0",
60
59
  "jest": "^29.5.0",
61
- "metro-react-native-babel-preset": "^0.77.0",
62
60
  "react": "^19.1.0",
63
61
  "react-native": "^0.79.6",
64
62
  "react-native-codegen": "^0.0.7",
65
63
  "react-test-renderer": "^19.1.0",
66
64
  "typescript": "^5.8.3"
67
65
  },
66
+ "overrides": {
67
+ "fast-xml-parser": ">=4.5.4",
68
+ "braces": ">=3.0.3",
69
+ "micromatch": ">=4.0.8",
70
+ "flatted": ">=3.4.2",
71
+ "lodash": ">=4.18.1",
72
+ "picomatch": ">=4.0.4",
73
+ "yaml": ">=2.8.3"
74
+ },
68
75
  "peerDependencies": {
69
76
  "react": "*",
70
77
  "react-native": "*"
@@ -91,7 +98,6 @@
91
98
  ]
92
99
  },
93
100
  "directories": {
94
- "example": "example",
95
101
  "lib": "lib"
96
102
  },
97
103
  "repository": {
@@ -9,9 +9,11 @@ import type {
9
9
  AdditionalConsentModeData,
10
10
  TCFData,
11
11
  CCPAData,
12
+ GppData,
12
13
  UserDecision,
13
14
  TCFUserDecisions,
14
15
  TCFUserDecisionOnPurpose,
16
+ TCFUserDecisionOnVendor,
15
17
  } from './models';
16
18
 
17
19
  export interface Spec extends TurboModule {
@@ -35,18 +37,22 @@ export interface Spec extends TurboModule {
35
37
  getTCFData(): Promise<TCFData>;
36
38
  getUserSessionData(): Promise<string>;
37
39
  getUSPData(): Promise<CCPAData>;
40
+ getGPPData(): Promise<GppData>;
41
+ getGPPString(): Promise<string | null>;
38
42
  getABTestingVariant(): Promise<string>;
43
+ getDpsMetadata(templateId: string): Promise<Record<string, unknown> | null>;
39
44
 
40
45
  // Configuration Setters
41
46
  setCMPId(id: number): void;
42
47
  setABTestingVariant(variant: string): void;
48
+ setGPPConsent(sectionName: string, fieldName: string, value: Object): void;
43
49
  changeLanguage(language: string): Promise<void>;
44
50
 
45
51
  // Consent Actions
46
52
  acceptAll(consentType: number): Promise<Array<UsercentricsServiceConsent>>;
47
53
  acceptAllForTCF(fromLayer: number, consentType: number): Promise<Array<UsercentricsServiceConsent>>;
48
54
  denyAll(consentType: number): Promise<Array<UsercentricsServiceConsent>>;
49
- denyAllForTCF(fromLayer: number, consentType: number, unsavedPurposeLIDecisions: Array<TCFUserDecisionOnPurpose>): Promise<Array<UsercentricsServiceConsent>>;
55
+ denyAllForTCF(fromLayer: number, consentType: number, unsavedPurposeLIDecisions: Array<TCFUserDecisionOnPurpose>, unsavedVendorLIDecisions: Array<TCFUserDecisionOnVendor>): Promise<Array<UsercentricsServiceConsent>>;
50
56
 
51
57
  saveDecisions(decisions: Array<UserDecision>, consentType: number): Promise<Array<UsercentricsServiceConsent>>;
52
58
  saveDecisionsForTCF(
@@ -59,6 +65,9 @@ export interface Spec extends TurboModule {
59
65
 
60
66
  // Analytics
61
67
  track(event: number): void;
68
+
69
+ addListener(eventName: string): void;
70
+ removeListeners(count: number): void;
62
71
  }
63
72
 
64
73
  // Try to get TurboModule first, fallback to NativeModule
@@ -1,11 +1,14 @@
1
- import {NativeModules, Platform} from 'react-native';
1
+ import {EmitterSubscription, NativeEventEmitter, NativeModules, Platform} from 'react-native';
2
2
  import {
3
3
  AdditionalConsentModeData,
4
4
  BannerSettings,
5
5
  CCPAData,
6
+ GppData,
7
+ GppSectionChangePayload,
6
8
  TCFData,
7
9
  TCFDecisionUILayer,
8
10
  TCFUserDecisionOnPurpose,
11
+ TCFUserDecisionOnVendor,
9
12
  TCFUserDecisions,
10
13
  UsercentricsAnalyticsEventType,
11
14
  UsercentricsCMPData,
@@ -20,6 +23,7 @@ import NativeUsercentrics from './NativeUsercentrics';
20
23
 
21
24
  // Use TurboModule when available, fallback to legacy bridge
22
25
  const RNUsercentricsModule = NativeUsercentrics || NativeModules.RNUsercentricsModule;
26
+ const eventEmitter = new NativeEventEmitter(RNUsercentricsModule);
23
27
 
24
28
  export const Usercentrics = {
25
29
 
@@ -76,6 +80,16 @@ export const Usercentrics = {
76
80
  return RNUsercentricsModule.getUSPData();
77
81
  },
78
82
 
83
+ getGPPData: async (): Promise<GppData> => {
84
+ await RNUsercentricsModule.isReady();
85
+ return RNUsercentricsModule.getGPPData();
86
+ },
87
+
88
+ getGPPString: async (): Promise<string | null> => {
89
+ await RNUsercentricsModule.isReady();
90
+ return RNUsercentricsModule.getGPPString();
91
+ },
92
+
79
93
  getTCFData: async (): Promise<TCFData> => {
80
94
  await RNUsercentricsModule.isReady();
81
95
  return RNUsercentricsModule.getTCFData();
@@ -86,6 +100,11 @@ export const Usercentrics = {
86
100
  return RNUsercentricsModule.getAdditionalConsentModeData();
87
101
  },
88
102
 
103
+ getDpsMetadata: async (templateId: string): Promise<Record<string, unknown> | null> => {
104
+ await RNUsercentricsModule.isReady();
105
+ return RNUsercentricsModule.getDpsMetadata(templateId);
106
+ },
107
+
89
108
  changeLanguage: async (language: string): Promise<void> => {
90
109
  await RNUsercentricsModule.isReady();
91
110
  return RNUsercentricsModule.changeLanguage(language);
@@ -106,9 +125,9 @@ export const Usercentrics = {
106
125
  return RNUsercentricsModule.denyAll(consentType);
107
126
  },
108
127
 
109
- denyAllForTCF: async (fromLayer: TCFDecisionUILayer, consentType: UsercentricsConsentType, unsavedPurposeLIDecisions: TCFUserDecisionOnPurpose[] = []): Promise<Array<UsercentricsServiceConsent>> => {
128
+ denyAllForTCF: async (fromLayer: TCFDecisionUILayer, consentType: UsercentricsConsentType, unsavedPurposeLIDecisions: TCFUserDecisionOnPurpose[] = [], unsavedVendorLIDecisions: TCFUserDecisionOnVendor[] = []): Promise<Array<UsercentricsServiceConsent>> => {
110
129
  await RNUsercentricsModule.isReady();
111
- return RNUsercentricsModule.denyAllForTCF(fromLayer, consentType, unsavedPurposeLIDecisions);
130
+ return RNUsercentricsModule.denyAllForTCF(fromLayer, consentType, unsavedPurposeLIDecisions, unsavedVendorLIDecisions);
112
131
  },
113
132
 
114
133
  saveDecisions: async (decisions: UserDecision[], consentType: UsercentricsConsentType): Promise<Array<UsercentricsServiceConsent>> => {
@@ -134,6 +153,11 @@ export const Usercentrics = {
134
153
  RNUsercentricsModule.setABTestingVariant(variant);
135
154
  },
136
155
 
156
+ setGPPConsent: async (sectionName: string, fieldName: string, value: unknown) => {
157
+ await RNUsercentricsModule.isReady();
158
+ RNUsercentricsModule.setGPPConsent(sectionName, fieldName, { value } as Object);
159
+ },
160
+
137
161
  track: async (event: UsercentricsAnalyticsEventType) => {
138
162
  await RNUsercentricsModule.isReady();
139
163
  RNUsercentricsModule.track(event);
@@ -143,4 +167,8 @@ export const Usercentrics = {
143
167
  await RNUsercentricsModule.isReady();
144
168
  return RNUsercentricsModule.clearUserSession();
145
169
  },
170
+
171
+ onGppSectionChange: (callback: (payload: GppSectionChangePayload) => void): EmitterSubscription => {
172
+ return eventEmitter.addListener("onGppSectionChange", callback);
173
+ },
146
174
  }
@@ -18,6 +18,7 @@ import {
18
18
  ccpaDataExample,
19
19
  cmpDataExample,
20
20
  featuresExample,
21
+ gppDataExample,
21
22
  purposesExample,
22
23
  tcfUserDecisionOnPurposeExample,
23
24
  tcfUserDecisionOnSpecialFeatureExample,
@@ -45,6 +46,8 @@ jest.mock("react-native", () => {
45
46
  getCMPData: jest.fn(),
46
47
  getUserSessionData: jest.fn(),
47
48
  getUSPData: jest.fn(),
49
+ getGPPData: jest.fn(),
50
+ getGPPString: jest.fn(),
48
51
  getTCFData: jest.fn(),
49
52
  getAdditionalConsentModeData: jest.fn(),
50
53
  changeLanguage: jest.fn(),
@@ -55,9 +58,13 @@ jest.mock("react-native", () => {
55
58
  saveOptOutForCCPA: jest.fn(),
56
59
  saveDecisionsForTCF: jest.fn(),
57
60
  saveDecisions: jest.fn(),
61
+ setGPPConsent: jest.fn(),
58
62
  track: jest.fn(),
59
63
  reset: jest.fn(),
60
- clearUserSession: jest.fn()
64
+ getDpsMetadata: jest.fn(),
65
+ clearUserSession: jest.fn(),
66
+ addListener: jest.fn(),
67
+ removeListeners: jest.fn()
61
68
  };
62
69
 
63
70
  return RN
@@ -395,6 +402,33 @@ describe('Test Usercentrics Module', () => {
395
402
  expect(data).toStrictEqual([usercentricsServiceConsent]);
396
403
  })
397
404
 
405
+ test('testGetGPPData', async () => {
406
+ RNUsercentricsModule.getGPPData.mockImplementationOnce(
407
+ (): Promise<any> => Promise.resolve(gppDataExample)
408
+ )
409
+
410
+ const data = await Usercentrics.getGPPData();
411
+ expect(data).toBe(gppDataExample);
412
+ })
413
+
414
+ test('testGetGPPString', async () => {
415
+ RNUsercentricsModule.getGPPString.mockImplementationOnce(
416
+ (): Promise<any> => Promise.resolve("DBABMA~CPXxRfA")
417
+ )
418
+
419
+ const data = await Usercentrics.getGPPString();
420
+ expect(data).toBe("DBABMA~CPXxRfA");
421
+ })
422
+
423
+ test('testSetGPPConsent', async () => {
424
+ await Usercentrics.setGPPConsent("usnat", "SaleOptOut", 2);
425
+
426
+ const call = RNUsercentricsModule.setGPPConsent.mock.calls[0];
427
+ expect(call[0]).toBe("usnat");
428
+ expect(call[1]).toBe("SaleOptOut");
429
+ expect(call[2]).toEqual({ value: 2 });
430
+ })
431
+
398
432
  test('testTrack', async () => {
399
433
  await Usercentrics.track(UsercentricsAnalyticsEventType.acceptAllFirstLayer);
400
434
  let spy = jest.spyOn(RNUsercentricsModule, "track")
@@ -422,6 +456,37 @@ describe('Test Usercentrics Module', () => {
422
456
  expect(data).toStrictEqual(response)
423
457
  })
424
458
 
459
+ test('testGetDpsMetadataWithValidData', async () => {
460
+ const metadata = { partner: "appsflyer", source: "campaign_1" };
461
+ RNUsercentricsModule.getDpsMetadata.mockImplementationOnce(
462
+ (): Promise<any> => Promise.resolve(metadata)
463
+ )
464
+
465
+ const data = await Usercentrics.getDpsMetadata("templateId123");
466
+ expect(data).toStrictEqual(metadata);
467
+
468
+ const call = RNUsercentricsModule.getDpsMetadata.mock.calls[0][0];
469
+ expect(call).toBe("templateId123");
470
+ })
471
+
472
+ test('testGetDpsMetadataWhenNull', async () => {
473
+ RNUsercentricsModule.getDpsMetadata.mockImplementationOnce(
474
+ (): Promise<any> => Promise.resolve(null)
475
+ )
476
+
477
+ const data = await Usercentrics.getDpsMetadata("nonExistentId");
478
+ expect(data).toBe(null);
479
+ })
480
+
481
+ test('testGetDpsMetadataWithEmptyObject', async () => {
482
+ RNUsercentricsModule.getDpsMetadata.mockImplementationOnce(
483
+ (): Promise<any> => Promise.resolve({})
484
+ )
485
+
486
+ const data = await Usercentrics.getDpsMetadata("templateId123");
487
+ expect(data).toStrictEqual({});
488
+ })
489
+
425
490
  test('testClearUserSession', async () => {
426
491
  const readyStatus = new UsercentricsReadyStatus(
427
492
  true,
@@ -45,6 +45,22 @@ export const ccpaDataExample = {
45
45
  noticeGiven: false
46
46
  }
47
47
 
48
+ export const gppDataExample = {
49
+ gppString: "DBABMA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA",
50
+ applicableSections: [7],
51
+ sections: {
52
+ usnat: {
53
+ Version: 1,
54
+ SharingNotice: 2,
55
+ SaleOptOut: 2
56
+ }
57
+ }
58
+ }
59
+
60
+ export const gppSectionChangePayloadExample = {
61
+ data: "usnat"
62
+ }
63
+
48
64
  const ucLabels: UsercentricsLabels = {
49
65
  btnAcceptAll: "btnAcceptAll",
50
66
  btnDeny: "btnDeny",
@@ -196,7 +212,7 @@ const tcf2Settings: TCF2Settings = {
196
212
  disabledSpecialFeatures: [1],
197
213
  firstLayerShowDescriptions: true,
198
214
  hideNonIabOnFirstLayer: true,
199
- resurfacePeriodEnded: true,
215
+ resurfacePeriod: 1,
200
216
  resurfacePurposeChanged: true,
201
217
  resurfaceVendorAdded: true,
202
218
  firstLayerDescription: "firstLayerDescription",
@@ -22,18 +22,22 @@ export interface Spec extends TurboModule {
22
22
  getTCFData(): Promise<Object>;
23
23
  getUserSessionData(): Promise<string>;
24
24
  getUSPData(): Promise<Object>;
25
+ getGPPData(): Promise<Object>;
26
+ getGPPString(): Promise<string | null>;
25
27
  getABTestingVariant(): Promise<string>;
28
+ getDpsMetadata(templateId: string): Promise<Object | null>;
26
29
 
27
30
  // Configuration Setters
28
31
  setCMPId(id: number): void;
29
32
  setABTestingVariant(variant: string): void;
33
+ setGPPConsent(sectionName: string, fieldName: string, value: Object): void;
30
34
  changeLanguage(language: string): Promise<void>;
31
35
 
32
36
  // Consent Actions
33
37
  acceptAll(consentType: number): Promise<Array<Object>>;
34
38
  acceptAllForTCF(fromLayer: number, consentType: number): Promise<Array<Object>>;
35
39
  denyAll(consentType: number): Promise<Array<Object>>;
36
- denyAllForTCF(fromLayer: number, consentType: number, unsavedPurposeLIDecisions: Array<Object>): Promise<Array<Object>>;
40
+ denyAllForTCF(fromLayer: number, consentType: number, unsavedPurposeLIDecisions: Array<Object>, unsavedVendorLIDecisions: Array<Object>): Promise<Array<Object>>;
37
41
 
38
42
  saveDecisions(decisions: Array<Object>, consentType: number): Promise<Array<Object>>;
39
43
  saveDecisionsForTCF(
@@ -46,6 +50,9 @@ export interface Spec extends TurboModule {
46
50
 
47
51
  // Analytics
48
52
  track(event: number): void;
53
+
54
+ addListener(eventName: string): void;
55
+ removeListeners(count: number): void;
49
56
  }
50
57
 
51
58
  export default TurboModuleRegistry.get<Spec>('RNUsercentricsModule');
@@ -14,6 +14,8 @@ export class CCPASettings {
14
14
  secondLayerDescription: string
15
15
  secondLayerHideLanguageSwitch: boolean
16
16
  btnMoreInfo: string
17
+ mspaCoveredTransaction?: boolean
18
+ mspaMode?: number
17
19
 
18
20
  constructor(
19
21
  optOutNoticeLabel: string,
@@ -29,7 +31,9 @@ export class CCPASettings {
29
31
  secondLayerTitle: string,
30
32
  secondLayerDescription: string,
31
33
  secondLayerHideLanguageSwitch: boolean,
32
- btnMoreInfo: string
34
+ btnMoreInfo: string,
35
+ mspaCoveredTransaction?: boolean,
36
+ mspaMode?: number
33
37
  ) {
34
38
  this.optOutNoticeLabel = optOutNoticeLabel
35
39
  this.btnSave = btnSave
@@ -45,5 +49,7 @@ export class CCPASettings {
45
49
  this.secondLayerDescription = secondLayerDescription
46
50
  this.secondLayerHideLanguageSwitch = secondLayerHideLanguageSwitch
47
51
  this.btnMoreInfo = btnMoreInfo
52
+ this.mspaCoveredTransaction = mspaCoveredTransaction
53
+ this.mspaMode = mspaMode
48
54
  }
49
55
  }
@@ -0,0 +1,15 @@
1
+ export class GppData {
2
+ gppString: string
3
+ applicableSections: number[]
4
+ sections: Record<string, Record<string, unknown>>
5
+
6
+ constructor(
7
+ gppString: string,
8
+ applicableSections: number[],
9
+ sections: Record<string, Record<string, unknown>>
10
+ ) {
11
+ this.gppString = gppString
12
+ this.applicableSections = applicableSections
13
+ this.sections = sections
14
+ }
15
+ }
@@ -0,0 +1,7 @@
1
+ export class GppSectionChangePayload {
2
+ data: string
3
+
4
+ constructor(data: string) {
5
+ this.data = data
6
+ }
7
+ }
@@ -35,7 +35,7 @@ export class TCF2Settings {
35
35
  disabledSpecialFeatures: [number]
36
36
  firstLayerShowDescriptions: boolean
37
37
  hideNonIabOnFirstLayer: boolean
38
- resurfacePeriodEnded: boolean
38
+ resurfacePeriod: number
39
39
  resurfacePurposeChanged: boolean
40
40
  resurfaceVendorAdded: boolean
41
41
  firstLayerDescription: string
@@ -95,7 +95,7 @@ export class TCF2Settings {
95
95
  disabledSpecialFeatures: [number],
96
96
  firstLayerShowDescriptions: boolean,
97
97
  hideNonIabOnFirstLayer: boolean,
98
- resurfacePeriodEnded: boolean,
98
+ resurfacePeriod: number,
99
99
  resurfacePurposeChanged: boolean,
100
100
  resurfaceVendorAdded: boolean,
101
101
  firstLayerDescription: string,
@@ -156,7 +156,7 @@ export class TCF2Settings {
156
156
  this.disabledSpecialFeatures = disabledSpecialFeatures
157
157
  this.firstLayerShowDescriptions = firstLayerShowDescriptions
158
158
  this.hideNonIabOnFirstLayer = hideNonIabOnFirstLayer
159
- this.resurfacePeriodEnded = resurfacePeriodEnded
159
+ this.resurfacePeriod = resurfacePeriod
160
160
  this.resurfacePurposeChanged = resurfacePurposeChanged
161
161
  this.resurfaceVendorAdded = resurfaceVendorAdded
162
162
  this.firstLayerDescription = firstLayerDescription