From d793f709103bea2c47a09ba115c28227c15642b5 Mon Sep 17 00:00:00 2001 From: qyx <565485304@qq.com> Date: Wed, 23 Feb 2022 18:23:12 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD](master):?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 新增N个平台监控API接口代码,并完成测试 2. 具体为 百度 巨量 快手 UC VIVO 3. 巨量接口根据链接通配tag --- README.md | 8 +- .../callback/MobileMonitorCallbackAPI.java | 205 +++++++++++++----- .../BaiduMobileMonitorCallbackRequestVO.java | 2 +- ...JuliangMobileMonitorCallbackRequestVO.java | 4 +- ...uaiShouMobileMonitorCallbackRequestVO.java | 43 ++-- .../vo/MobileMonitorCallbackRequestBase.java | 20 ++ .../vo/UcMobileMonitorCallbackRequestVO.java | 2 +- .../VivoMobileMonitorCallbackRequestVO.java | 19 +- ...voMobileMonitorPointCallbackRequestVO.java | 2 +- .../adcallback/config/pojo/BdBackdataDTO.java | 2 + .../adcallback/config/pojo/JlBackdataDTO.java | 2 +- .../config/pojo/KuaiShouBackdataDTO.java | 31 +++ .../adcallback/config/pojo/UcBackdataDTO.java | 1 + .../config/pojo/VivoBackdataDTO.java | 53 +++++ .../pojo/convert/KuaiShouBackdataConvert.java | 44 ++++ .../pojo/convert/VivoBackdataConvert.java | 44 ++++ .../TbKsBackdataEntityRepository.java | 7 + .../TbVivoBackdataEntityRepository.java | 7 + .../repository/entity/TbBdBackdataEntity.java | 16 +- .../repository/entity/TbJlBackdataEntity.java | 4 + .../repository/entity/TbKsBackdataEntity.java | 95 ++++++++ .../repository/entity/TbUcBackdataEntity.java | 145 +------------ .../entity/TbVivoBackdataEntity.java | 105 +++++++++ .../service/AdOriginalityManageService.java | 12 + .../impl/AdOriginalityManageServiceImpl.java | 43 +++- 25 files changed, 658 insertions(+), 258 deletions(-) create mode 100644 src/main/java/com/baiyee/adcallback/api/vo/MobileMonitorCallbackRequestBase.java create mode 100644 src/main/java/com/baiyee/adcallback/config/pojo/KuaiShouBackdataDTO.java create mode 100644 src/main/java/com/baiyee/adcallback/config/pojo/VivoBackdataDTO.java create mode 100644 src/main/java/com/baiyee/adcallback/config/pojo/convert/KuaiShouBackdataConvert.java create mode 100644 src/main/java/com/baiyee/adcallback/config/pojo/convert/VivoBackdataConvert.java create mode 100644 src/main/java/com/baiyee/adcallback/repository/TbKsBackdataEntityRepository.java create mode 100644 src/main/java/com/baiyee/adcallback/repository/TbVivoBackdataEntityRepository.java create mode 100644 src/main/java/com/baiyee/adcallback/repository/entity/TbKsBackdataEntity.java create mode 100644 src/main/java/com/baiyee/adcallback/repository/entity/TbVivoBackdataEntity.java diff --git a/README.md b/README.md index 304e1ff..e41fe17 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ ## 巨量引擎开放平台 - 巨量引擎 https://open.oceanengine.com/doc/index.html?key=ad&type=api&id=1696710655781900#item-link-%E7%A4%BA%E4%BE%8B ## 百度广告投放平台检测 - 百度营销 - https://dev2.baidu.com/content?sceneType=0&pageId=101214&nodeId=15&subhead= + https://dev2.baidu.com/content?sceneType=0&pageId=101213&nodeId=663&subhead= ## 广电通 - 腾讯广告 - https://developers.e.qq.com/docs/guide/conversion/new_version/dianjijiance \ No newline at end of file + https://developers.e.qq.com/docs/guide/conversion/new_version/dianjijiance +## 快手 + https://developers.e.kuaishou.com/docs?docType=DSP&documentId=1942 +## vivo + diff --git a/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java b/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java index 848ae25..2566dee 100644 --- a/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java +++ b/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java @@ -5,12 +5,8 @@ import cn.hutool.core.util.StrUtil; import com.baiyee.adcallback.api.common.CommonResponse; import com.baiyee.adcallback.api.common.ResponseCode; import com.baiyee.adcallback.api.vo.*; -import com.baiyee.adcallback.config.pojo.BdBackdataDTO; -import com.baiyee.adcallback.config.pojo.JlBackdataDTO; -import com.baiyee.adcallback.config.pojo.UcBackdataDTO; -import com.baiyee.adcallback.config.pojo.convert.BdBackdataConvert; -import com.baiyee.adcallback.config.pojo.convert.JlBackdataConvert; -import com.baiyee.adcallback.config.pojo.convert.UcBackdataConvert; +import com.baiyee.adcallback.config.pojo.*; +import com.baiyee.adcallback.config.pojo.convert.*; import com.baiyee.adcallback.service.AdOriginalityManageService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -35,7 +31,7 @@ public class MobileMonitorCallbackAPI { /** * julaing身份验证回调url请求 - * + *
* API文档: * * @@ -74,21 +70,23 @@ public class MobileMonitorCallbackAPI { @RequestParam(value = "TIMESTAMP", defaultValue = "") Long ts, @RequestParam(value = "callback_url", defaultValue = "") String callbackUrl, @RequestParam(value = "model", defaultValue = "") String model, - @RequestParam(value = "caid1", defaultValue = "") String caid12 + @RequestParam(value = "caid1", defaultValue = "") String caid12, + @RequestParam(value = "tag", defaultValue = "") String tag ) { JuliangMobileMonitorCallbackRequestVO vo = new JuliangMobileMonitorCallbackRequestVO( - aid,aidName,advertiserId,cid,ctype,csite,imei,idfa,oaid,os,mac,mac1,ip,geo,ts,callbackUrl,model,caid12 + aid, aidName, advertiserId, cid, ctype, csite, imei, idfa, oaid, os, mac, mac1, ip, geo, ts, callbackUrl, model, caid12 ); if (ObjectUtil.isNull(vo)) { return CommonResponse.createByErrorMessage(ResponseCode.EMPTY_ARGUMENT.getDesc()); } // 请求过滤规则,过滤掉不用的数据 - if (preRuleForReq(vo)){ - log.error("================================= [not right imei data ,{} ] =================================",vo); + if (preRuleForReq(vo)) { + log.error("================================= [not right imei data ,{} ] =================================", vo); return CommonResponse.createBySuccess(); } - log.info("================================= [one request comming, JuliangMobileMonitorCallbackAPI|julaingMonitorUrlCallbackReqUrl, vo is {} ] =================================", vo); + setTag(tag,vo); + log.info("================================= [one request comming, julaingMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo is {} ] =================================", vo); JlBackdataDTO jlBackdataDTO = new JlBackdataDTO(); JlBackdataConvert.voCovertToDTO(vo, jlBackdataDTO); adOriginalityManageService.handleMonitorUrlCallbackDataThenSave(); @@ -103,28 +101,24 @@ public class MobileMonitorCallbackAPI { private boolean preRuleForReq(JuliangMobileMonitorCallbackRequestVO vo) { String imei = vo.getImei(); - if (StrUtil.isBlank(imei)){ + if (StrUtil.isBlank(imei)) { return Boolean.TRUE; } - if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG,imei)){ + if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) { return Boolean.TRUE; } return Boolean.FALSE; } - - - /** * 百度链接监测API: * - * - * + *
+ *
* 监测示例 URL - 广告主填写:
- * http://www.test.com/notice?imei_md5={{IMEI_MD5}}&os={{OS}}&ip={{IP}}&ua={{UA}}&ts={{TS}}&userid={{USER_ID}}&pid={{PLAN_ID}}&uid={{UNIT_ID}}&aid={{IDEA_ID}}&click_id={{CLICK_ID}}&callback_url={{CALLBACK_URL}}
- *
+ * http://www.test.com/notice?tag=test123&imei_md5={{IMEI_MD5}}&os={{OS}}&ip={{IP}}&ua={{UA}}&ts={{TS}}&userid={{USER_ID}}&pid={{PLAN_ID}}&uid={{UNIT_ID}}&aid={{IDEA_ID}}&click_id={{CLICK_ID}}&callback_url={{CALLBACK_URL}}
*/
@RequestMapping(value = "/bd/monitor")
public CommonResponse baiduMonitorUrlCallbackReqUrl(
@@ -144,23 +138,23 @@ public class MobileMonitorCallbackAPI {
@RequestParam(value = "device_info", defaultValue = "") String deviceInfo,
@RequestParam(value = "interactionsType", defaultValue = "") String interactionsType,
@RequestParam(value = "ext_info", defaultValue = "") String extInfo,
- @RequestParam(value = "callType", defaultValue = "") String callType
-
+ @RequestParam(value = "callType", defaultValue = "") String callType,
+ @RequestParam(value = "tag", defaultValue = "") String tag
) {
BaiduMobileMonitorCallbackRequestVO vo = new BaiduMobileMonitorCallbackRequestVO(
- userId,aid,pid,uid,callbackUrl,clickId,idfa,imei,oaid,mac,ip,os,ts,deviceInfo,interactionsType,extInfo,callType
+ userId, aid, pid, uid, callbackUrl, clickId, idfa, imei, oaid, mac, ip, os, ts, deviceInfo, interactionsType, extInfo, callType
);
if (ObjectUtil.isNull(vo)) {
return CommonResponse.createByErrorMessage(ResponseCode.EMPTY_ARGUMENT.getDesc());
}
// 请求过滤规则,过滤掉不用的数据
- if (preRuleForReq(vo)){
- log.error("================================= [not right imei data ,{} ] =================================",vo);
+ if (preRuleForReq(vo)) {
+ log.error("================================= [not right imei data ,{} ] =================================", vo);
return CommonResponse.createBySuccess();
}
-
- log.info("================================= [one request comming, BaiduMobileMonitorCallbackAPI|baiduMonitorUrlCallbackReqUrl, vo is {} ] =================================", vo);
+ setTag(tag,vo);
+ log.info("================================= [one request comming, baiduMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo is {} ] =================================", vo);
BdBackdataDTO bdBackdataDTO = new BdBackdataDTO();
BdBackdataConvert.voCovertToDTO(vo, bdBackdataDTO);
@@ -178,11 +172,11 @@ public class MobileMonitorCallbackAPI {
private boolean preRuleForReq(BaiduMobileMonitorCallbackRequestVO vo) {
String imei = vo.getImeiMd5();
- if (StrUtil.isBlank(imei)){
+ if (StrUtil.isBlank(imei)) {
return Boolean.TRUE;
}
- if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG,imei)){
+ if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) {
return Boolean.TRUE;
}
return Boolean.FALSE;
@@ -191,7 +185,7 @@ public class MobileMonitorCallbackAPI {
/**
* UC 监控链接 - 目前只监测 Android 设备
- *
+ *
* 监控配置 * http://xxx.xxxx.com?imei={IMEI_SUM1}&oaid={OAID}&time={TS}&callback={CALL * BACK_URL}&androidid={ANDROIDID_SUM1}&mac={MAC_SUM2}&ip={IP}&ua={U @@ -210,28 +204,26 @@ public class MobileMonitorCallbackAPI { @RequestParam(value = "acid", defaultValue = "") String acid, @RequestParam(value = "gid", defaultValue = "") String gid, @RequestParam(value = "aid", defaultValue = "") String aid, - @RequestParam(value = "cid", defaultValue = "") String cid + @RequestParam(value = "cid", defaultValue = "") String cid, + @RequestParam(value = "tag", defaultValue = "") String tag ) { UcMobileMonitorCallbackRequestVO vo = new UcMobileMonitorCallbackRequestVO( - imei,oaid,ts,callbackUrl,androidId,mac,ip,ua,acid,gid,gid,aid + imei, oaid, ts, callbackUrl, androidId, mac, ip, ua, acid, gid, aid, cid ); if (ObjectUtil.isNull(vo)) { return CommonResponse.createByErrorMessage(ResponseCode.EMPTY_ARGUMENT.getDesc()); } // 请求过滤规则,过滤掉不用的数据 - if (preRuleForReq(vo)){ - log.error("================================= [not right imei data ,{} ] =================================",vo); + if (preRuleForReq(vo)) { + log.error("================================= [not right imei data ,{} ] =================================", vo); return CommonResponse.createBySuccess(); } - - log.info("================================= [one request comming, BaiduMobileMonitorCallbackAPI|baiduMonitorUrlCallbackReqUrl, vo is {} ] =================================", vo); - + setTag(tag,vo); + log.info("================================= [one request comming, ucMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo is {} ] =================================", vo); UcBackdataDTO ucBackdataDTO = new UcBackdataDTO(); UcBackdataConvert.voCovertToDTO(vo, ucBackdataDTO); - adOriginalityManageService.handleMonitorUrlCallbackDataThenSave2(); - return CommonResponse.createBySuccess(); } @@ -244,11 +236,11 @@ public class MobileMonitorCallbackAPI { private boolean preRuleForReq(UcMobileMonitorCallbackRequestVO vo) { String imei = vo.getImei(); - if (StrUtil.isBlank(imei)){ + if (StrUtil.isBlank(imei)) { return Boolean.TRUE; } - if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG,imei)){ + if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) { return Boolean.TRUE; } return Boolean.FALSE; @@ -256,16 +248,79 @@ public class MobileMonitorCallbackAPI { + + /** - * vivo 互联网检测 + * 快手点击 监测API + * https://docs.qingque.cn/d/home/eZQBTWKAahwgCU4YeU_bRW5B_# + */ + @RequestMapping(value = "/ks/monitor") + public CommonResponse kuaishouMonitorUrlCallbackReqUrl( + @RequestParam(value = "accountid", defaultValue = "") String accountid, + @RequestParam(value = "aid", defaultValue = "") String aid, + @RequestParam(value = "cid", defaultValue = "") String cid, + @RequestParam(value = "did", defaultValue = "") String did, + @RequestParam(value = "dname", defaultValue = "") String dName, + @RequestParam(value = "imeiMD5", defaultValue = "") String imei, + @RequestParam(value = "oaid", defaultValue = "") String oaid, + @RequestParam(value = "mac", defaultValue = "") String mac, + @RequestParam(value = "androidid", defaultValue = "") String androidid, + @RequestParam(value = "os", defaultValue = "") String os, + @RequestParam(value = "ts", defaultValue = "") String ts, + @RequestParam(value = "ip", defaultValue = "") String ip, + @RequestParam(value = "ua", defaultValue = "") String ua, + @RequestParam(value = "csite", defaultValue = "") String cSite, + @RequestParam(value = "model", defaultValue = "") String model, + @RequestParam(value = "ac_creative", defaultValue = "") String acCreative, + @RequestParam(value = "tag", defaultValue = "") String tag + + ) { + KuaiShouMobileMonitorCallbackRequestVO vo = new KuaiShouMobileMonitorCallbackRequestVO( + accountid,aid,cid,did,dName,imei,oaid,mac,androidid,os,ts,ip,ua,cSite,model,acCreative + ); + + if (ObjectUtil.isNull(vo)) { + return CommonResponse.createByErrorMessage(ResponseCode.EMPTY_ARGUMENT.getDesc()); + } + // 请求过滤规则,过滤掉不用的数据 + if (preRuleForReq(vo)) { + log.error("================================= [not right imei data ,{} ] =================================", vo); + return CommonResponse.createBySuccess(); + } + setTag(tag, vo); + log.info("================================= [one request comming, vivoMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo is {} ] =================================", vo); + KuaiShouBackdataDTO kuaiShouBackdataDTO = new KuaiShouBackdataDTO(); + KuaiShouBackdataConvert.voCovertToDTO(vo, kuaiShouBackdataDTO); + adOriginalityManageService.handleMonitorUrlCallbackDataThenSave3(); + return CommonResponse.createBySuccess(); + } + + /** + * 之前的规则要求 * + * @return boolean + */ + private boolean preRuleForReq(KuaiShouMobileMonitorCallbackRequestVO vo) { + + String imei = vo.getImei(); + if (StrUtil.isBlank(imei)) { + return Boolean.TRUE; + } + + if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) { + return Boolean.TRUE; + } + return Boolean.FALSE; + } + + + /** + * vivo 互联网检测 + *
* API文档地址 : https://ad.vivo.com.cn/help?id=353 - * - * - * */ @RequestMapping(value = "/vivo/monitor") - public CommonResponse baiduMonitorUrlCallbackReqUrl( + public CommonResponse vivoMonitorUrlCallbackReqUrl( @RequestParam(value = "os", defaultValue = "") String os, @RequestParam(value = "imei", defaultValue = "") String imei, @RequestParam(value = "ip", defaultValue = "") String ip, @@ -284,21 +339,56 @@ public class MobileMonitorCallbackAPI { @RequestParam(value = "lang", defaultValue = "") String lang, @RequestParam(value = "resolution", defaultValue = "") String resolution, @RequestParam(value = "nettype", defaultValue = "") String nettype, - @RequestParam(value = "ts", defaultValue = "") String ts + @RequestParam(value = "ts", defaultValue = "") Long ts, + @RequestParam(value = "tag", defaultValue = "") String tag ) { + VivoMobileMonitorCallbackRequestVO vo = new VivoMobileMonitorCallbackRequestVO( + os,imei,ip,oaid,oaidplain,ua,androidid,location,requestid,requesttime,advertiserId,adName,creativeid,osversion,model,lang,resolution,nettype,ts + ); + + if (ObjectUtil.isNull(vo)) { + return CommonResponse.createByErrorMessage(ResponseCode.EMPTY_ARGUMENT.getDesc()); + } + // 请求过滤规则,过滤掉不用的数据 + if (preRuleForReq(vo)) { + log.error("================================= [not right imei data ,{} ] =================================", vo); + return CommonResponse.createBySuccess(); + } + setTag(tag, vo); + log.info("================================= [one request comming, vivoMonitorUrlCallbackReqUrl|MobileMonitorCallbackAPI, vo is {} ] =================================", vo); + VivoBackdataDTO vivoBackdataDTO = new VivoBackdataDTO(); + VivoBackdataConvert.voCovertToDTO(vo, vivoBackdataDTO); + adOriginalityManageService.handleMonitorUrlCallbackDataThenSave4(); return CommonResponse.createBySuccess(); } + /** + * 之前的规则要求 + * + * @return boolean + */ + private boolean preRuleForReq(VivoMobileMonitorCallbackRequestVO vo) { + + String imei = vo.getImei(); + if (StrUtil.isBlank(imei)) { + return Boolean.TRUE; + } + + if (StrUtil.isNotBlank(imei) && StrUtil.equalsIgnoreCase(IMEI_TAG, imei)) { + return Boolean.TRUE; + } + return Boolean.FALSE; + } + /** * vivo营销链接 点击 监控 *
* API 文档: https://ad.vivo.com.cn/help?id=352 *
- * + *
* 配置
* 直接配置链接即可 https://cb.tuoz.net/vivo/monitor
- *
*/
@PostMapping(value = "/vivo/p/monitor")
public CommonResponse vivoMonitorUrlCallbackReqUrl(@RequestBody VivoMobileMonitorPointCallbackRequestVO vo) {
@@ -307,9 +397,20 @@ public class MobileMonitorCallbackAPI {
}
+ /**
+ * 进行特殊标识处理
+ *
+ * @param tag 标识
+ * @param base 基类
+ */
+ private void setTag(String tag ,MobileMonitorCallbackRequestBase base) {
+ if (StrUtil.isNotBlank(tag)) {
+ base.setTag(tag);
+ }else {
+ base.setTag("");
+ }
-
-
+ }
}
diff --git a/src/main/java/com/baiyee/adcallback/api/vo/BaiduMobileMonitorCallbackRequestVO.java b/src/main/java/com/baiyee/adcallback/api/vo/BaiduMobileMonitorCallbackRequestVO.java
index 79a9f2f..315051f 100644
--- a/src/main/java/com/baiyee/adcallback/api/vo/BaiduMobileMonitorCallbackRequestVO.java
+++ b/src/main/java/com/baiyee/adcallback/api/vo/BaiduMobileMonitorCallbackRequestVO.java
@@ -16,7 +16,7 @@ import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
-public class BaiduMobileMonitorCallbackRequestVO implements Serializable {
+public class BaiduMobileMonitorCallbackRequestVO extends MobileMonitorCallbackRequestBase implements Serializable {
private String userid;
diff --git a/src/main/java/com/baiyee/adcallback/api/vo/JuliangMobileMonitorCallbackRequestVO.java b/src/main/java/com/baiyee/adcallback/api/vo/JuliangMobileMonitorCallbackRequestVO.java
index 72d0b7b..5591638 100644
--- a/src/main/java/com/baiyee/adcallback/api/vo/JuliangMobileMonitorCallbackRequestVO.java
+++ b/src/main/java/com/baiyee/adcallback/api/vo/JuliangMobileMonitorCallbackRequestVO.java
@@ -3,6 +3,7 @@ package com.baiyee.adcallback.api.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
+import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@@ -13,10 +14,11 @@ import java.io.Serializable;
* @author q
* @date 2022/01/07
*/
+@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
-public class JuliangMobileMonitorCallbackRequestVO implements Serializable {
+public class JuliangMobileMonitorCallbackRequestVO extends MobileMonitorCallbackRequestBase implements Serializable {
private String aid;
diff --git a/src/main/java/com/baiyee/adcallback/api/vo/KuaiShouMobileMonitorCallbackRequestVO.java b/src/main/java/com/baiyee/adcallback/api/vo/KuaiShouMobileMonitorCallbackRequestVO.java
index cfd6116..f943a05 100644
--- a/src/main/java/com/baiyee/adcallback/api/vo/KuaiShouMobileMonitorCallbackRequestVO.java
+++ b/src/main/java/com/baiyee/adcallback/api/vo/KuaiShouMobileMonitorCallbackRequestVO.java
@@ -15,40 +15,23 @@ import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
-public class KuaiShouMobileMonitorCallbackRequestVO implements Serializable {
-
- private String userid;
+public class KuaiShouMobileMonitorCallbackRequestVO extends MobileMonitorCallbackRequestBase implements Serializable {
+ private String accountid;
private String aid;
-
- private String pid;
-
- private String uid;
-
- private String callbackUrl;
-
- private String clickId;
-
- private String idfa;
-
- private String imeiMd5;
-
+ private String cid;
+ private String did;
+ private String dName;
+ private String imei;
private String oaid;
-
private String mac;
-
- private String ip;
-
+ private String androidid;
private String os;
-
- private Long ts;
-
- private String deviceInfo;
-
- private String interactionsType;
-
- private String extInfo;
-
- private String callType;
+ private String ts;
+ private String ip;
+ private String ua;
+ private String cSite;
+ private String model;
+ private String acCreative;
}
diff --git a/src/main/java/com/baiyee/adcallback/api/vo/MobileMonitorCallbackRequestBase.java b/src/main/java/com/baiyee/adcallback/api/vo/MobileMonitorCallbackRequestBase.java
new file mode 100644
index 0000000..80b792a
--- /dev/null
+++ b/src/main/java/com/baiyee/adcallback/api/vo/MobileMonitorCallbackRequestBase.java
@@ -0,0 +1,20 @@
+package com.baiyee.adcallback.api.vo;
+
+
+import lombok.Data;
+
+
+/**
+ * 移动监控调请求基类 VO
+ *
+ * @author q
+ * @date 2022/02/23
+ */
+@Data
+public class MobileMonitorCallbackRequestBase{
+
+ /**
+ * 用于监测链接的自定义带参格式
+ */
+ private String tag;
+}
diff --git a/src/main/java/com/baiyee/adcallback/api/vo/UcMobileMonitorCallbackRequestVO.java b/src/main/java/com/baiyee/adcallback/api/vo/UcMobileMonitorCallbackRequestVO.java
index 7eb9f26..68e66c6 100644
--- a/src/main/java/com/baiyee/adcallback/api/vo/UcMobileMonitorCallbackRequestVO.java
+++ b/src/main/java/com/baiyee/adcallback/api/vo/UcMobileMonitorCallbackRequestVO.java
@@ -9,7 +9,7 @@ import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
-public class UcMobileMonitorCallbackRequestVO implements Serializable {
+public class UcMobileMonitorCallbackRequestVO extends MobileMonitorCallbackRequestBase implements Serializable {
private String imei;
diff --git a/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorCallbackRequestVO.java b/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorCallbackRequestVO.java
index 9a1a907..c24789e 100644
--- a/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorCallbackRequestVO.java
+++ b/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorCallbackRequestVO.java
@@ -3,6 +3,7 @@ package com.baiyee.adcallback.api.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
+import org.springframework.web.bind.annotation.RequestParam;
import java.io.Serializable;
import java.util.List;
@@ -16,7 +17,7 @@ import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
-public class VivoMobileMonitorCallbackRequestVO implements Serializable {
+public class VivoMobileMonitorCallbackRequestVO extends MobileMonitorCallbackRequestBase implements Serializable {
private String os;
@@ -29,6 +30,8 @@ public class VivoMobileMonitorCallbackRequestVO implements Serializable {
private String oaidPlain;
+ private String ua;
+
private String androidId;
private String location;
@@ -41,13 +44,17 @@ public class VivoMobileMonitorCallbackRequestVO implements Serializable {
private String adName;
- private String creativeId;
+ private String creativeId;
+
+ private String osVersion;
+
+ private String model;
- private String osVersion;
+ private String lang;
- private String model;
+ private String resolution;
- private String netType;
+ private String netType;
- private Long ts;
+ private Long ts;
}
diff --git a/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorPointCallbackRequestVO.java b/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorPointCallbackRequestVO.java
index 60f9411..6a41064 100644
--- a/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorPointCallbackRequestVO.java
+++ b/src/main/java/com/baiyee/adcallback/api/vo/VivoMobileMonitorPointCallbackRequestVO.java
@@ -16,7 +16,7 @@ import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
-public class VivoMobileMonitorPointCallbackRequestVO implements Serializable {
+public class VivoMobileMonitorPointCallbackRequestVO extends MobileMonitorCallbackRequestBase implements Serializable {
private List