Пример #1
0
        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));
        }
Пример #2
0
    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));
        }
    }