Пример #1
0
        public static void ConfigureSdks(GameGrowthConfigurationAsset gameGrowthConfiguration)
        {
            if (gameGrowthConfiguration == null)
            {
                Debug.LogWarning(k_CannotAutoConfigureLog);
                return;
            }

            var isFullIntegration = IntegrationLevelExtensions.IsFull(IntegrationLevelExtensions.GetParsedIntegrationLevel(gameGrowthConfiguration.projectSummary.integrationLevel));

            ApplyDeltaDnaConfiguration(gameGrowthConfiguration);

            if (isFullIntegration)
            {
#if GAMEGROWTH_ADMOB
                ApplyAdMobConfiguration(gameGrowthConfiguration);
#endif

#if GAMEGROWTH_UNITY_MONETIZATION
                EnableUnityMonetizationRequiredAdapters();
                ApplyAdMobConfigurationForUnityMonetization(gameGrowthConfiguration);
#endif

#if GAMEGROWTH_FACEBOOK_SDK
                ApplyFacebookConfiguration(gameGrowthConfiguration);
#endif
            }

            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
        }
Пример #2
0
        static void ApplyFacebookConfiguration(GameGrowthConfigurationAsset gameGrowthConfiguration)
        {
            if (FacebookSettings.AppIds != null && FacebookSettings.AppIds.Count > 0)
            {
                FacebookSettings.AppIds[0] = gameGrowthConfiguration.projectSummary.providers.facebook.appId;
            }

            EditorUtility.SetDirty(FacebookSettings.Instance);
        }
Пример #3
0
        static void ApplyAdMobConfiguration(GameGrowthConfigurationAsset gameGrowthConfiguration)
        {
            var config = AdMobConfiguration.LoadMainAsset();

            if (config != null)
            {
                config.androidAppId = gameGrowthConfiguration.projectSummary.providers.admob.appId.androidValue;
                config.iOSAppId     = gameGrowthConfiguration.projectSummary.providers.admob.appId.iOSValue;

                EditorUtility.SetDirty(config);
            }
        }
Пример #4
0
        static void ApplyDeltaDnaConfiguration(GameGrowthConfigurationAsset gameGrowthConfiguration)
        {
            DeltaDNA.Configuration config = null;

            var ddnaConfigSerializer = new XmlSerializer(
                typeof(DeltaDNA.Configuration),
                new XmlRootAttribute("configuration"));

            if (File.Exists(k_DeltaDnaConfigPath))
            {
                using (var stringReader = new StringReader(File.ReadAllText(k_DeltaDnaConfigPath)))
                {
                    using (var xmlReader = XmlReader.Create(stringReader))
                    {
                        config = ddnaConfigSerializer.Deserialize(xmlReader) as DeltaDNA.Configuration;
                    }
                }
            }
            else
            {
                config = new DeltaDNA.Configuration();
            }

            config.environmentKeyDev  = gameGrowthConfiguration.projectSummary.providers.ddna.devKey.value;
            config.environmentKeyLive = gameGrowthConfiguration.projectSummary.providers.ddna.liveKey.value;
            config.collectUrl         = gameGrowthConfiguration.projectSummary.providers.ddna.collect;
            config.engageUrl          = gameGrowthConfiguration.projectSummary.providers.ddna.engage;

            using (var stringWriter = new StringWriter())
            {
                using (XmlWriter xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings()
                {
                    Indent = true
                }))
                {
                    ddnaConfigSerializer.Serialize(xmlWriter, config);
                    File.WriteAllText(k_DeltaDnaConfigPath, stringWriter.ToString());
                }
            }
        }
Пример #5
0
 static void InitializationCallback(GameGrowthConfigurationAsset gameGrowthConfiguration)
 {
     ConfigureSdks(gameGrowthConfiguration);
 }
Пример #6
0
 static void ApplyAdMobConfigurationForUnityMonetization(GameGrowthConfigurationAsset gameGrowthConfiguration)
 {
     AdMobConfigurationHelper.SetAdMobConfigurationForUnityMonetization(
         gameGrowthConfiguration.projectSummary.providers.admob.appId.androidValue,
         gameGrowthConfiguration.projectSummary.providers.admob.appId.iOSValue);
 }