Beispiel #1
0
        private void ConfigureAdvertiser(IServiceCollection services)
        {
            var advertiserSettings = new AdvertiserSettings(Configuration);

            services.AddSingleton(advertiserSettings.Mongo);

            services.AddSingleton <FailedEventsToSubmitMongoDbRepository>();
            services.AddSingleton <IFailedEventRepository>((p) => (FailedEventsToSubmitMongoDbRepository)p.GetService(typeof(FailedEventsToSubmitMongoDbRepository)));

            // Store
            services.AddSingleton <StoreMongoDbRepository>();
            services.AddSingleton <IStoreRepository>(provider => (StoreMongoDbRepository)provider.GetService(typeof(StoreMongoDbRepository)));
            services.AddSingleton <AffiliateStoreMatchesMongoDbRepository>();
            services.AddSingleton <IAffiliateStoreMatchesRepository>(provider => (AffiliateStoreMatchesMongoDbRepository)provider.GetService(typeof(AffiliateStoreMatchesMongoDbRepository)));
            services.AddSingleton <AffiliateStoreDomainService>();
            services.AddSingleton <AffiliateStoreKafkaConsumer>();
            // Category
            services.AddSingleton <CategoryMongoDbRepository>();
            services.AddSingleton <ICategoryRepository>(provider => (CategoryMongoDbRepository)provider.GetService(typeof(CategoryMongoDbRepository)));
            services.AddSingleton <AffiliateCategoryMatchesMongoDbRepository>();
            services.AddSingleton <IAffiliateCategoryMatchesRepository>(provider => (AffiliateCategoryMatchesMongoDbRepository)provider.GetService(typeof(AffiliateCategoryMatchesMongoDbRepository)));
            services.AddSingleton <AffiliateCategoryDomainService>();
            services.AddSingleton <AffiliateCategoryKafkaConsumer>();
            // Coupon
            services.AddSingleton <CouponMongoDbRepository>();
            services.AddSingleton <ICouponRepository>(provider => (CouponMongoDbRepository)provider.GetService(typeof(CouponMongoDbRepository)));
            services.AddSingleton <AffiliateCouponMatchesMongoDbRepository>();
            services.AddSingleton <IAffiliateCouponMatchesRepository>(provider => (AffiliateCouponMatchesMongoDbRepository)provider.GetService(typeof(AffiliateCouponMatchesMongoDbRepository)));
            services.AddSingleton <AffiliateCouponDomainService>();
            services.AddSingleton <AffiliateCouponKafkaConsumer>();
        }
    /// <summary>
    /// Initializes all the advertisers from the plugin
    /// Should be called only once at the beginning of your app
    /// </summary>
    public void Initialize()
    {
        if (initialized == false)
        {
            adSettings = Resources.Load <AdSettings>("AdSettingsData");
            if (adSettings == null)
            {
                Debug.LogError("Gley Ads Plugin is not properly configured. Go to Window->Gley->Ads to set up the plugin. See the documentation");
                return;
            }
            bannerMediation       = adSettings.bannerMediation;
            interstitialMediation = adSettings.interstitialMediation;
            rewardedMediation     = adSettings.rewardedMediation;
            debug       = adSettings.debugMode;
            initialized = true;

            AdvertiserSettings currentAdvertiser = adSettings.advertiserSettings.FirstOrDefault(cond => cond.advertiser == SupportedAdvertisers.Admob);
            if (currentAdvertiser != null)
            {
                if (currentAdvertiser.useSDK)
                {
                    allAdvertisers.Add(new Advertiser(go.AddComponent <CustomAdmob>(), adSettings.GetAdvertiserSettings(SupportedAdvertisers.Admob), adSettings.GetPlaftormSettings(SupportedAdvertisers.Admob)));
                }
            }

            currentAdvertiser = adSettings.advertiserSettings.FirstOrDefault(cond => cond.advertiser == SupportedAdvertisers.Vungle);
            if (currentAdvertiser != null)
            {
                if (currentAdvertiser.useSDK)
                {
                    allAdvertisers.Add(new Advertiser(go.AddComponent <CustomVungle>(), adSettings.GetAdvertiserSettings(SupportedAdvertisers.Vungle), adSettings.GetPlaftormSettings(SupportedAdvertisers.Vungle)));
                }
            }

            currentAdvertiser = adSettings.advertiserSettings.FirstOrDefault(cond => cond.advertiser == SupportedAdvertisers.AdColony);
            if (currentAdvertiser != null)
            {
                if (currentAdvertiser.useSDK)
                {
                    allAdvertisers.Add(new Advertiser(go.AddComponent <CustomAdColony>(), adSettings.GetAdvertiserSettings(SupportedAdvertisers.AdColony), adSettings.GetPlaftormSettings(SupportedAdvertisers.AdColony)));
                }
            }

            currentAdvertiser = adSettings.advertiserSettings.FirstOrDefault(cond => cond.advertiser == SupportedAdvertisers.Chartboost);
            if (currentAdvertiser != null)
            {
                if (currentAdvertiser.useSDK)
                {
                    allAdvertisers.Add(new Advertiser(go.AddComponent <CustomChartboost>(), adSettings.GetAdvertiserSettings(SupportedAdvertisers.Chartboost), adSettings.GetPlaftormSettings(SupportedAdvertisers.Chartboost)));
                }
            }

            currentAdvertiser = adSettings.advertiserSettings.FirstOrDefault(cond => cond.advertiser == SupportedAdvertisers.Unity);
            if (currentAdvertiser != null)
            {
                if (currentAdvertiser.useSDK)
                {
                    allAdvertisers.Add(new Advertiser(go.AddComponent <CustomUnityAds>(), adSettings.GetAdvertiserSettings(SupportedAdvertisers.Unity), adSettings.GetPlaftormSettings(SupportedAdvertisers.Unity)));
                }
            }

            currentAdvertiser = adSettings.advertiserSettings.FirstOrDefault(cond => cond.advertiser == SupportedAdvertisers.Heyzap);
            if (currentAdvertiser != null)
            {
                if (currentAdvertiser.useSDK)
                {
                    allAdvertisers.Add(new Advertiser(go.AddComponent <CustomHeyzap>(), adSettings.GetAdvertiserSettings(SupportedAdvertisers.Heyzap), adSettings.GetPlaftormSettings(SupportedAdvertisers.Heyzap)));
                }
            }

            currentAdvertiser = adSettings.advertiserSettings.FirstOrDefault(cond => cond.advertiser == SupportedAdvertisers.AppLovin);
            if (currentAdvertiser != null)
            {
                if (currentAdvertiser.useSDK)
                {
                    allAdvertisers.Add(new Advertiser(go.AddComponent <CustomAppLovin>(), adSettings.GetAdvertiserSettings(SupportedAdvertisers.AppLovin), adSettings.GetPlaftormSettings(SupportedAdvertisers.AppLovin)));
                }
            }

            currentAdvertiser = adSettings.advertiserSettings.FirstOrDefault(cond => cond.advertiser == SupportedAdvertisers.Facebook);
            if (currentAdvertiser != null)
            {
                if (currentAdvertiser.useSDK)
                {
                    allAdvertisers.Add(new Advertiser(go.AddComponent <CustomFacebook>(), adSettings.GetAdvertiserSettings(SupportedAdvertisers.Facebook), adSettings.GetPlaftormSettings(SupportedAdvertisers.Facebook)));
                }
            }

            currentAdvertiser = adSettings.advertiserSettings.FirstOrDefault(cond => cond.advertiser == SupportedAdvertisers.MoPub);
            if (currentAdvertiser != null)
            {
                if (currentAdvertiser.useSDK)
                {
                    allAdvertisers.Add(new Advertiser(go.AddComponent <CustomMoPub>(), adSettings.GetAdvertiserSettings(SupportedAdvertisers.MoPub), adSettings.GetPlaftormSettings(SupportedAdvertisers.MoPub)));
                }
            }

            currentAdvertiser = adSettings.advertiserSettings.FirstOrDefault(cond => cond.advertiser == SupportedAdvertisers.IronSource);
            if (currentAdvertiser != null)
            {
                if (currentAdvertiser.useSDK)
                {
                    allAdvertisers.Add(new Advertiser(go.AddComponent <CustomIronSource>(), adSettings.GetAdvertiserSettings(SupportedAdvertisers.IronSource), adSettings.GetPlaftormSettings(SupportedAdvertisers.IronSource)));
                }
            }

            if (debug)
            {
                ScreenWriter.Write("User GDPR consent is set to: " + GetConsent(userConsent));
                ScreenWriter.Write("User CCPA consent is set to: " + GetConsent(ccpaConsent));
            }

            for (int i = 0; i < allAdvertisers.Count; i++)
            {
                allAdvertisers[i].advertiserScript.InitializeAds(GetConsent(userConsent), GetConsent(ccpaConsent), allAdvertisers[i].platformSettings);
            }

            ApplySettings();

            LoadFile();
        }
    }