## 项目设计
### 设计草图
图一
![](https://box.kancloud.cn/4e190f998bedf72b19da2c4c082487b9_1280x950.jpg)
图二
![](https://box.kancloud.cn/9c853c09e040c86082c0add59e032439_1280x950.jpg)
### 流程设计
1. 平台发布一期广告(发起者/创建者为:平台)
1. 设置流量主报名门槛(公众号的粉丝量须达到多少,允许参加的公众号类型)
2. 设置1 ~ 16个广告位的定价
3. 设置流量主报名时间段(`2017-5-22 08:00:00 - 2017-5-22-10:00:00`)
4. 设置广告主报名/投放(购买广告位)时间段(`2017-5-22 10:00:00 - 2017-5-22 12:00:00`)
5. 设置这一期广告的操作截止时间(`2017-5-22 13:00:00`)
6. 设置这一期广告的发布时间(`2017-5-22 14:00:00`)
2. 流量主报名
3. 广告商报名,并开始选择广告位投放广告(先报名,报名了才能投放广告)
4. 流量主 & 广告商 的调整时间
5. 进入锁定时间
6. 进入发布时间
7. 系统后台人工发布或者自动发布
8. 系统检测
9. 推送
10. 结算,完成
* * * * *
### 其他重要细节说明
~~~
流程/概念/细节说明:
1. 流量主只能在报名时间段内报名,其它时间报名通道自动关闭,就不能再报名
2. 广告主只能在报名/投放时间段内报名/投放,其它时间报名/投放通道自动关闭,就不能再报名/投放(注意这里是报名/投放)
3. 调整时间 = 广告主报名/投放结束时间 至 操作截止时间 (2017-5-22 12:00:00 - 2017-5-22 13:00:00)
- 调整时间可以:
- 流量主可以选择不认可的广告 —— 公众号挑流量主(广告)
- 广告主可以屏蔽的不想投放的流量主(公众号),注意不能够再改变广告位了 —— 流量主(广告)挑公众号
5. 锁定时间 = 操作截止时间 至 发布时间 (2017-5-22 13:00:00 - 2017-5-22 14:00:00)
6 锁定时间:
- 流量主报名已完毕(流量主报名结束时就已完毕)
- 流量主想屏蔽的广告位设置完毕(调整时间段就已完毕)
- 列出我将要推送的每条广告,价格,以及每条广告的广告商
- 计算出流量主预计(最大)收益,推广粉丝数,供浏览(生成效果报表)
- 广告商报名/投放已完毕(广告商报名/投放结束时就已完毕)
- 广告商想屏蔽的流量主(公众号)设置完毕(调整时间段就已完毕)
- 列出我投放的广告位,广告,价格,以及每个广告位的推广流量主(公众号)
- 计算出广告商预计(最大)费用,推广人次,供浏览(生成效果报表)
7. 锁定时间,所有通道、入口都被锁定,不能在进行任何操作
- 系统会检查广告商参与资格,余额是否充足等,对于不合格的广告商及时联系和清退
- 系统会检查流量主信息(待完善考虑)
8. 流量主(公众号)报名资格控制:
- 报名前的一个小时内系统强制公众号必须拉取一次粉丝数量(这个报名时间是实际操作报名时间,而不是报名开始或结束时间)
- 一个小时内已经拉取过的话就不在拉取(防止频繁操作这种拉取粉丝的耗时接口)
9. 资金,费用结算问题:
- 所有的费用,收益都只会在成功推送了广告才会计算
- 对于广告商来说,每条广告(广告位)被每个流量主(公众号)推送成功才会产生实际的费用
- 对于流量主(公众号)来说,成功推送出每一条广告(广告位)才会产生实际的收益
10. 报名的意思:
- 对于流量主(公众号)来说,报名意味着接受所有满足条件的(投放了广告,且没有屏蔽我,而我也没有屏蔽它)广告位的广告,当然,在调整时间段可以有选择性的屏蔽某些广告
- 对于广告商来说,报名(和流量主不同,报名只是个形式而已,还需要选择广告位投放广告位才行)意味着,投放一个广告位默认会投放到所有满足条件的(报名,且没有屏蔽我,而我也没有屏蔽它)流量主(公众号)上去,当然,在调整时间段可以有选择性的屏蔽不想要的 流量主(公众号)
11. 对于广告商如果想提现,则需要有一个提现周期的控制,因为要防止和他的广告投放付费产生冲突,需要控制好。
12. 涉及到重要的操作以及资金变化操作,要有必要的日志。每一步重要流程,操作,状态都有日志,广告期日志贯穿整个流程,整个广告的生命周期
~~~
**广告商报名问题**
广告商需要先在后台添加广告文案,投放广告时选择一个文案,投放成功后此文案被锁定,不能再被修改,取消投放时文案才被解锁,这么做的原因是因为,调整阶段,公众号就是看广告的内容合不合适,如果确定后还能改那就没意义了。**也就是说广告内容随着广告投放通道的关闭而锁定。**
**调整有什么用?**
当所有公众号确定后,广告也确定后,公众号可以选择他不想发的某些广告,同样广告商也可以选择不想让谁发他的广告,仔细想一下这个需求,比如公众号不喜欢某类的文章广告,觉得与他的公众号属性不符,粉丝群体不符,或者广告商不喜欢某种类型的公众号,毕竟一切要以用户为主,公众号既要赚钱又要维护粉丝的利益,广告商则想利益最大化,成本最小化,所以这个“调整”的需求其实挺重要的。
调整很重要,但也有副作用:
“调整”会带来广告位“空位”的问题,如1空位,那么2就会在1那儿,但用的钱还是2的钱哦。
如果广告位出现空位,且空位数小于8(没有全部空)的情况下,可以在最后补一个比如:“没关注这些你就out了的文章”(让粉丝都相互关注,增强粉丝数量),或者实现一些替补机制,反正要最大利用每天的推送机会,不能够浪费了。
>[danger] 其实这个可以让公众号自己准备文案,他也想发自己的。不能以广告为主,否则伤害了用户,大家全部完蛋,**帮助公众号经营粉丝,广告商营销,共同创造收入,这才是我们的初衷,不然只会自己作死自己**。
~~~
服务号每个自然月最多有4次群发消息的机会,每次最多8条消息
订阅号每天有1次群发消息的机会,每次最多8条消息
~~~
~~~
1. 广告主a广告a1屏蔽了公众号A,那么A推送的广告A1就没有了,A的推送自然就会少一条消息
2. 同理,公众号A屏蔽了广告a1,那么A推送的消息中就没有A1了,被下面的取代了。
3. TODO: 更极端的情况是广告主屏蔽了所有公众号,或者公众号屏蔽了所有广告位,因此需要有一种机制检测此类问题。【待完善】
~~~
**预计是不考虑“调整”和推送结果的**
调整会降低广告费用和广告收益,预计费用是不考虑调整的,实际费用可能低于预计费用的原因是因为:有一部分调整过了,就没推送消息,有的是推送失败的也不会计算费用很收益的。(这里预计费用和预计推送量等同理,存在同样的情况哦)
广告商报名时要付的钱(冻结)就是按预计算的,预计是最大的,是假设都没屏蔽,都推送成功的最大费用。
**流程说明**
公众号报名 插入 fn_ad_wechat_account_participate表
广告商报名 插入 fn_ad_advertisers_participate 表
广告商报名/投放时,冻结预计费用,并操作 fn_ad_advertisers_order 生成【订单】,进入锁定阶段时,生成【订单条目】和【公众号的订单】,这种模式比较别扭,但是是最好的解决方式,报名时要生成每个公众号的记录,那么显然不合适,所以只能这样。
锁定期间做,所以把这一部成为 【生成预效果报表】其实就是出 【订单条目】和【公众号的订单】,可以让他们提前看到详情信息,最后一步就是要得到推送的反馈结果了,如果没来得及做这一步,推送时也会做的。这一步做时更好,可以提前看到“报表”。
最后推送完毕,根据反馈结果,完善“报表”就可以了。
* * * * *
### 其他玩法
**1. 做一个公众号影响力排行榜列表**
- 公众号的影响力的属性:累计交易量,粉丝量,公众号类型,文章阅读量截图,微信认证,平台加认证,勋章等等
**2. 做一个广告商影响力排行榜列表**
- 广告商的影响力的属性累计交易量,保证金等等
有想法的广告商可以自主邀请公众号参加报名,自助设置广告位出价,还可以让其他公众号自主报名
有想法的流量主可以自主设置广告位定价出售,让广告商来购买广告位,也可以向其他广告商发出邀请
~~~
其实这两类和上面的玩法都一样,这里就涉及到一个“一期广告”是由谁发起的问题了,下面给出:
1. 平台发起的
- 创建者为平台
- 平台定价
- 让广告商和流量主都来报名
2. 广告商发起的
- 创建者为发起广告商
- 创建者自动第一个报名
- 创建者出价
- 创建者可以邀请流量主报名(发送通知消息)
- 流量主(公众号)可以自主报名,但需要需经过创建者审核
3. 流量主发起的
- 创建者为流量主(公众号)
- 创建者自动第一个报名
- 创建者设置广告位定价
- 创建者可以邀请广告商报名(发送通知消息)
- 广告商可以自主报名,但需要创建者审核
TODO: 实际上存在一个问题,一个广告位只能给一个广告商,但是如果此广告商屏蔽了所有流量主(公众号),或者所有流量主都屏蔽了某条广告,那么就会造成空位,但又不能让一个位置给多个广告商家,这样做不好控制,太复杂了。
~~~
**个性化的广告**
XXX你有一分礼物代收哦,XXX可以获取到关注公众号用户的用户名。通过一些技术手段,统一获取到用户的openid是可以做到的。
* * * * *
### 项目技术难点
| 难点 | 难度等级 |
| --- | --- |
| 1. 定时/延时任务的管理 | 5级 |
|2. 系统流程,架构 |4级 |
|3. 公众号图文消息群发推送处理 |2级 |
|4. 微信公众号接口令牌的维护 |1级 |
last update:2017-6-1 12:06:12