diff --git a/app/src/main/java/com/gh/common/constant/Constants.java b/app/src/main/java/com/gh/common/constant/Constants.java index 4183b9d7cf..7e735eb0ca 100644 --- a/app/src/main/java/com/gh/common/constant/Constants.java +++ b/app/src/main/java/com/gh/common/constant/Constants.java @@ -270,6 +270,10 @@ public class Constants { public static final String LOTTERY_PARADISE_ADDRESS_DEV = "https://static-web.ghzs.com/shop-dev/index.html#/lottery-list?from=ghzs"; public static final String LOTTERY_PARADISE_ADDRESS = "https://static-web.ghzs.com/shop/index.html#/lottery-list?from=ghzs"; + // 我的奖品 + public static final String MY_PRIZE_ADDRESS_DEV = "https://static-web.ghzs.com/shop-dev/index.html#/mywin?from=ghzs"; + public static final String MY_PRIZE_ADDRESS = "https://static-web.ghzs.com/shop/index.html#/mywin?from=ghzs"; + //最少需要多少数据才能上传 public static final int DATA_AMOUNT = 20; diff --git a/app/src/main/java/com/gh/common/util/DirectUtils.kt b/app/src/main/java/com/gh/common/util/DirectUtils.kt index 1be5d2c161..9c56f5efbb 100644 --- a/app/src/main/java/com/gh/common/util/DirectUtils.kt +++ b/app/src/main/java/com/gh/common/util/DirectUtils.kt @@ -1348,4 +1348,19 @@ object DirectUtils { url = String.format(Locale.CHINA, "%s×tamp=%d", url, (Date().time / 1000 / 1000.toFloat()).roundToInt()) directToFullScreenWebPage(context, url, true) } + + /** + * 跳转至我的奖品 + */ + @JvmStatic + fun directToMyPrizePage(context: Context) { + var url: String = if (isPublishEnv()) { + Constants.MY_PRIZE_ADDRESS + } else { + Constants.MY_PRIZE_ADDRESS_DEV + } + + url = String.format(Locale.CHINA, "%s×tamp=%d", url, (Date().time / 1000 / 1000.toFloat()).roundToInt()) + directToFullScreenWebPage(context, url, true) + } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/IntegralLogHelper.kt b/app/src/main/java/com/gh/common/util/IntegralLogHelper.kt index 2d7ddf75d2..87546c5eee 100644 --- a/app/src/main/java/com/gh/common/util/IntegralLogHelper.kt +++ b/app/src/main/java/com/gh/common/util/IntegralLogHelper.kt @@ -134,4 +134,24 @@ object IntegralLogHelper { } log(json, "score", false) } + + fun logInviteResult(result: String, type: String? = null) { + val json = JSONObject().apply { + tryWithDefaultCatch { + put("meta", LogUtils.getMetaObject()) + put("event", "invite_result") + put("location", "邀请途径面板") + put("timestamp", System.currentTimeMillis() / 1000) + put("launch_id", launchId) + put("session_id", sessionId) + put("invitation_result", result) + put("invitation_type", type) + } + } + + debugOnly { + Utils.log("LogUtils->$json") + } + log(json, "score", false) + } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/MessageShareUtils.java b/app/src/main/java/com/gh/common/util/MessageShareUtils.java index 55e985533d..e2f5ed6cdb 100644 --- a/app/src/main/java/com/gh/common/util/MessageShareUtils.java +++ b/app/src/main/java/com/gh/common/util/MessageShareUtils.java @@ -69,6 +69,8 @@ public class MessageShareUtils { private PopupWindow mPopupWindow; private Bitmap shareBm; //分享截图 private String picName; + private ShareWay shareWay; + private boolean isFromInviteFriends = false; private String[] mArrLabel = {"微信好友", "朋友圈", "QQ好友", "QQ空间", "保存"}; @@ -80,15 +82,39 @@ public class MessageShareUtils { R.drawable.share_save }; + public enum ShareWay { + qq("qq"), + qqZone("qq空间"), + weibo("微博"), + wechat("微信"), + wechatMoments("朋友圈"); + + private String name; + + ShareWay(String name) { + this.name = name; + } + + public String getName() { + return name; + } + } + //QQ或者QQ空间分享回调处理 public IUiListener QqShareListener = new IUiListener() { @Override public void onComplete(Object o) { Utils.toast(mContext, "分享成功"); + if (isFromInviteFriends) { + IntegralLogHelper.INSTANCE.logInviteResult("成功", shareWay.getName()); + } } @Override public void onError(UiError uiError) { + if (isFromInviteFriends) { + IntegralLogHelper.INSTANCE.logInviteResult("失败", shareWay.getName()); + } // 单分享图片不支持显示未安装弹窗,手动调出 if (mActivity != null) { Activity activity = mActivity.get(); @@ -109,6 +135,9 @@ public class MessageShareUtils { @Override public void onCancel() { Utils.toast(mContext, R.string.share_cancel_hint); + if (isFromInviteFriends) { + IntegralLogHelper.INSTANCE.logInviteResult("取消", shareWay.getName()); + } } }; @@ -214,10 +243,16 @@ public class MessageShareUtils { }); } + public void shareInviteFriends(Activity activity, String type) { + isFromInviteFriends = true; + shareFromWeb(activity, type); + } + public void shareFromWeb(Activity activity, String type) { this.mActivity = new WeakReference<>(activity); if ("weibo".equals(type)) { + shareWay = ShareWay.weibo; weiboShare(); } else { // base64转bitmap @@ -242,15 +277,19 @@ public class MessageShareUtils { // 分享 switch (type) { case "qq" : + shareWay = ShareWay.qq; qqShare(); break; case "qq_zone" : + shareWay = ShareWay.qqZone; qZoneShare(); break; case "wechat" : + shareWay = ShareWay.wechat; wechatShare(); break; case "wechat_moments" : + shareWay = ShareWay.wechatMoments; wechatMomentsShare(); break; case "save" : diff --git a/app/src/main/java/com/gh/common/util/ShareUtils.java b/app/src/main/java/com/gh/common/util/ShareUtils.java index de0d84ecae..97a4616c03 100644 --- a/app/src/main/java/com/gh/common/util/ShareUtils.java +++ b/app/src/main/java/com/gh/common/util/ShareUtils.java @@ -104,6 +104,24 @@ public class ShareUtils { } } + public enum ShareType { + qq("qq"), + qqZone("qq空间"), + weibo("微博"), + wechat("微信"), + wechatMoments("朋友圈"); + + private String name; + + ShareType(String name) { + this.name = name; + } + + public String getName() { + return name; + } + } + private String[] arrLabel = {"微信好友", "朋友圈", "QQ好友", "QQ空间", "新浪微博", "短信", "复制链接", "取消"}; private WeakReference popupWindow; @@ -113,6 +131,7 @@ public class ShareUtils { public static ShareEntrance shareEntrance;//分享入口(事件上报和视频分享统计用) public static String resourceId = "";//分享内容的id(事件上报用) public static ShareEntity shareEntity;//分享信息(事件上报用) + private static ShareType mShareType;//分享类型(事件上报用) private WeakReference mActivity; @@ -126,6 +145,9 @@ public class ShareUtils { LogUtils.uploadShareResult(shareType, ShareUtils.shareEntrance.getName(), "success", ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId); EnergyTaskHelper.postEnergyTaskForShare(ShareUtils.shareEntrance.getName(), ShareUtils.resourceId, ShareUtils.shareEntity.getShareUrl()); + if (ShareUtils.shareEntrance == ShareEntrance.inviteFriends) { + IntegralLogHelper.INSTANCE.logInviteResult("成功", mShareType.getName()); + } } @Override @@ -133,6 +155,9 @@ public class ShareUtils { Utils.toast(mContext, R.string.share_fail_hint); LogUtils.uploadShareResult(shareType, ShareUtils.shareEntrance.getName(), "fail", ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId); + if (ShareUtils.shareEntrance == ShareEntrance.inviteFriends) { + IntegralLogHelper.INSTANCE.logInviteResult("失败", mShareType.getName()); + } } @Override @@ -140,6 +165,9 @@ public class ShareUtils { Utils.toast(mContext, R.string.share_cancel_hint); LogUtils.uploadShareResult(shareType, ShareUtils.shareEntrance.getName(), "cancel", ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId); + if (ShareUtils.shareEntrance == ShareEntrance.inviteFriends) { + IntegralLogHelper.INSTANCE.logInviteResult("取消", mShareType.getName()); + } } }; @@ -188,18 +216,23 @@ public class ShareUtils { // 分享 switch (way) { case "qq" : + mShareType = ShareType.qq; qqShare(); break; case "qq_zone" : + mShareType = ShareType.qqZone; qZoneShare(); break; case "wechat" : + mShareType = ShareType.wechat; wechatShare(); break; case "wechat_moments" : + mShareType = ShareType.wechatMoments; wechatMomentsShare(); break; case "weibo" : + mShareType = ShareType.weibo; sinaWeiboShare(); break; } diff --git a/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java b/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java index 2d3691748d..30e3af9026 100644 --- a/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java +++ b/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java @@ -16,6 +16,7 @@ import com.gh.common.Base64ImageHolder; import com.gh.common.util.BiCallback; import com.gh.common.util.EnergyTaskHelper; import com.gh.common.util.ImageUtils; +import com.gh.common.util.IntegralLogHelper; import com.gh.common.util.LogUtils; import com.gh.common.util.ShareUtils; import com.gh.gamecenter.eventbus.EBShare; @@ -229,6 +230,11 @@ public class WeiBoShareActivity extends Activity implements WbShareCallback { ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId); EventBus.getDefault().post(new EBShare(ShareUtils.shareEntrance)); EnergyTaskHelper.postEnergyTaskForShare(ShareUtils.shareEntrance.getName(), ShareUtils.resourceId, ShareUtils.shareEntity.getShareUrl()); + if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.inviteFriends) { + IntegralLogHelper.INSTANCE.logInviteResult("成功", "微博"); + } + } else { + IntegralLogHelper.INSTANCE.logInviteResult("成功", "微博"); } finish(); } @@ -239,6 +245,11 @@ public class WeiBoShareActivity extends Activity implements WbShareCallback { if ("NORMAL".equals(mShareStyle)) { LogUtils.uploadShareResult(ShareUtils.shareType, ShareUtils.shareEntrance.getName(), "cancel", ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId); + if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.inviteFriends) { + IntegralLogHelper.INSTANCE.logInviteResult("取消", "微博"); + } + } else { + IntegralLogHelper.INSTANCE.logInviteResult("取消", "微博"); } finish(); } @@ -249,6 +260,11 @@ public class WeiBoShareActivity extends Activity implements WbShareCallback { if ("NORMAL".equals(mShareStyle)) { LogUtils.uploadShareResult(ShareUtils.shareType, ShareUtils.shareEntrance.getName(), "fail", ShareUtils.shareEntity.getShareUrl(), ShareUtils.shareEntity.getShareTitle(), ShareUtils.shareEntity.getSummary(), ShareUtils.resourceId); + if (ShareUtils.shareEntrance == ShareUtils.ShareEntrance.inviteFriends) { + IntegralLogHelper.INSTANCE.logInviteResult("失败", "微博"); + } + } else { + IntegralLogHelper.INSTANCE.logInviteResult("失败", "微博"); } finish(); } diff --git a/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java index c343803e2c..5791d8c968 100644 --- a/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java @@ -392,6 +392,12 @@ public class KeFuFragmentAdapter extends ListAdapter { case "光能中心兑换": mContext.startActivity(EnergyCenterActivity.Companion.getIntent(mContext, 1)); break; + case "抽奖中心": + DirectUtils.directToLotteryParadisePage(mContext); + break; + case "我的奖品": + DirectUtils.directToMyPrizePage(mContext); + break; default: LinkEntity entity = new LinkEntity(); entity.setType(data.getType()); @@ -447,6 +453,12 @@ public class KeFuFragmentAdapter extends ListAdapter { case "energy_center_exchange": mContext.startActivity(EnergyCenterActivity.Companion.getIntent(mContext, 1)); break; + case "raffle_center": + DirectUtils.directToLotteryParadisePage(mContext); + break; + case "raffle_prize": + DirectUtils.directToMyPrizePage(mContext); + break; default: DirectUtils.directToLinkPage(mContext, data, mEntrance, "(消息-客服)"); break;