Abstract factory pattern for implementing AdNetworks on multiple platforms
It looks a lot like some service with platform dependent implementation. You might use a dependency injection pattern or service locator pattern.


I think factory is not quite great as a solution cause you will not create different implementations in a single application run. Also that is not great if you need this Controller to be created only once.


While it depends directly on your implementations and functionality of this service I will go with some interface. Further if implementations share same code then you might use an abstract base class to put that part of logic in it.