12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- # coding=utf-8
- def generateAdmob5FloorStrategy(ad_id_arr):
- """ 5层 的admob的请求策略,从中间第3层开始请求
- :param ad_id_arr: [am_5, am_4, am_3, am_2, am_1]
- :return: 策略json
- """
- platform = "admob"
- return {
- "root": ad_id_arr[2],
- "strategy": {
- ad_id_arr[2]: {
- "suc": 1,
- "fail": 1,
- "platform": platform,
- "suc_next": ad_id_arr[4],
- "fail_next": ad_id_arr[1],
- },
- ad_id_arr[4]: {
- "suc": 2,
- "fail": 1,
- "platform": platform,
- "fail_next": ad_id_arr[3],
- },
- ad_id_arr[3]: {
- "suc": 2,
- "fail": 2,
- "platform": platform,
- },
- ad_id_arr[1]: {
- "suc": 2,
- "fail": 1,
- "platform": platform,
- "fail_next": ad_id_arr[0],
- },
- ad_id_arr[0]: {
- "suc": 2,
- "fail": 2,
- "platform": platform,
- },
- }
- }
- def generate_ordered_floor_strategy(ad_id_arr, platform):
- """ 按顺序生成策略
- :param ad_id_arr: [] 从小到大 [fb_4, fb_3, fb_2]
- :param platform: string 平台
- :return: json 策略
- """
- dic_strategy = {}
- # 每一个
- for i in range(1, len(ad_id_arr)):
- dic_strategy[ad_id_arr[i]] = {
- "suc": 2,
- "fail": 1,
- "fail_next": ad_id_arr[i - 1],
- "platform": platform
- }
- # 最后一个
- dic_strategy[ad_id_arr[0]] = {
- "suc": 2,
- "fail": 2,
- "platform": platform
- }
- # 组装一下
- return {
- "root": ad_id_arr[-1],
- "strategy": dic_strategy
- }
- def generator_pool(ad_id_arr, priority_arr):
- # type: (list, list) -> dict
- """ 生成池子
- 两个数组必须一一对应
- :param ad_id_arr: []
- :param priority_arr: []
- :return: {ad_1: 2, ad_2: 1}
- """
- dic = {}
- for i in range(0, len(ad_id_arr)):
- ad_id = ad_id_arr[i]
- priority = priority_arr[i]
- dic[ad_id] = priority
- return dic
|