diff --git a/app/build.gradle b/app/build.gradle index c5913fbd89..f30e6dbbe1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -127,7 +127,7 @@ android { variantFilter { variant -> def names = variant.flavors*.name def isDebugType = variant.buildType.name == "debug" - if ((names.contains("tea")) && isDebugType) { + if ((names.contains("tea") || name.contains("kuaishou")) && isDebugType) { setIgnore(true) } } @@ -144,6 +144,9 @@ android { tea { java.srcDirs = ['src/main/java', 'src/tea/java'] } + kuaishou { + java.srcDirs = ['src/main/java', 'src/kuaishou/java'] + } } productFlavors { @@ -181,6 +184,16 @@ android { manifestPlaceholders.put("APPLOG_SCHEME", "rangersapplog.byAx6uYt".toLowerCase()) } + + kuaishou { + dimension "env" + + buildConfigField "String", "DEV_API_HOST", "\"${API_HOST}\"" + buildConfigField "String", "NEW_DEV_API_HOST", "\"${NEW_API_HOST}\"" + buildConfigField "String", "DEV_VAPI_HOST", "\"${VAPI_HOST}\"" + buildConfigField "String", "QUICK_LOGIN_APPID", "\"${QUICK_LOGIN_APPID}\"" + buildConfigField "String", "QUICK_LOGIN_APPKEY", "\"${QUICK_LOGIN_APPKEY}\"" + } } } @@ -195,6 +208,7 @@ dependencies { implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs') teaImplementation fileTree(include: ['*.jar', '*.aar'], dir: 'src/tea/libs') + kuaishouImplementation fileTree(include: ['*.jar', '*.aar'], dir: 'src/kuaishou/libs') testImplementation 'junit:junit:4.12' debugImplementation "com.squareup.leakcanary:leakcanary-android:${leakcanary}" diff --git a/app/src/kuaishou/java/com/gh/gamecenter/KuaishouHelper.kt b/app/src/kuaishou/java/com/gh/gamecenter/KuaishouHelper.kt new file mode 100644 index 0000000000..f544ef154f --- /dev/null +++ b/app/src/kuaishou/java/com/gh/gamecenter/KuaishouHelper.kt @@ -0,0 +1,30 @@ +package com.gh.gamecenter + +import android.content.Context +import com.kwai.monitor.log.TurboAgent +import com.kwai.monitor.log.TurboConfig + +object KuaishouHelper { + private const val APP_ID = "80655" + private const val APP_NAME = "guanghuanzhushou_1" + + @JvmStatic + fun init(context: Context, channel: String) { + TurboAgent.init( + TurboConfig.TurboConfigBuilder.create(context) + .setAppId(APP_ID) + .setAppName(APP_NAME) + .setAppChannel(channel) + .build() + ) + } + + @JvmStatic + fun onEvent(type: String) { + when (type) { + "EVENT_ACTIVE" -> TurboAgent.onAppActive() + "active_register" -> TurboAgent.onRegister() + "EVENT_NEXTDAY_STAY" -> TurboAgent.onNextDayStay() + } + } +} \ No newline at end of file diff --git a/app/src/kuaishou/java/com/gh/gamecenter/provider/FlavorProviderImp.kt b/app/src/kuaishou/java/com/gh/gamecenter/provider/FlavorProviderImp.kt new file mode 100644 index 0000000000..b5a1a2e550 --- /dev/null +++ b/app/src/kuaishou/java/com/gh/gamecenter/provider/FlavorProviderImp.kt @@ -0,0 +1,48 @@ +package com.gh.gamecenter.provider + +import android.app.Activity +import android.app.Application +import android.text.TextUtils +import com.gh.gamecenter.KuaishouHelper +import com.gh.gamecenter.core.provider.IFlavorProvider +import com.gh.gamecenter.core.utils.SPUtils +import com.gh.gamecenter.core.utils.TimeUtils +import com.halo.assistant.HaloApp +import com.leon.channel.helper.ChannelReaderUtil + +class FlavorProviderImp : IFlavorProvider { + + override fun init(application: Application, activity: Activity) { + KuaishouHelper.init(application, getChannelStr(application)) + + if (HaloApp.getInstance().isBrandNewInstall) { + logEvent("EVENT_ACTIVE") + SPUtils.setLong("TIME_OF_BRAND_NEW_INSTALL", System.currentTimeMillis() / 1000) + } else { + val shouldSendRetentionLogEvent = + SPUtils.getBoolean("SHOULD_SEND_RETENTION_EVENT", true) + val installTimeNotToday = + !TimeUtils.isToday(SPUtils.getLong("TIME_OF_BRAND_NEW_INSTALL", System.currentTimeMillis() / 1000)) + if (shouldSendRetentionLogEvent && installTimeNotToday) { + logEvent("EVENT_NEXTDAY_STAY") + SPUtils.setBoolean("SHOULD_SEND_RETENTION_EVENT", false) + } + } + } + + override fun getChannelStr(application: Application): String { + var channel = ChannelReaderUtil.getChannel(application) + if (channel == null || TextUtils.isEmpty(channel.trim())) { + channel = KUAISHOU_CHANNEL + } + return channel + } + + override fun logEvent(content: String) { + KuaishouHelper.onEvent(content) + } + + companion object { + private const val KUAISHOU_CHANNEL = "KS-GHZS-01" + } +} \ No newline at end of file diff --git a/app/src/kuaishou/libs/monitorsdk-1.0.11.aar b/app/src/kuaishou/libs/monitorsdk-1.0.11.aar new file mode 100644 index 0000000000..6a530cbd69 Binary files /dev/null and b/app/src/kuaishou/libs/monitorsdk-1.0.11.aar differ diff --git a/scripts/build_with_simple_backup.sh b/scripts/build_with_simple_backup.sh index 035ee9e974..eb727dfa12 100755 --- a/scripts/build_with_simple_backup.sh +++ b/scripts/build_with_simple_backup.sh @@ -24,7 +24,7 @@ sed -i 's/buildConfigField "boolean", "IS_VGAME_ON", "true"/buildConfigField "bo ./gradlew --stop ./gradlew clean -while getopts "tg" arg +while getopts "tk" arg do case ${arg} in t) @@ -33,10 +33,10 @@ do cp -R app/build/outputs/apk/tea/release/app-tea-release.apk release-app/${versionName}_${versionCode}/光环助手_${versionName}_${versionCode}_头条推广正式包_${git_sha}_${build_time}.apk exit ;; - g) - ./gradlew aGR -I init.gradle + k) + ./gradlew aKR -I init.gradle mkdir -p release-app/${versionName}_${versionCode} - cp -R app/build/outputs/apk/gdt/release/app-gdt-release.apk release-app/${versionName}_${versionCode}/光环助手_${versionName}_${versionCode}_广点通推广正式包_${git_sha}_${build_time}.apk + cp -R app/build/outputs/apk/kuaishou/release/app-kuaishou-release.apk release-app/${versionName}_${versionCode}/光环助手_${versionName}_${versionCode}_快手推广正式包_${git_sha}_${build_time}.apk exit ;; esac