admin
2019-09-25 28a0efc6ec16f3f82eb8e16e87269300d6744fd4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package com.yeshi.fanli.util.ad;
 
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
 
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.StringUtil;
 
import com.yeshi.fanli.dto.ad.DouYinUserActionInfoDTO;
 
public class DouYinAdUtil {
 
    public final static String SIGN_KEY = "TuXUwRE-aosga-mno-LTxzgvSbhrkUKbK";
 
    // 上传用户行为
    private static void postUserAction(DouYinUserActionInfoDTO info, String signKey) {
        String url = "http://ad.toutiao.com/track/activate/";
        Map<String, String> map = new HashMap<>();
        map.put("callback", info.getCallback());
        map.put("muid", info.getMuid());
        map.put("imei", info.getImei());
        map.put("idfa", info.getIdfa());
        map.put("os", info.getOs() + "");
        map.put("source", info.getSource());
        map.put("conv_time", info.getConvTime() + "");
        map.put("event_type", info.getEventType() + "");
 
        url += "?";
        for (Iterator<String> its = map.keySet().iterator(); its.hasNext();) {
            String key = its.next();
            url += key + "=" + map.get(key) + "&";
        }
 
        if (url.endsWith("&"))
            url = url.substring(0, url.length() - 1);
        String sign = StringUtil.Md5(url + signKey);
        url += "&sign=" + sign;
        System.out.println(url);
        String result = HttpUtil.get(url);
        System.out.println(result);
    }
 
    /**
     * 激活
     * 
     * @param callBack
     */
    public static void activeAndroid(String callBack, String imei, Long convTime) {
        DouYinUserActionInfoDTO info = new DouYinUserActionInfoDTO(callBack, StringUtil.Md5(imei), 0,
                convTime == null ? System.currentTimeMillis() / 1000 : convTime / 1000,
                DouYinUserActionInfoDTO.EVENT_TYPE_ACTIVE);
        postUserAction(info, SIGN_KEY);
    }
 
    public static void activeIOS(String callBack, String idfa, Long convTime) {
        DouYinUserActionInfoDTO info = new DouYinUserActionInfoDTO(callBack, idfa, 1,
                convTime == null ? System.currentTimeMillis() / 1000 : convTime / 1000,
                DouYinUserActionInfoDTO.EVENT_TYPE_ACTIVE);
        postUserAction(info, SIGN_KEY);
    }
 
    /**
     * 注册
     */
    public static void registerAndroid(String callBack, String imei, Long convTime) {
        DouYinUserActionInfoDTO info = new DouYinUserActionInfoDTO(callBack, StringUtil.Md5(imei), 0,
                convTime == null ? System.currentTimeMillis() / 1000 : convTime / 1000,
                DouYinUserActionInfoDTO.EVENT_TYPE_REGISTER);
        postUserAction(info, SIGN_KEY);
    }
 
    public static void registerIOS(String callBack, String idfa, Long convTime) {
        DouYinUserActionInfoDTO info = new DouYinUserActionInfoDTO(callBack, idfa, 1,
                convTime == null ? System.currentTimeMillis() / 1000 : convTime / 1000,
                DouYinUserActionInfoDTO.EVENT_TYPE_REGISTER);
        postUserAction(info, SIGN_KEY);
    }
 
    /**
     * 有效下单
     */
 
    public static void validOrderAndroid(String callBack, String imei, Long convTime) {
        DouYinUserActionInfoDTO info = new DouYinUserActionInfoDTO(callBack, StringUtil.Md5(imei), 0,
                convTime == null ? System.currentTimeMillis() / 1000 : convTime / 1000,
                DouYinUserActionInfoDTO.EVENT_TYPE_ORDER);
        postUserAction(info, SIGN_KEY);
    }
 
    public static void validOrderIOS(String callBack, String idfa, Long convTime) {
        DouYinUserActionInfoDTO info = new DouYinUserActionInfoDTO(callBack, idfa, 1,
                convTime == null ? System.currentTimeMillis() / 1000 : convTime / 1000,
                DouYinUserActionInfoDTO.EVENT_TYPE_ORDER);
        postUserAction(info, SIGN_KEY);
    }
 
    /**
     * 次日留存
     */
 
    public static void retainedAndroid(String callBack, String imei, Long convTime) {
        DouYinUserActionInfoDTO info = new DouYinUserActionInfoDTO(callBack, StringUtil.Md5(imei), 0,
                convTime == null ? System.currentTimeMillis() / 1000 : convTime / 1000,
                DouYinUserActionInfoDTO.EVENT_TYPE_CILIU);
        postUserAction(info, SIGN_KEY);
    }
 
    public static void retainedIOS(String callBack, String idfa, Long convTime) {
        DouYinUserActionInfoDTO info = new DouYinUserActionInfoDTO(callBack, idfa, 1,
                convTime == null ? System.currentTimeMillis() / 1000 : convTime / 1000,
                DouYinUserActionInfoDTO.EVENT_TYPE_CILIU);
        postUserAction(info, SIGN_KEY);
    }
 
}