基本完成首页专题、专题详情、分类详情的曝光统计需求 http://gitlab.ghzhushou.com/pm/halo-app-issues/issues/253

This commit is contained in:
chenjuntao
2018-06-20 17:22:40 +08:00
parent 3e285a4466
commit 875c0b8c16
53 changed files with 1377 additions and 229 deletions

View File

@ -15,6 +15,8 @@ import android.widget.TextView;
import com.facebook.drawee.view.SimpleDraweeView;
import com.gh.base.OnViewClickListener;
import com.gh.common.constant.Config;
import com.gh.common.exposure.ExposureEvent;
import com.gh.common.exposure.ExposureUtils;
import com.gh.common.util.DataUtils;
import com.gh.common.util.DialogUtils;
import com.gh.common.util.DisplayUtils;
@ -277,8 +279,8 @@ public class BindingAdapters {
}
}
@BindingAdapter("downloadButton")
public static void setDownloadButton(DownloadProgressBar progressBar, GameEntity gameEntity) {
@BindingAdapter({"downloadButton", "traceEvent"})
public static void setDownloadButton(DownloadProgressBar progressBar, GameEntity gameEntity, ExposureEvent traceEvent) {
// 判断是否显示按钮
if (gameEntity != null
&& Config.isShowDownload(gameEntity.getId())
@ -364,15 +366,15 @@ public class BindingAdapters {
case PLUGIN:
if (gameEntity.getApk().size() == 1) {
if (NetworkUtils.isWifiConnected(v.getContext())) {
download(progressBar, gameEntity);
download(progressBar, gameEntity, traceEvent);
} else {
DialogUtils.showDownloadDialog(v.getContext(), () -> {
download(progressBar, gameEntity);
download(progressBar, gameEntity, traceEvent);
});
}
} else {
DownloadDialog.getInstance(v.getContext()).showPopupWindow(v, gameEntity,
"(我的光环:我的游戏)", "我的光环-我的游戏:" + gameEntity.getName());
"(我的光环:我的游戏)", "我的光环-我的游戏:" + gameEntity.getName(), traceEvent);
}
break;
case LAUNCH_OR_OPEN:
@ -381,7 +383,7 @@ public class BindingAdapters {
PackageUtils.launchApplicationByPackageName(v.getContext(), gameEntity.getApk().get(0).getPackageName());
} else {
DownloadDialog.getInstance(v.getContext()).showPopupWindow(v, gameEntity,
"(我的光环:我的游戏)", "我的光环-我的游戏:" + gameEntity.getName());
"(我的光环:我的游戏)", "我的光环-我的游戏:" + gameEntity.getName(), traceEvent);
}
break;
case INSTALL_PLUGIN:
@ -393,7 +395,7 @@ public class BindingAdapters {
}
// 开始下载
private static void download(DownloadProgressBar progressBar, GameEntity gameEntity) {
private static void download(DownloadProgressBar progressBar, GameEntity gameEntity, ExposureEvent traceEvent) {
String str = progressBar.getText();
String method;
if (str.contains("更新")) {
@ -408,7 +410,14 @@ public class BindingAdapters {
if (TextUtils.isEmpty(msg)) {
DataUtils.onGameDownloadEvent(progressBar.getContext(), gameEntity.getName(), apkEntity.getPlatform(), "(我的光环:我的游戏)", "下载开始");
DownloadManager.createDownload(progressBar.getContext(), apkEntity, gameEntity, method, StringUtils.buildString("(我的光环:我的游戏)"), "我的光环-我的游戏:" + gameEntity.getName());
ExposureEvent downloadExposureEvent = ExposureUtils.INSTANCE.logADownloadExposureEvent(gameEntity, apkEntity.getPlatform(), traceEvent, ExposureUtils.DownloadType.DOWNLOAD);
DownloadManager.createDownload(progressBar.getContext(),
apkEntity,
gameEntity,
method,
StringUtils.buildString("(我的光环:我的游戏)"), "我的光环-我的游戏:" + gameEntity.getName(),
downloadExposureEvent);
progressBar.setProgress(0);
progressBar.setDownloadType("插件化".equals(method) ?