我是一名移动网络开发者,并尝试通过移动广告服务从我的流量中获利,但我遇到了问题.
首先,为了获得大部分广告,您通常需要向广告公司的服务器提出服务器端请求,而且广告服务很少.如果要在一个站点中使用它们,问题就会开始.
所有人都有不同的服务器端呼叫方法,并且尝试维护和实施这些广告代码会在一段时间后变得很痛苦.
所以我决定写一个类系统,我可以简单地为每个公司创建方法并将其上传到我的网站.
到目前为止,我有使用GetAd方法的公共广告类公共AdPublisher类,它返回一个广告公共Adservice类,其服务名称为枚举
我还将我用于所有广告服务的服务器请求代码转换为类.
它工作正常,但我希望能够创建一个广告服务类上传它,以便asp.net应用程序可以像插件系统一样自动导入/识别它.
因为我是.net的新手,我不知道从哪里开始或者怎么做.
为了清楚起见,这是我的课程
namespace Mobile.Publisher
{
public class AdPublisher
{
public AdPublisher()
{
IsTest = false;
}
public bool IsTest { get; set; }
public HttpRequest CurrentVisitorRequestInfo { get; set; }
public Advert GetAd(AdService service)
{
Advert returnAd = new Advert();
returnAd.Success = true;
if (this.CurrentVisitorRequestInfo == null)
{
throw new Exception("CurrentVisitorRequestInfo for AdPublisher not set!");
}
if (service == null)
{
throw new Exception("AdService not set!");
}
if (service.ServiceName == AdServices.Admob)
{
returnAd.ReturnedAd = AdmobAds("000000");
}
return returnAd;
}
}
public enum AdServices
{
Admob,
ServiceB,
ServiceC
}
public class Advert
{
public bool Success { get; set; }
public string ReturnedAd { get; set; }
}
public partial class AdService
{
public AdServices ServiceName { get; set; }
public string PublisherOrSiteId { get; set; }
public string ZoneOrChannelId { get; set; }
}
private string AdmobAds(string publisherid)
{
//snip
return "test"
}
}
Run Code Online (Sandbox Code Playgroud)
基本上我希望能够添加其他广告服务和代码
private string AdmobAds(string publisherid){
}
Run Code Online (Sandbox Code Playgroud)
这样它就可以导入并识别为广告服务.
我希望我很清楚
这似乎是一个非常模糊/一般的问题,考虑到你提到你不熟悉.NET,我想我会指出你在Managed Extensibility Framework的方向.这是一个官方的Micrsoft库,用于创建插件/插件系统(它就像一个专门的控制反转框架).请注意,在.NET 4.0中,它实际上是框架基类库的一部分.在加载项和扩展性方面还有一个很棒的MSDN页面- 与System.AddIn命名空间相关 - 您可能会发现它非常有用.
| 归档时间: |
|
| 查看次数: |
168 次 |
| 最近记录: |