Commit 1aaa4078 authored by she's avatar she

ios 模糊匹配回传

parent d46cff55
...@@ -2,3 +2,4 @@ ...@@ -2,3 +2,4 @@
/.gradle /.gradle
/.gradle/ /.gradle/
/.idea/ /.idea/
/.gradle/
...@@ -82,7 +82,7 @@ public class AppsflyerAdmapping { ...@@ -82,7 +82,7 @@ public class AppsflyerAdmapping {
}) })
.uid("parse-event") .uid("parse-event")
.name("parse-event"); .name("parse-event");
// adEventDataStream.print();
//ios模糊匹配 //ios模糊匹配
adEventDataStream adEventDataStream
.addSink(new TiktokSink()) .addSink(new TiktokSink())
......
...@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON; ...@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fshark.overseas.advert.modle.AppsFlyerEvent; import com.fshark.overseas.advert.modle.AppsFlyerEvent;
import com.fshark.overseas.advert.modle.AppsflyerPurchase;
import com.fshark.overseas.advert.modle.EventTypeEnum; import com.fshark.overseas.advert.modle.EventTypeEnum;
import com.fshark.overseas.advert.modle.TiktokModle; import com.fshark.overseas.advert.modle.TiktokModle;
import com.google.gson.Gson; import com.google.gson.Gson;
...@@ -43,64 +44,76 @@ public class TiktokSink extends RichSinkFunction<AppsFlyerEvent> { ...@@ -43,64 +44,76 @@ public class TiktokSink extends RichSinkFunction<AppsFlyerEvent> {
@Override @Override
public void invoke(AppsFlyerEvent value, Context context) throws Exception { public void invoke(AppsFlyerEvent value, Context context) throws Exception {
if (!value.getGame_id().equals("com.chaosportal.shark") || !"pangle".equals(value.getMedia_source())) { if (!value.getGame_id().equals("com.chaosportal.fshark") || !"Pangle".equals(value.getMedia_source())) {
return; return;
} }
if (EventTypeEnum.installEvent(value) || EventTypeEnum.orderEvent(value)) {
String event_name = ""; if ("ios".equalsIgnoreCase(value.getPlatform()) && EventTypeEnum.orderEvent(value)) {
if (EventTypeEnum.installEvent(value)) { AppsflyerPurchase appsflyerPurchase = new Gson().fromJson(value.getEvent_value(), AppsflyerPurchase.class);
event_name = "InstallApp"; String bundleId = appsflyerPurchase.getBundle_id();
} value.setGame_id(bundleId == null ? value.getGame_id() : bundleId);
TiktokModle tiktokModle = new TiktokModle(); }
tiktokModle.setTiktokAppId(TIKTOK_APPID);
tiktokModle.setEvent(event_name); try {
tiktokModle.setTimestamp(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'hh:mm:ss'Z'").format(value.getEvent_time().atOffset(ZoneOffset.UTC)));
TiktokModle.ContextDTO contextDTO = new TiktokModle.ContextDTO(); if (EventTypeEnum.installEvent(value) || EventTypeEnum.orderEvent(value)) {
contextDTO.setIp(value.getIp()); String event_name = "Purchase";
contextDTO.setUserAgent(value.getUser_agent()); if (EventTypeEnum.installEvent(value)) {
contextDTO.setOriginUrl(value.getOriginal_url()); event_name = "InstallApp";
TiktokModle.ContextDTO.AppDTO appDTO = new TiktokModle.ContextDTO.AppDTO(); }
appDTO.setId(value.getApp_id().replace("id","")); TiktokModle tiktokModle = new TiktokModle();
contextDTO.setApp(appDTO); tiktokModle.setTiktokAppId(TIKTOK_APPID);
TiktokModle.ContextDTO.DeviceDTO deviceDTO = new TiktokModle.ContextDTO.DeviceDTO(); tiktokModle.setEvent(event_name);
deviceDTO.setPlatform(value.getPlatform()); tiktokModle.setTimestamp(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'hh:mm:ss'Z'").format(value.getEvent_time().atOffset(ZoneOffset.UTC)));
deviceDTO.setIdfa(value.getIdfa()); TiktokModle.ContextDTO contextDTO = new TiktokModle.ContextDTO();
deviceDTO.setIdfv(value.getIdfv()); contextDTO.setIp(value.getIp());
contextDTO.setDevice(deviceDTO); contextDTO.setUserAgent(value.getUser_agent());
TiktokModle.ContextDTO.AdDTO adDTO = new TiktokModle.ContextDTO.AdDTO(); contextDTO.setOriginUrl(value.getOriginal_url());
adDTO.setPlacement("Pangle"); TiktokModle.ContextDTO.AppDTO appDTO = new TiktokModle.ContextDTO.AppDTO();
if (!"id_matching".equals(value.getMatch_type())) { appDTO.setId(value.getApp_id().replace("id", ""));
adDTO.setMatchType("probabilistic"); contextDTO.setApp(appDTO);
} else { TiktokModle.ContextDTO.DeviceDTO deviceDTO = new TiktokModle.ContextDTO.DeviceDTO();
adDTO.setMatchType(value.getMatch_type()); deviceDTO.setPlatform(value.getPlatform());
} deviceDTO.setIdfa(value.getIdfa());
adDTO.setCampaignId(Long.valueOf(value.getCampaign_id())); deviceDTO.setIdfv(value.getIdfv());
adDTO.setAdId(Long.valueOf(value.getAd_set_id())); contextDTO.setDevice(deviceDTO);
adDTO.setCreativeId(Long.valueOf(value.getAd_id())); TiktokModle.ContextDTO.AdDTO adDTO = new TiktokModle.ContextDTO.AdDTO();
adDTO.setRetargeting(value.getIs_retargeting()); adDTO.setPlacement("Pangle");
adDTO.setAttributed(true); if (!"id_matching".equals(value.getMatch_type())) {
adDTO.setAttributionType(value.getAttributed_touch_type() + "_through"); adDTO.setMatchType("probabilistic");
adDTO.setAttributionProvider("mmp"); } else {
contextDTO.setAd(adDTO); adDTO.setMatchType(value.getMatch_type());
tiktokModle.setContext(contextDTO); }
if (EventTypeEnum.orderEvent(value)) { adDTO.setCampaignId(Long.valueOf(value.getCampaign_id()));
JSONObject json = JSON.parseObject(value.getEvent_value()); adDTO.setAdId(Long.valueOf(value.getAd_set_id()));
String currency = json.getString("af_currency"); adDTO.setCreativeId(Long.valueOf(value.getAd_id()));
Integer revenue = Integer.valueOf(json.getString("af_revenue")); adDTO.setRetargeting(value.getIs_retargeting());
TiktokModle.PropertiesDTO propertiesDTO = new TiktokModle.PropertiesDTO(); adDTO.setAttributed(true);
propertiesDTO.setCurrency(currency); adDTO.setAttributionType(value.getAttributed_touch_type() + "_through");
propertiesDTO.setValue(revenue); adDTO.setAttributionProvider("mmp");
ArrayList<TiktokModle.PropertiesDTO.ContentsDTO> contentsDTOS = new ArrayList<>(); contextDTO.setAd(adDTO);
TiktokModle.PropertiesDTO.ContentsDTO contentsDTOS1 = new TiktokModle.PropertiesDTO.ContentsDTO(); tiktokModle.setContext(contextDTO);
contentsDTOS1.setPrice(revenue); if (EventTypeEnum.orderEvent(value)) {
contentsDTOS1.setQuantity(1); JSONObject json = JSON.parseObject(value.getEvent_value());
contentsDTOS.add(contentsDTOS1); String currency = json.getString("af_currency");
propertiesDTO.setContents(contentsDTOS); Integer revenue = Integer.valueOf(json.getString("af_revenue"));
tiktokModle.setProperties(propertiesDTO); TiktokModle.PropertiesDTO propertiesDTO = new TiktokModle.PropertiesDTO();
propertiesDTO.setCurrency(currency);
propertiesDTO.setValue(revenue);
ArrayList<TiktokModle.PropertiesDTO.ContentsDTO> contentsDTOS = new ArrayList<>();
TiktokModle.PropertiesDTO.ContentsDTO contentsDTOS1 = new TiktokModle.PropertiesDTO.ContentsDTO();
contentsDTOS1.setPrice(revenue);
contentsDTOS1.setQuantity(1);
contentsDTOS.add(contentsDTOS1);
propertiesDTO.setContents(contentsDTOS);
tiktokModle.setProperties(propertiesDTO);
}
sendReport(tiktokModle);
} }
} catch (Exception e) {
sendReport(tiktokModle);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment