admin
2021-09-30 42411e4a26461229c6bca6e89ca55e98a80f5a4e
fanli/src/main/java/com/yeshi/fanli/util/ad/DouYinAdUtil.java
@@ -1,115 +1,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;
      String result = HttpUtil.post(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);
   }
}
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);
   }
}