feat:https://jira.shanqu.cc/browse/GHZSCY-6976 奇游加速SDK接入—客户端

This commit is contained in:
张晨
2025-03-04 10:44:00 +08:00
parent 0f0962b261
commit 738dfd3b4d
152 changed files with 7435 additions and 254 deletions

View File

@ -299,6 +299,10 @@ public class Constants {
// 腾讯企点地址
public static final String TENCENT_QIDIAN_ADDRESS = "https://admin.qidian.qq.com/template/blue/mp/menu/qr-code-jump.html?linkType=0&env=ol&kfuin=2355094296&fid=457&key=c76dcb2e3d582b6ffbfb5bb22cde85ff&cate=1&source=&isLBS=&isCustomEntry=&type=16&ftype=1&_type=wpa&qidian=true";
// 企点qq连接
public static final String QQ_QIDIAN_ADDRESS = "https://wpa1.qq.com/XqJqVq2d?_type=wpa&qidian=true";
//版规声明
public static final String FORUM_REGULATIONS_NEWS_ID = "5f4db9cc34d44d01b92fd670";
@ -345,6 +349,10 @@ public class Constants {
//游戏单管理规范
public static final String GAME_COLLECTION_RULE = "https://and-static.ghzs66.com/page/privacy_policies/game_collection.html";
// 我的资产页面
public static final String MY_ASSETS_DEV = "https://dev-and-static.ghzs.com/web/qiyou-acc/index.html";
public static final String MY_ASSETS = "https://and-static.ghzs.com/web/qiyou-acc/index.html";
public static final String SP_IS_DEV_ENV = "is_dev_env";
public static final String[] REPORT_LIST = new String[]{"垃圾广告营销", "恶意攻击谩骂", "淫秽色情信息", "违法有害信息", "其他原因"};
@ -485,4 +493,9 @@ public class Constants {
public static final String SP_SHOW_GAME_DETAIL_FUNCTION_TAG_GUIDE = "show_game_detail_function_tag_guide";
public static final String LIBAO_CHANGED_TAG = "libao_changed";
public static final String SP_HAS_SHOW_ACCELERATION_GUIDE_LAYER = "sp_has_show_acceleration_guide_layer";
public static final String SP_MEMBER_RECHARGE_BUTTON_CLICK = "sp_member_recharge_button_click";
public static final String SP_MEMBER_PAYMENT_BUTTON_CLICK = "sp_member_payment_button_click";
}

View File

@ -365,4 +365,10 @@ public class EntranceConsts {
public static final String KEY_DISPLAY_TYPE = "display_type";
public static final String KEY_SHOW_FLOATING_WINDOW = "key_show_floating_window";
public static final String KEY_HIDE_TOOLBAR = "hide_toolbar";
public static final String KEY_ACCT_ZONE_INFO = "acct_zone_info";
public static final String KEY_IS_NEED_RECORD = "is_need_record";
public static final String KEY_HAS_MULTI_ZONE = "has_multi_zone";
public static final String KEY_SPEED_TYPE = "speed_type";
public static final String KEY_ACCELERATOR_REQUEST = "accelerator_request";
}

View File

@ -27,6 +27,7 @@ object RouteConsts {
const val quickLoginActivity = "/activity/quick_login_activity"
const val securityActivity = "/activity/account_security"
const val serversCalendarManagementActivity = "/activity/server_manager"
const val myAssetsActivity = "/activity/my_assets"
const val aboutActivity = "/settings/AboutActivity"
const val webActivity = "/setting/WebActivity"

View File

@ -76,7 +76,7 @@ object SensorsBridge {
private const val KEY_GAME_FORUM_TYPE = "game_forum_type"
private const val KEY_STAY_LENGTH = "stay_length"
private const val KEY_SHARE_TYPE = "share_type"
private const val KEY_IS_FIRST_TIME = "\$is_first_time"
const val KEY_IS_FIRST_TIME = "\$is_first_time"
private const val KEY_TAB_TYPE = "tab_type"
private const val KEY_BANNER_NAME = "banner_name"
private const val KEY_TOPPING_TYPE = "topping_type"
@ -124,6 +124,14 @@ object SensorsBridge {
private const val KEY_WECHAT_REMIND = "wechat_remind"
private const val KEY_MESSAGE_REMIND = "message_remind"
private const val KEY_AUTOMATIC_DOWNLOAD = "automatic_download"
private const val KEY_PACKAGE_NAME = "package_name"
private const val KEY_MEMBER_TYPE = "member_type"
private const val KEY_DISTRICT_SERVER = "district_server"
private const val KEY_SCENE_TYPE = "scene_type"
private const val KEY_SET_MENU_NAME = "set_menu_name"
private const val KEY_PAYMENT_AMOUNT = "payment_amount"
private const val KEY_PAYMENT_TYPE = "payment_type"
const val EVENT_NAME = "event_name"
private const val EVENT_GAME_DETAIL_PAGE_TAB_SELECT = "GameDetailPageTabSelect"
private const val EVENT_GAME_DETAIL_PAGE_TAG_CLICK = "GameDetailPageGameTagClick"
@ -308,6 +316,24 @@ object SensorsBridge {
private const val EVENT_PK_CLICK = "PkClick"
private const val EVENT_GAME_DETAIL_MODULE_CLICK = "GameDetailModuleClick"
private const val EVENT_NETWORK_ACCELERATION_GUIDANCE_DIAGRAM_SHOW = "NetworkAccelerationGuidanceDiagramShow"
private const val EVENT_NETWORK_ACCELERATION_BUTTON_CLICK = "NetworkAccelerationButtonClick"
private const val EVENT_NETWORK_ACCELERATION_START_UP = "NetworkAccelerationStartup"
private const val EVENT_NETWORK_ACCELERATION_START_UP_RESULT = "NetworkAccelerationStartupResult"
private const val EVENT_NETWORK_ACCELERATION_OTHER_BUTTON_CLICK = "NetworkAccelerationOtherButtonClick"
private const val EVENT_MEMBERSHIP_ACTIVATION_DIALOG_SHOW = "MembershipActivationDialogShow"
private const val EVENT_MEMBERSHIP_ACTIVATION_DIALOG_CLICK = "MembershipActivationDialogClick"
private const val EVENT_NETWORK_ACCELERATION_FAILURE_DIALOG_SHOW = "NetworkAccelerationFailureDialogShow"
private const val EVENT_NETWORK_ACCELERATION_FAILURE_DIALOG_CLICK = "NetworkAccelerationFailureDialogClick"
private const val EVENT_NETWORK_ACCELERATION_CONFLICT_DIALOG_SHOW = "NetworkAccelerationConflictDialogShow"
private const val EVENT_NETWORK_ACCELERATION_CONFLICT_DIALOG_CLICK = "NetworkAccelerationConflictDialogClick"
private const val EVENT_MY_ASSETS_PAGE_SHOW = "MyAssetsPageShow"
const val EVENT_MEMBER_RECHARGE_BUTTON_CLICK = "MemberRechargeButtonClick"
private const val EVENT_MEMBER_PAYMENT_BUTTON_CLICK = "MemberPaymentButtonClick"
private const val EVENT_MEMBER_RECHARGE_RESULT = "MemberRechargeResult"
private const val EVENT_MY_ASSETS_PAGE_CONTACT_CUSTOMER_SERVICE_CLICK = "MyAssetsPageContactCustomerServiceClick"
private const val EVENT_STOP_ACCELERATING_DIALOG_SHOW = "StopAcceleratingDialogShow"
private var mIsSensorsEnabled = false
private val mSensor by lazy {
@ -4781,6 +4807,7 @@ object SensorsBridge {
}
trackEvent(EVENT_APPOINTMENT_GAME_ONLINE_DIALOG_CLICK, json)
}
/**
* 事件IDSearchDiscoveryClick
* 事件名称:搜索发现点击事件
@ -4899,4 +4926,359 @@ object SensorsBridge {
}
trackEvent(EVENT_GAME_DETAIL_MODULE_CLICK, json)
}
/**
* 事件IDNetworkAccelerationGuidanceDiagramShow
* 事件名称:网络加速引导图展示事件
* 触发时机:网络加速引导图展示触发
*/
fun trackNetworkAccelerationGuidanceDiagramShow(
packageName: String,
gameId: String,
gameName: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
}
trackEvent(EVENT_NETWORK_ACCELERATION_GUIDANCE_DIAGRAM_SHOW, json)
}
/**
* 事件IDNetworkAccelerationButtonClick
* 事件名称:网络加速按钮点击事件
* 触发时机:用户点击网络加速按钮时触发上报以及点击时的具体场景以及用户的相关属性
*/
fun trackNetworkAccelerationButtonClick(
packageName: String,
gameId: String,
gameName: String,
memberType: String,
districtServer: String,
sceneType: String,
sourceEntrance: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_MEMBER_TYPE to memberType
KEY_DISTRICT_SERVER to districtServer
KEY_SCENE_TYPE to sceneType
KEY_SOURCE_ENTRANCE to sourceEntrance
}
trackEvent(EVENT_NETWORK_ACCELERATION_BUTTON_CLICK, json)
}
/**
* 事件IDNetworkAccelerationStartup
* 事件名称:网络加速启动事件
* 触发时机调用奇游SDK进行加速时进行上报
*/
fun trackNetworkAccelerationStartup(
packageName: String,
gameId: String,
gameName: String,
memberType: String,
districtServer: String,
sourceEntrance: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_MEMBER_TYPE to memberType
KEY_DISTRICT_SERVER to districtServer
KEY_SOURCE_ENTRANCE to sourceEntrance
}
trackEvent(EVENT_NETWORK_ACCELERATION_START_UP, json)
}
/**
* 事件IDNetworkAccelerationStartupResult
* 事件名称:网络加速启动结果事件
* 触发时机调用奇游SDK进行加速时成功\失败时触发上报失败是需上报具体的code码
*/
fun trackNetworkAccelerationStartupResult(
packageName: String,
gameId: String,
gameName: String,
memberType: String,
districtServer: String,
result: String,
sourceEntrance: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_MEMBER_TYPE to memberType
KEY_DISTRICT_SERVER to districtServer
KEY_RESULT to result
KEY_SOURCE_ENTRANCE to sourceEntrance
}
trackEvent(EVENT_NETWORK_ACCELERATION_START_UP_RESULT, json)
}
/**
* 事件IDNetworkAccelerationOtherButtonClick
* 事件名称:网络加速其他按钮点击事件
* 触发时机:点击【进入游戏\停止加速】时,触发上报
*/
fun trackNetworkAccelerationOtherButtonClick(
packageName: String,
gameId: String,
gameName: String,
memberType: String,
buttonName: String,
sourceEntrance: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_MEMBER_TYPE to memberType
KEY_BUTTON_NAME to buttonName
KEY_SOURCE_ENTRANCE to sourceEntrance
}
trackEvent(EVENT_NETWORK_ACCELERATION_OTHER_BUTTON_CLICK, json)
}
/**
* 事件IDMembershipActivationDialogShow
* 事件名称:会员开通提示弹窗展示事件
* 触发时机:会员提示弹窗展示时触发上报
*/
fun trackMembershipActivationDialogShow(
packageName: String,
gameId: String,
gameName: String,
sourceEntrance: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_SOURCE_ENTRANCE to sourceEntrance
}
trackEvent(EVENT_MEMBERSHIP_ACTIVATION_DIALOG_SHOW, json)
}
/**
* 事件IDMembershipActivationDialogClick
* 事件名称:会员开通提示弹窗点击事件
* 触发时机:用户点击会员提示弹窗的按钮【去开通】时触发上报
*/
fun trackMembershipActivationDialogClick(
packageName: String,
gameId: String,
gameName: String,
sourceEntrance: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_SOURCE_ENTRANCE to sourceEntrance
}
trackEvent(EVENT_MEMBERSHIP_ACTIVATION_DIALOG_CLICK, json)
}
/**
* 事件IDNetworkAccelerationFailureDialogShow
* 事件名称:加速失败提示弹窗展示事件
* 触发时机:加速失败提示弹窗展示时触发上报
*/
fun trackNetworkAccelerationFailureDialogShow(
packageName: String,
gameId: String,
gameName: String,
sourceEntrance: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_SOURCE_ENTRANCE to sourceEntrance
}
trackEvent(EVENT_NETWORK_ACCELERATION_FAILURE_DIALOG_SHOW, json)
}
/**
* 事件IDNetworkAccelerationFailureDialogClick
* 事件名称:加速失败提示弹窗点击事件
* 触发时机:用户点击加速失败提示弹窗的按钮【联系客服】时触发上报
*/
fun trackNetworkAccelerationFailureDialogClick(
packageName: String,
gameId: String,
gameName: String,
sourceEntrance: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_SOURCE_ENTRANCE to sourceEntrance
}
trackEvent(EVENT_NETWORK_ACCELERATION_FAILURE_DIALOG_CLICK, json)
}
/**
* 事件IDNetworkAccelerationConflictDialogShow
* 事件名称:加速冲突提示弹窗展示事件
* 触发时机:加速冲突提示弹窗展示时触发上报
*/
fun trackNetworkAccelerationConflictDialogShow(
packageName: String,
gameId: String,
gameName: String,
sourceEntrance: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_SOURCE_ENTRANCE to sourceEntrance
}
trackEvent(EVENT_NETWORK_ACCELERATION_CONFLICT_DIALOG_SHOW, json)
}
/**
* 事件IDNetworkAccelerationConflictDialogClick
* 事件名称:加速冲突提示弹窗点击事件
* 触发时机:用户点击加速冲突提示弹窗的按钮【暂不启动】\【继续启动】时触发上报
*/
fun trackNetworkAccelerationConflictDialogClick(
packageName: String,
gameId: String,
gameName: String,
buttonName: String,
sourceEntrance: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_BUTTON_NAME to buttonName
KEY_SOURCE_ENTRANCE to sourceEntrance
}
trackEvent(EVENT_NETWORK_ACCELERATION_CONFLICT_DIALOG_CLICK, json)
}
/**
* 事件IDMyAssetsPageShow
* 事件名称:我的资产页面展示事件
* 触发时机:进入我的资产页面时触发上报
*/
fun trackMyAssetsPageShow(
packageName: String,
gameId: String,
gameName: String,
sourceEntrance: String
) {
val json = json {
KEY_PACKAGE_NAME to packageName
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_SOURCE_ENTRANCE to sourceEntrance
}
trackEvent(EVENT_MY_ASSETS_PAGE_SHOW, json)
}
/**
* 事件IDMemberRechargeButtonClick
* 事件名称:会员充值按钮点击事件
* 触发时机:用户点击立即支付按钮时触发上报
* note:这个事件目前有 web 调用调用原生方法上报
*/
fun trackMemberRechargeButtonClick(
isFirstTime: Boolean,
setMenuName: String,
paymentAmount: String
) {
val json = json {
KEY_IS_FIRST_TIME to isFirstTime
KEY_SET_MENU_NAME to setMenuName
KEY_PAYMENT_AMOUNT to paymentAmount
}
trackEvent(EVENT_MEMBER_RECHARGE_BUTTON_CLICK, json)
}
/**
* 事件IDMemberPaymentButtonClick
* 事件名称:会员充值按钮点击事件
* 触发时机:用户点击立即支付按钮时触发上报
*/
fun trackMemberPaymentButtonClick(
isFirstTime: Boolean,
paymentType: String,
setMenuName: String,
paymentAmount: String
) {
val json = json {
KEY_IS_FIRST_TIME to isFirstTime
KEY_SET_MENU_NAME to setMenuName
KEY_PAYMENT_AMOUNT to paymentAmount
KEY_PAYMENT_TYPE to paymentType
}
trackEvent(EVENT_MEMBER_PAYMENT_BUTTON_CLICK, json)
}
/**
* 事件IDMemberRechargeResult
* 事件名称:会员充值结果返回事件
* 触发时机:支付的回调结果返回时触发上报
*/
fun trackMemberRechargeResult(
paymentType: String,
setMenuName: String,
paymentAmount: String,
result: String
) {
val json = json {
KEY_PAYMENT_TYPE to paymentType
KEY_SET_MENU_NAME to setMenuName
KEY_PAYMENT_AMOUNT to paymentAmount
KEY_RESULT to result
}
trackEvent(EVENT_MEMBER_RECHARGE_RESULT, json)
}
/**
* 事件IDMyAssetsPageContactCustomerServiceClick
* 事件名称:我的资产联系客服点击事件
* 触发时机:用户在【我的资产】点击联系客服时触发上报
*/
fun trackMyAssetsPageContactCustomerServiceClick() {
trackEvent(EVENT_MY_ASSETS_PAGE_CONTACT_CUSTOMER_SERVICE_CLICK)
}
fun trackSensorsAnalyticsFromWeb(eventName: String, hashmap: HashMap<String, Any>) {
val json = json {
hashmap.iterator().forEach { (key, value) ->
key to value
}
}
trackEvent(eventName, json)
}
/**
* 事件IDMyAssetsPageContactCustomerServiceClick
* 事件名称:我的资产联系客服点击事件
* 触发时机:用户在【我的资产】点击联系客服时触发上报
*/
fun trackStopAcceleratingDialogShow(
gameId: String,
gameName: String,
packageName: String
) {
val json = json {
KEY_GAME_ID to gameId
KEY_GAME_NAME to gameName
KEY_PACKAGE_NAME to packageName
}
trackEvent(EVENT_STOP_ACCELERATING_DIALOG_SHOW, json)
}
}