private void InitialiseGoogleAnalytics(AdRotator.AdProviderConfig.SupportedPlatforms platform) { if (!string.IsNullOrEmpty(GoogleAnalyticsId)) { if (GoogleAnalyticsControl == null) { switch (platform) { case AdRotator.AdProviderConfig.SupportedPlatforms.WindowsPhone7: GoogleAnalyticsControlType = reflectionHelper.TryGetType("GoogleAnalyticsTracker.WP7", "GoogleAnalyticsTracker.Tracker"); break; case AdRotator.AdProviderConfig.SupportedPlatforms.WindowsPhone8: GoogleAnalyticsControlType = reflectionHelper.TryGetType("GoogleAnalyticsTracker.WP8", "GoogleAnalyticsTracker.WP8.Tracker"); break; case AdRotator.AdProviderConfig.SupportedPlatforms.Windows8: GoogleAnalyticsControlType = reflectionHelper.TryGetType("GoogleAnalyticsTracker.WinRT", "GoogleAnalyticsTracker.Tracker"); break; } if (GoogleAnalyticsControlType != null) { GoogleAnalyticsControl = Activator.CreateInstance(GoogleAnalyticsControlType, new object[2] { GoogleAnalyticsId, "AdRotator" }); } } TrackAnalytics += TrackGoogleAnalytics; } }
internal void InitialiseAnalytics(AdRotator.AdProviderConfig.SupportedPlatforms platform) { if (!string.IsNullOrEmpty(GoogleAnalyticsId)) { InitialiseGoogleAnalytics(platform); } if (!string.IsNullOrEmpty(FlurryAnalyticsId) && FlurryAnalyticsControl != null) { InitialiseFlurryAnalytics(platform); } AnalyticsInitilised = true; }
private void InitialiseFlurryAnalytics(AdRotator.AdProviderConfig.SupportedPlatforms platform) { if (!string.IsNullOrEmpty(FlurryAnalyticsId)) { if (FlurryAnalyticsControl != null) { FlurryAnalyticsControlType = reflectionHelper.TryGetType("FlurryWP8SDK", "FlurryWP8SDK.Api"); reflectionHelper.TryInvokeMethod(FlurryAnalyticsControlType, null, "StartSession", new object[] { FlurryAnalyticsId }); TrackAnalytics += TrackFlurryAnalytics; } } }
internal object GetProviderFrameworkElement(AdRotator.AdProviderConfig.SupportedPlatforms platform, AdProvider adProvider) { var provider = adProvider.AdProviderConfigValues[platform]; Type providerType = null; object instance; try { if (PlatformAdProviderComponents.ContainsKey(adProvider.AdProviderType)) { providerType = PlatformAdProviderComponents[adProvider.AdProviderType]; } else { providerType = reflectionHelper.TryGetType(provider.AssemblyName, provider.ElementName); } } catch (PlatformNotSupportedException) { AdFailed(adProvider.AdProviderType); } if (providerType == null) { return(null); } try { instance = Activator.CreateInstance(providerType); if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AppId)) { reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AppId], adProvider.AppId.ToString()); } if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.SecondaryId)) { reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.SecondaryId], adProvider.SecondaryId.ToString()); } if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdType)) { reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdType], "IaAdType_Banner"); } if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.IsTest)) { reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.IsTest], adProvider.IsTest.ToString()); } if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdWidth)) { reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdWidth], AdWidth.ToString()); } if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdHeight)) { reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdHeight], AdHeight.ToString()); } if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.Size)) { reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.Size], AdWidth.ToString() + "x" + AdHeight.ToString()); } #if DEBUG if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.ShowErrors)) { reflectionHelper.TrySetProperty(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.ShowErrors], "true"); } #endif if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdSuccessEvent)) { WireUpDelegateEvent(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdSuccessEvent], string.Format("Ads served for: {0}", _settings.CurrentAdType.ToString())); } if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdFailedEvent)) { WireUpDelegateEvent(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdFailedEvent], string.Format("Ad failed request for: {0}", _settings.CurrentAdType.ToString())); } if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.AdClickedEvent)) { WireUpDelegateEvent(instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.AdClickedEvent], string.Format("Ad clicked for: {0}", _settings.CurrentAdType.ToString())); } if (provider.ConfigurationOptions.ContainsKey(AdProviderConfig.AdProviderConfigOptions.StartMethod)) { reflectionHelper.TryInvokeMethod(providerType, instance, provider.ConfigurationOptions[AdProviderConfig.AdProviderConfigOptions.StartMethod]); } } catch (PlatformNotSupportedException) { OnLog(string.Format("Configured provider {0} not found in this installation", adProvider.AdProviderType.ToString())); AdFailed(adProvider.AdProviderType); return(null); } catch (NotImplementedException) { OnLog(string.Format("Configured provider {0} is not fully implemented yet", adProvider.AdProviderType.ToString())); AdFailed(adProvider.AdProviderType); return(null); } catch (Exception e) { OnLog(string.Format("General exception [{0}] occured, continuing", e.InnerException.ToString())); AdFailed(adProvider.AdProviderType); return(null); } OnLog(string.Format("Ad created for provider {0}", adProvider.AdProviderType.ToString())); return(instance); }