最近因为需求需要做按展示竞价的广告系统的后台和客户端 sdk 。
其中通过集成客户端 sdk ,各种 app 可以从广告平台获得广告,并展示,从而帮助开发者和广告平台分账。
遇见一个经典的场景:
https://imgur.com/a/RFHB83E
因为有类似的信息流广告,那为了更流畅
当加载当前 view 的时候,广告 sdk 会一次向服务器请求 3 个广告位的广告信息(每个广告信息包括一张图片和一个链接)。服务器端收到请求后按当前的投放计划排名,锁定了 3 次扣费。
当客户端 view 加载完成时,因为广告 1 和广告 2 在 view 里,所以第一屏自然被显示。因此客户端 sdk 设计的广告显示成功的回调逻辑里,会发请求到服务器确认扣费。
如果用户向下滚动,广告 3 会被展示,从而请求服务器扣费。
如果用户没有向下滚动,广告 3 在服务器端的扣费队列里的锁定在一个时间后会解除锁定。
当前遇到的问题时:
1 ,因为用户不一定会滚动到下面展示广告 3 ,提前锁定的方法,导致了很多时候,如果不锁定可以参与下一次竞价,但是因为锁定了,浪费了的情况。
2 ,用户接电话出去,20 分钟后,再回到 app 向下滚动,这个时候,服务器端已经超时解锁了扣费,这个时候展示,有可能原有的用户的预算已经花完了。。。
不知道,有没有同学有更好的思路~~~
其中通过集成客户端 sdk ,各种 app 可以从广告平台获得广告,并展示,从而帮助开发者和广告平台分账。
遇见一个经典的场景:
https://imgur.com/a/RFHB83E
因为有类似的信息流广告,那为了更流畅
当加载当前 view 的时候,广告 sdk 会一次向服务器请求 3 个广告位的广告信息(每个广告信息包括一张图片和一个链接)。服务器端收到请求后按当前的投放计划排名,锁定了 3 次扣费。
当客户端 view 加载完成时,因为广告 1 和广告 2 在 view 里,所以第一屏自然被显示。因此客户端 sdk 设计的广告显示成功的回调逻辑里,会发请求到服务器确认扣费。
如果用户向下滚动,广告 3 会被展示,从而请求服务器扣费。
如果用户没有向下滚动,广告 3 在服务器端的扣费队列里的锁定在一个时间后会解除锁定。
当前遇到的问题时:
1 ,因为用户不一定会滚动到下面展示广告 3 ,提前锁定的方法,导致了很多时候,如果不锁定可以参与下一次竞价,但是因为锁定了,浪费了的情况。
2 ,用户接电话出去,20 分钟后,再回到 app 向下滚动,这个时候,服务器端已经超时解锁了扣费,这个时候展示,有可能原有的用户的预算已经花完了。。。
不知道,有没有同学有更好的思路~~~