public static SpConsents UnwrapSpConsentsAndroid(string json) { SpConsentsWrapperAndroid wrapped = JsonSerializer.Deserialize <SpConsentsWrapperAndroid>(json); SpGdprConsent unwrappedGdpr = null; SpCcpaConsent unwrappedCcpa = null; if (wrapped.gdpr != null) { unwrappedGdpr = UnwrapSpGdprConsentAndroid(wrapped.gdpr); } if (wrapped.ccpa != null) { unwrappedCcpa = UnwrapSpCcpaConsentAndroid(wrapped.ccpa); } return(new SpConsents(unwrappedGdpr, unwrappedCcpa)); }
public static void BroadcastIOnConsentReadyIfNeeded() { if (!CmpCampaignPopupQueue.IsCampaignAvailable && (CmpLocalizationMapper.IsGdprConsented || CmpLocalizationMapper.IsCcpaConsented) && (CmpLocalizationMapper.ccpaUserConsent != null || CmpLocalizationMapper.gdprUserConsent != null)) { SpGdprConsent gdpr = null; SpCcpaConsent ccpa = null; if (CmpLocalizationMapper.IsGdprConsented && CmpLocalizationMapper.gdprUserConsent != null && CmpLocalizationMapper.gdprUserConsent.grants != null) { var gdprConsent = new GdprConsent(); gdprConsent.euconsent = CmpLocalizationMapper.gdprUserConsent.euconsent; gdprConsent.TCData = CmpLocalizationMapper.gdprUserConsent.TCData; gdprConsent.uuid = CmpLocalizationMapper.gdprUserConsent.uuid; gdprConsent.grants = new Dictionary <string, SpVendorGrant>(); foreach (var kv in CmpLocalizationMapper.gdprUserConsent.grants) { gdprConsent.grants[kv.Key] = new SpVendorGrant(kv.Value.purposeGrants); } gdpr = new SpGdprConsent(gdprConsent); CmpLocalizationMapper.gdprUserConsent = null; } if (CmpLocalizationMapper.IsCcpaConsented && CmpLocalizationMapper.ccpaUserConsent != null) { CcpaConsent ccpaConsent = new CcpaConsent(uuid: CmpLocalizationMapper.ccpaUserConsent.uuid, status: CmpLocalizationMapper.ccpaUserConsent.status, uspstring: CmpLocalizationMapper.ccpaUserConsent.uspstring, rejectedVendors: CmpLocalizationMapper.ccpaUserConsent.rejectedVendors, rejectedCategories: CmpLocalizationMapper.ccpaUserConsent.rejectedCategories); ccpa = new SpCcpaConsent(ccpaConsent); CmpLocalizationMapper.ccpaUserConsent = null; } ConsentMessenger.Broadcast <IOnConsentReady>(new SpConsents(gdpr, ccpa)); } }