[Bus/Taxi d 2.6.0]Taxi:增加开始服务(开启自动驾驶)埋点
This commit is contained in:
@@ -30,7 +30,8 @@ class OCHTaxiConst {
|
||||
|
||||
// 上报心跳轮询ms
|
||||
const val LOOP_PERIOD_60S = 60 * 1000L
|
||||
|
||||
// 开始服务启动自动驾驶等待时间(埋点上传)
|
||||
const val LOOP_PERIOD_15S = 15 * 1000L
|
||||
// 轮询查询进行中/待服务订单的间隔时间 2秒
|
||||
const val LOOP_PERIOD_2S = 2 * 1000L
|
||||
// 轮询查询新到预约单 1秒
|
||||
@@ -48,5 +49,15 @@ class OCHTaxiConst {
|
||||
//演示:V 测试:内测
|
||||
const val DEMO_USER = "V"
|
||||
const val TEST_USER = "内测"
|
||||
|
||||
// 埋点key:开始服务开启自动驾驶(成功/失败)
|
||||
const val EVENT_KEY_START_SERVICE = "event_key_och_taxi_start_service"
|
||||
const val EVENT_PARAM_SN = "sn"
|
||||
const val EVENT_PARAM_TIME = "time"
|
||||
const val EVENT_PARAM_START_NAME = "start_name"
|
||||
const val EVENT_PARAM_END_NAME = "end_name"
|
||||
const val EVENT_PARAM_ORDER_NUMBER = "order_num"
|
||||
const val EVENT_PARAM_START_RESULT = "start_autopilot" // true/false
|
||||
|
||||
}
|
||||
}
|
||||
@@ -51,6 +51,7 @@ import com.mogo.och.taxi.constant.OrderStatusEnum;
|
||||
import com.mogo.och.taxi.constant.OrderTypeEnum;
|
||||
import com.mogo.och.taxi.network.OCHTaxiServiceCallback;
|
||||
import com.mogo.och.taxi.network.OCHTaxiServiceManagerNew;
|
||||
import com.mogo.och.taxi.utils.OchTaxiAnalyticsUtil;
|
||||
import com.mogo.och.taxi.utils.OrderUtil;
|
||||
import com.mogo.och.taxi.utils.PinYinUtil;
|
||||
import com.mogo.service.IMogoServiceApis;
|
||||
@@ -809,6 +810,10 @@ public class MogoOCHTaxiModelNew {
|
||||
CallerAutoPilotManager.INSTANCE.startAutoPilot(parameters);
|
||||
CallerLogger.INSTANCE.d(M_TAXI + TAG, "start autopilot with parameter: %s", GsonUtil.jsonFromObject(parameters)
|
||||
+ " ,startSiteName=" + mCurrentOCHOrder.startSiteAddr + " ,endSiteName=" + mCurrentOCHOrder.endSiteAddr);
|
||||
|
||||
OchTaxiAnalyticsUtil.triggerStartServiceEvent(false,
|
||||
mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr, mCurrentOCHOrder.orderNo);
|
||||
|
||||
if (DebugConfig.isDebug()) {
|
||||
// TipToast.shortTip("Start autopilot!");
|
||||
}
|
||||
@@ -1005,6 +1010,10 @@ public class MogoOCHTaxiModelNew {
|
||||
// 当高频返回autopilot 2时,不重复调用订单状态变更
|
||||
mPrevAPStatus = state; // 每个状态单独赋值,解决无订单时已经是2的状态导致的新订单来时无法进入此逻辑更新状态
|
||||
updateOCHOrderStatus(OrderStatusEnum.OnTheWayToEndStation);
|
||||
|
||||
OchTaxiAnalyticsUtil.triggerStartServiceEvent(true,
|
||||
mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr, mCurrentOCHOrder.orderNo);
|
||||
|
||||
if (FunctionBuildConfig.isDemoMode) {
|
||||
// 当美化模式(演示模式)开启时: 订单对应自动驾驶开启后,置true
|
||||
FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true;
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.mogo.och.taxi.utils;
|
||||
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.eagle.core.function.call.analytics.AnalyticsManager;
|
||||
import com.mogo.eagle.core.utilcode.util.DateTimeUtils;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.och.taxi.constant.OCHTaxiConst;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* OCH Taxi埋点工具
|
||||
*
|
||||
* Created on 2022/3/24
|
||||
*/
|
||||
public class OchTaxiAnalyticsUtil {
|
||||
|
||||
/**
|
||||
* 触发'开始服务'埋点流程:
|
||||
* 点击开始服务(开启自动驾驶)后,15s内成功则发送成功埋点,否则发送失败埋点
|
||||
* @param send 是否直接发送埋点(15s内开启成功则直接发送成功埋点)
|
||||
*/
|
||||
public static void triggerStartServiceEvent(
|
||||
boolean send, String startName, String endName, String orderNo) {
|
||||
|
||||
String sn = MoGoAiCloudClientConfig.getInstance().getSn();
|
||||
String dateTime = DateTimeUtils.getTimeText(
|
||||
System.currentTimeMillis(), DateTimeUtils.yyyy_MM_dd_HH_mm_ss);
|
||||
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put(OCHTaxiConst.EVENT_PARAM_SN, sn);
|
||||
params.put(OCHTaxiConst.EVENT_PARAM_TIME, dateTime);
|
||||
params.put(OCHTaxiConst.EVENT_PARAM_START_NAME, startName);
|
||||
params.put(OCHTaxiConst.EVENT_PARAM_END_NAME, endName);
|
||||
params.put(OCHTaxiConst.EVENT_PARAM_ORDER_NUMBER, orderNo);
|
||||
|
||||
Runnable runnable = () -> {
|
||||
// 15s内未开启,上报失败埋点
|
||||
params.put(OCHTaxiConst.EVENT_PARAM_START_RESULT, false);
|
||||
AnalyticsManager.INSTANCE.track(OCHTaxiConst.EVENT_KEY_START_SERVICE, params);
|
||||
};
|
||||
|
||||
if (send) {
|
||||
// 开启成功,上报埋点
|
||||
if (runnable != null && UiThreadHandler.getsUiHandler().hasCallbacks(runnable)) {
|
||||
UiThreadHandler.removeCallbacks(runnable);
|
||||
}
|
||||
params.put(OCHTaxiConst.EVENT_PARAM_START_RESULT, true);
|
||||
AnalyticsManager.INSTANCE.track(OCHTaxiConst.EVENT_KEY_START_SERVICE, params);
|
||||
} else {
|
||||
UiThreadHandler.postDelayed(runnable, OCHTaxiConst.LOOP_PERIOD_15S);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user