Ads C++
AdService.h
1 #pragma once
2 
3 #include "AdBanner.h"
4 #include "AdInterstitial.h"
5 
6 namespace ludei { namespace ads {
7 
11  enum class AdProvider {
12  /*
13  * Automatic. The provider is automatically selected depending on linked classes.
14  */
15  AUTO,
19  MOPUB,
23  ADMOB
24  };
25 
30 
34  std::string banner;
35 
39  std::string interstitial;
40 
44  std::string bannerTablet;
45 
49  std::string interstitialTablet;
50  };
51 
55  class AdService {
56  public:
57 
58  virtual ~AdService(){};
59 
66  static AdService * create(AdProvider provider = AdProvider::AUTO);
67 
74  static AdService * create(const char * className);
75 
81  virtual void configure(const AdServiceSettings & settings) = 0;
82 
88  virtual AdBanner * createBanner(const char * adunit = 0, AdBannerSize size = AdBannerSize::SMART_SIZE) = 0;
89 
95  virtual AdInterstitial * createInterstitial(const char * adunit = 0) = 0;
96  };
97 
98 } }
Definition: AdService.h:6
Definition: AdInterstitial.h:12
Definition: AdBanner.h:52
std::string bannerTablet
Definition: AdService.h:44
Definition: AdService.h:29
virtual AdBanner * createBanner(const char *adunit=0, AdBannerSize size=AdBannerSize::SMART_SIZE)=0
std::string interstitialTablet
Definition: AdService.h:49
Definition: AdService.h:55
static AdService * create(AdProvider provider=AdProvider::AUTO)
std::string banner
Definition: AdService.h:34
virtual AdInterstitial * createInterstitial(const char *adunit=0)=0
std::string interstitial
Definition: AdService.h:39
virtual void configure(const AdServiceSettings &settings)=0