Commit 713061bc authored by mengcuiguang2's avatar mengcuiguang2

代码优化

parent 7251408d
......@@ -234,7 +234,7 @@ dependencies {
implementation "com.tencent.liteav:LiteAVSDK_Player:11.3.0.13176"
// 引力引擎
implementation "cn.gravity.android:GravityEngineSDK:${LATEST_VERSION}"
implementation "cn.gravity.android:GravityEngineSDK:4.8.11"
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
......
package com.duben.happyplayletu.manager
import android.app.Application
import android.text.TextUtils
import com.bytedance.ads.convert.BDConvert
import com.bytedance.applog.AppLog
import com.bytedance.applog.IDataObserver
import com.bytedance.applog.InitConfig
import com.bytedance.applog.util.UriConstants
import com.bytedance.hume.readapk.HumeSDK
import com.duben.happyplayletu.BuildConfig
import com.duben.happyplayletu.MintsApplication
import com.duben.happyplayletu.utils.LogUtil
import com.duben.happyplayletu.utils.MateUtils.getAppMetaData
import org.json.JSONObject
/**
* CsjAppLogManager
*/
object CsjAppLogManager {
// 获取方式,穿山甲平台-Adspark-免费广告监测-应用管理创建
const val APP_LOG_ID = "643002"
fun init(application: Application) {
// 第一个参数APPID: 参考2.1节获取
// 第二个参数CHANNEL: 填写渠道信息,请注意不能为空
val config = InitConfig(APP_LOG_ID, createChannel())
// 设置数据上送地址
config.setUriConfig(UriConstants.DEFAULT)
config.isImeiEnable = false //建议关停获取IMEI(出于合规考虑)
config.isAutoTrackEnabled = false // 全埋点开关,true开启,false关闭
config.isLogEnable = BuildConfig.LOG_DEBUG // true:开启日志,参考4.3节设置logger,false:关闭日志
AppLog.setEncryptAndCompress(true) // 加密开关,true开启,false关闭
config.setEnablePlay(true) // 配置心跳事件(时长统计)
/**
* 用于获取用户唯一性bd_did
* @description
*/
AppLog.addDataObserver(object : IDataObserver {
/**
* 本地的id数据加载结果通知
* @param did device id
* @param iid install id
* @param ssid ssid
*/
override fun onIdLoaded(s: String, s1: String, s2: String) {}
/**
* 通知注册结果,以及id变化情况
* 仅主进程会被调用
* @param changed 是否和本地缓存有所不同
* @param oldDid 原device id
* @param newDid server返回新的device id
* @param oldIid 原install id
* @param newIid server返回新install id
* @param oldSsid 原ssid
* @param newSsid server返回新ssid
*/
override fun onRemoteIdGet(
b: Boolean,
s: String?,
s1: String,
s2: String,
s3: String,
s4: String,
s5: String
) {
val bd_did = AppLog.getDid()
LogUtil.d("mcg --> 用户唯一性bd_did=" + bd_did)
}
/**
* Config拉取数据,和本地数据对比有变化的通知
* 仅主进程会被调用
* @param changed 是否和本地缓存有所不同
* @param config server返回新config内容
*/
override fun onRemoteConfigGet(b: Boolean, jsonObject: JSONObject?) {}
/**
* server拉取AbConfig数据,和本地数据对比有变化的通知
* 仅主进程会被调用
* @param changed 是否和本地缓存有所不同
* @param abConfig server返回新abConfig内容
*/
override fun onRemoteAbConfigGet(b: Boolean, jsonObject: JSONObject) {
LogUtil.d("mcg -->---测试---返回全部进组信息", "" + jsonObject.toString())
}
/**
* Vid变化通知
*/
override fun onAbVidsChange(s: String, s1: String) {}
})
//SDK会采集OAID、ANDROID_ID和其他的设备特征字段,请遵循相关合规要求在隐私弹窗后采集
//传入需要init的AppLog实例,若没有多个AppLog实例,则传入AppLog.getInstance()即可
BDConvert.getInstance().init(application, AppLog.getInstance())
// 如果在 onCreate 阶段初始化拿不到 XXXActivity 则不需要传递第三个参数
AppLog.init(application, config)
// 请在用户授权后调用如下方法,start 开始实际采集用户信息+上报:
AppLog.start()
// 在初始化后必须设置AppLog.setHeaderInfo("csj_attribution",1),否则会直接影响归因结果。
AppLog.setHeaderInfo("csj_attribution", 1)
}
/**
* 创建渠道
*
* @return
*/
private fun createChannel(): String {
var channel = getAppMetaData(MintsApplication.getContext(), "CHANNEL_NAME")
try {
// 穿山甲分包渠道
val ttChannel = HumeSDK.getChannel(MintsApplication.getContext())
if (!TextUtils.isEmpty(ttChannel)) {
// 此处方式不能修改,已和后端约定
channel = channel + "_" + ttChannel
}
} catch (e: Exception) {
e.printStackTrace()
}
return channel
}
object GrownEventType {
//注册
const val REGISTER = "grown_attribution_event_register"
//付费
const val PURCHASE = "grown_attribution_event_purchase"
//关键行为
const val KEY_BEHAVIOR = "grown_attribution_event_key_behavior"
//下单
const val ORDER = "grown_attribution_event_order"
//下载
const val DOWNLOAD = "grown_attribution_event_download"
//应用内拉起
const val DEEPLINK = "grown_attribution_event_deelink"
//授权
const val AUTHORIZATION = "grown_attribution_event_authorization"
//广告变现
const val AD_PURCHASE = "grown_attribution_event_ad_purchase"
//次留
const val RETENTION_2D = "grown_attribution_event_retention_2d"
//添加购物车
const val ADD_TO_CART = "grown_attribution_event_add_to_cart"
//表单提交
const val FORM_SUBMIT = "grown_attribution_event_form_submit"
//拉活
const val APP_RE_ACTIVE_WAKE_UP = "grown_attribution_event_app_re_active_wake_up"
//自定义激活
const val CUSTOM_ACTIVITION = "grown_attribution_event_custom_activition"
//自定义注册
const val CUSTOM_REGISTER = "grown_attribution_event_custom_register"
}
fun event(v: String) {
//方式一,穿山甲
AppLog.onEventV3(v)
// //方式二,自定义
// val paramsObj = JSONObject()
//package com.duben.happyplayletu.manager
//
//import android.app.Application
//import android.text.TextUtils
//import com.bytedance.ads.convert.BDConvert
//import com.bytedance.applog.AppLog
//import com.bytedance.applog.IDataObserver
//import com.bytedance.applog.InitConfig
//import com.bytedance.applog.util.UriConstants
//import com.bytedance.hume.readapk.HumeSDK
//import com.duben.happyplayletu.BuildConfig
//import com.duben.happyplayletu.MintsApplication
//import com.duben.happyplayletu.utils.LogUtil
//import com.duben.happyplayletu.utils.MateUtils.getAppMetaData
//import org.json.JSONObject
//
//
///**
// * CsjAppLogManager
// */
//object CsjAppLogManager {
//
// // 获取方式,穿山甲平台-Adspark-免费广告监测-应用管理创建
// const val APP_LOG_ID = "643002"
//
// fun init(application: Application) {
// // 第一个参数APPID: 参考2.1节获取
// // 第二个参数CHANNEL: 填写渠道信息,请注意不能为空
// val config = InitConfig(APP_LOG_ID, createChannel())
// // 设置数据上送地址
// config.setUriConfig(UriConstants.DEFAULT)
// config.isImeiEnable = false //建议关停获取IMEI(出于合规考虑)
// config.isAutoTrackEnabled = false // 全埋点开关,true开启,false关闭
// config.isLogEnable = BuildConfig.LOG_DEBUG // true:开启日志,参考4.3节设置logger,false:关闭日志
// AppLog.setEncryptAndCompress(true) // 加密开关,true开启,false关闭
// config.setEnablePlay(true) // 配置心跳事件(时长统计)
// /**
// * 用于获取用户唯一性bd_did
// * @description
// */
// AppLog.addDataObserver(object : IDataObserver {
// /**
// * 本地的id数据加载结果通知
// * @param did device id
// * @param iid install id
// * @param ssid ssid
// */
// override fun onIdLoaded(s: String, s1: String, s2: String) {}
//
// /**
// * 通知注册结果,以及id变化情况
// * 仅主进程会被调用
// * @param changed 是否和本地缓存有所不同
// * @param oldDid 原device id
// * @param newDid server返回新的device id
// * @param oldIid 原install id
// * @param newIid server返回新install id
// * @param oldSsid 原ssid
// * @param newSsid server返回新ssid
// */
// override fun onRemoteIdGet(
// b: Boolean,
// s: String?,
// s1: String,
// s2: String,
// s3: String,
// s4: String,
// s5: String
// ) {
// val bd_did = AppLog.getDid()
// LogUtil.d("mcg --> 用户唯一性bd_did=" + bd_did)
// }
//
// /**
// * Config拉取数据,和本地数据对比有变化的通知
// * 仅主进程会被调用
// * @param changed 是否和本地缓存有所不同
// * @param config server返回新config内容
// */
// override fun onRemoteConfigGet(b: Boolean, jsonObject: JSONObject?) {}
//
// /**
// * server拉取AbConfig数据,和本地数据对比有变化的通知
// * 仅主进程会被调用
// * @param changed 是否和本地缓存有所不同
// * @param abConfig server返回新abConfig内容
// */
// override fun onRemoteAbConfigGet(b: Boolean, jsonObject: JSONObject) {
// LogUtil.d("mcg -->---测试---返回全部进组信息", "" + jsonObject.toString())
// }
//
// /**
// * Vid变化通知
// */
// override fun onAbVidsChange(s: String, s1: String) {}
// })
// //SDK会采集OAID、ANDROID_ID和其他的设备特征字段,请遵循相关合规要求在隐私弹窗后采集
// //传入需要init的AppLog实例,若没有多个AppLog实例,则传入AppLog.getInstance()即可
// BDConvert.getInstance().init(application, AppLog.getInstance())
// // 如果在 onCreate 阶段初始化拿不到 XXXActivity 则不需要传递第三个参数
// AppLog.init(application, config)
// // 请在用户授权后调用如下方法,start 开始实际采集用户信息+上报:
// AppLog.start()
// // 在初始化后必须设置AppLog.setHeaderInfo("csj_attribution",1),否则会直接影响归因结果。
// AppLog.setHeaderInfo("csj_attribution", 1)
// }
//
//
// /**
// * 创建渠道
// *
// * @return
// */
// private fun createChannel(): String {
// var channel = getAppMetaData(MintsApplication.getContext(), "CHANNEL_NAME")
// try {
// paramsObj.put("key_string", "value_string")
// paramsObj.put("key_int", 10)
// // 穿山甲分包渠道
// val ttChannel = HumeSDK.getChannel(MintsApplication.getContext())
// if (!TextUtils.isEmpty(ttChannel)) {
// // 此处方式不能修改,已和后端约定
// channel = channel + "_" + ttChannel
// }
// } catch (e: Exception) {
// e.printStackTrace()
// }
// AppLog.onEventV3(GrownEventType.PURCHASE, paramsObj)
}
}
\ No newline at end of file
// return channel
// }
//
//
// object GrownEventType {
// //注册
// const val REGISTER = "grown_attribution_event_register"
//
// //付费
// const val PURCHASE = "grown_attribution_event_purchase"
//
// //关键行为
// const val KEY_BEHAVIOR = "grown_attribution_event_key_behavior"
//
// //下单
// const val ORDER = "grown_attribution_event_order"
//
// //下载
// const val DOWNLOAD = "grown_attribution_event_download"
//
// //应用内拉起
// const val DEEPLINK = "grown_attribution_event_deelink"
//
// //授权
// const val AUTHORIZATION = "grown_attribution_event_authorization"
//
// //广告变现
// const val AD_PURCHASE = "grown_attribution_event_ad_purchase"
//
// //次留
// const val RETENTION_2D = "grown_attribution_event_retention_2d"
//
// //添加购物车
// const val ADD_TO_CART = "grown_attribution_event_add_to_cart"
//
// //表单提交
// const val FORM_SUBMIT = "grown_attribution_event_form_submit"
//
// //拉活
// const val APP_RE_ACTIVE_WAKE_UP = "grown_attribution_event_app_re_active_wake_up"
//
// //自定义激活
// const val CUSTOM_ACTIVITION = "grown_attribution_event_custom_activition"
//
// //自定义注册
// const val CUSTOM_REGISTER = "grown_attribution_event_custom_register"
// }
//
// fun event(v: String) {
// //方式一,穿山甲
// AppLog.onEventV3(v)
//
//// //方式二,自定义
//// val paramsObj = JSONObject()
//// try {
//// paramsObj.put("key_string", "value_string")
//// paramsObj.put("key_int", 10)
//// } catch (e: Exception) {
//// e.printStackTrace()
//// }
//// AppLog.onEventV3(GrownEventType.PURCHASE, paramsObj)
// }
//}
\ No newline at end of file
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