internal static UserConsentUI Request(ConsentRequestParameters parameters) { Audience savedAudience = Audience.Mixed; if (parameters.withAudienceDefinition && parameters.resetStatus < 2) { int selectedYear = GetYearOfBirth(); savedAudience = GetAudience(selectedYear); if (savedAudience != Audience.Mixed) { MobileAds.settings.taggedAudience = savedAudience; } if (selectedYear > 0) { MobileAds.targetingOptions.age = DateTime.Now.Year - selectedYear; } } if (parameters.resetStatus == 0 || savedAudience == Audience.Children) { var savedStatus = GetStatus(); if (savedStatus != ConsentStatus.Undefined) { MobileAds.settings.userConsent = savedStatus; SetMediationExtras(); if (parameters.OnConsent != null) { parameters.OnConsent(); } return(null); } } if (!parameters.showInEditor && Application.isEditor) { if (parameters.OnConsent != null) { parameters.OnConsent(); } return(null); } if (!parameters.uiPrefab) { throw new NullReferenceException("Consent Request require UserConsentUI prefab!"); } var instance = UnityEngine.Object.Instantiate(parameters.uiPrefab); instance.Init(parameters); return(instance); }
private void OnConsentAccepted() { consentTextContainer.SetActive(false); PlayerPrefs.SetString(ConsentClient.consentStringPref, ConsentClient.consentAccepted); MobileAds.settings.userConsent = ConsentStatus.Accepted; PlayerPrefs.Save(); Destroy(gameObject); if (parameters.OnConsent != null) { parameters.OnConsent(); } onConsent.Invoke(); }