0871-63333123
当前位置:首页 > 动态 >技术文章

OpenX 三大模块简单分析

网站建设开发中OpenX三大模块的简单分析


1. Delivery Engine 广告推送模块


2. Maintenance

2.1 MSE (Maintenance Statistics Engine)

2.2 MPE (Maintenance Priority Engine)


3. Statistics 报表


-------------------------------------------------------------


=== Delivery Engine ===

1. 相关文件


1.1 /www/delivery/(此目录下的文件是经过"预编译"的,源文件可以其官方SVNhttps://svn.openx.org/openx/trunk的 www/delivery_dev 目录里找到)


1.2/lib/max/Delivery

1.3/lib/OA/Dal/Delivery

1.4/plugins/ Delivery开头的 Plugin


2. 获取Banner的重要方法


总体流程( 输入zoneid )

| 广告请求 -->

| 初始化相关系统信息 -->

| 入口 [ MAX_adSelect() , /lib/max/Delivery/adSelect.php ]-->


| 调用方法 [ _adSelectZone() ] -->


---| 01 根据zoneid找到此zone的相关信息( cache或数据库)[MAX_cacheGetZoneInfo] -->

---| 02 判断此zone是否有Cap等限制条件 [MAX_limitationsIsZoneForbidden],如果满足,返回 01, 继续下一个zoneid -->

---| 获取所有与此zone linked 的 banner [MAX_cacheGetZoneLinkedAdInfos() ] -->


---| 获取一个广告[_adSelectCommon()] -->

---|---| 调用 preAdSelect hook (默认是没有这类hook的)-->

---|---| 根据banner所在的campaign的类型选择广告 [ _adSelectInnerLoop() ]-->


---|---| 获取一组广告[ _adSelect() ] -->

---|---|---|去除不满足条件的广告[ _adSelectDiscardNonMatchingAds()]

---|---|---|根据广告过期时间,Cap, ACLs等去除广告[ _adSelectCheckCriteria()]


---|---|---|---| 广告Cap [ MAX_limitationsIsAdForbidden() ]-->

---|---|---|---| 广告ACLs,如时段、地域、频道、关键字、网站等 [MAX_limitationsCheckAcl() ] ->

---|---|---|---|---| MAX_limitationsCheckAcl方法,会调用/plugins/deliveryLimitations/ 的相关插件


---|---|---| _adSelect()方法里再根据广告的权重,随机选择一个广告返回


| 记录request, 如果配置要求记录广告请求数的话

| 显示广告

| 记录impression -> lg.php ->返回一个1X1 gif pixel


3. 记录广告impression, click

默认的请求是lg.php, ck.php


4. 如何增加自定义的广告推送限制条件?deliveryLimitations Extension

https://developer.openx.org/wiki/display/COMM/deliveryLimitations+Extension


5. 如何记录广告IP,UV?

可实现 logImpression和logClickExtension。

https://developer.openx.org/wiki/display/COMM/deliveryLog+Extension

 

OpenX 三大模块简单分析_昆明网站建设

 

OpenX 三大模块简单分析_昆明网站建设