Merge branch 'feat/GHZSCY-7048' into 'dev'
feat: 推广包快手API新增次留上报 https://jira.shanqu.cc/browse/GHZSCY-7048 See merge request halo/android/assistant-android!2099
This commit is contained in:
@ -2,6 +2,7 @@ package com.gh.common.util
|
||||
|
||||
import com.gh.gamecenter.core.utils.SPUtils
|
||||
import com.gh.gamecenter.common.retrofit.Response
|
||||
import com.gh.gamecenter.core.utils.TimeUtils
|
||||
import com.gh.gamecenter.retrofit.RetrofitManager
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import okhttp3.ResponseBody
|
||||
@ -12,15 +13,18 @@ import okhttp3.ResponseBody
|
||||
object ActivationHelper {
|
||||
|
||||
private const val HAS_SENT_ACTIVATED_INFO = "has_sent_activated_info"
|
||||
private const val SENT_ACTIVATED_INFO_TIME = "sent_activated_info_time"
|
||||
private const val HAS_SENT_RETENTION_INFO = "has_sent_retention_info"
|
||||
|
||||
var mHasSentActivatedInfo = SPUtils.getBoolean(HAS_SENT_ACTIVATED_INFO, false)
|
||||
private var hasSentActivatedInfo = SPUtils.getBoolean(HAS_SENT_ACTIVATED_INFO, false)
|
||||
private var hasSentRetentionInfo = SPUtils.getBoolean(HAS_SENT_RETENTION_INFO, false)
|
||||
|
||||
/**
|
||||
* 发送激活信息 (用于推广)
|
||||
*/
|
||||
@JvmStatic
|
||||
fun sendActivationInfo() {
|
||||
if (!mHasSentActivatedInfo) {
|
||||
if (!hasSentActivatedInfo) {
|
||||
RetrofitManager.getInstance()
|
||||
.api.postActivationInfo()
|
||||
.subscribeOn(Schedulers.io())
|
||||
@ -28,8 +32,36 @@ object ActivationHelper {
|
||||
override fun onResponse(response: ResponseBody?) {
|
||||
super.onResponse(response)
|
||||
|
||||
mHasSentActivatedInfo = true
|
||||
hasSentActivatedInfo = true
|
||||
SPUtils.setBoolean(HAS_SENT_ACTIVATED_INFO, true)
|
||||
SPUtils.setLong(SENT_ACTIVATED_INFO_TIME, System.currentTimeMillis())
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送次日留存信息 (用于推广)
|
||||
*/
|
||||
@JvmStatic
|
||||
fun sendRetentionInfo() {
|
||||
if (hasSentActivatedInfo && !hasSentRetentionInfo) {
|
||||
val activateTimeMillis = SPUtils.getLong(SENT_ACTIVATED_INFO_TIME, 0)
|
||||
val currentTimeMillis = System.currentTimeMillis()
|
||||
|
||||
if (!TimeUtils.isNextDay(activateTimeMillis, currentTimeMillis)) {
|
||||
return
|
||||
}
|
||||
|
||||
RetrofitManager.getInstance()
|
||||
.api.postRetentionInfo()
|
||||
.subscribeOn(Schedulers.io())
|
||||
.subscribe(object : Response<ResponseBody>() {
|
||||
override fun onResponse(response: ResponseBody?) {
|
||||
super.onResponse(response)
|
||||
|
||||
hasSentRetentionInfo = true
|
||||
SPUtils.setBoolean(HAS_SENT_RETENTION_INFO, true)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@ -1308,6 +1308,13 @@ public interface ApiService {
|
||||
@POST("./app:activate")
|
||||
Observable<ResponseBody> postActivationInfo();
|
||||
|
||||
/**
|
||||
* 次日留存
|
||||
*/
|
||||
@POST("./app:retention")
|
||||
Observable<ResponseBody> postRetentionInfo();
|
||||
|
||||
|
||||
/**
|
||||
* 获取首页游戏补充库
|
||||
*/
|
||||
|
||||
@ -366,6 +366,9 @@ public class HaloApp extends MultiDexApplication {
|
||||
LogUtils.uploadDevice(launchType);
|
||||
|
||||
ActivationHelper.sendActivationInfo();
|
||||
} else {
|
||||
// 发送次日留存信息
|
||||
ActivationHelper.sendRetentionInfo();
|
||||
}
|
||||
return null;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user