From 2a9747df3f1b2f2c9fa4e9c88456589bc65716fa Mon Sep 17 00:00:00 2001 From: TonyJiangWJ Date: Wed, 27 Mar 2024 22:09:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=98=E6=9B=B4=E6=95=B0=E6=8D=AE=E5=88=86?= =?UTF-8?q?=E6=9E=90=E6=8E=A5=E5=8F=A3=E4=B8=BAPostHog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 8 ++++---- app/proguard-rules.pro | 6 +++--- app/src/main/java/org/autojs/autojs/App.kt | 18 +++++++++++++----- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 65465f8a..0f17218c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,7 +12,7 @@ def storePasswd = System.getenv('autojspasswd') def keyPasswd = System.getenv('autojspasswd') def alias = System.getenv('autojsalias') def buglyAppId = System.getenv("bugly_app_id") -def flurryAppId = System.getenv("flurry_app_id") +def posthogAppId = System.getenv("posthog_app_id") def signSupport = false @@ -43,7 +43,7 @@ android { versionCode versions.appVersionCode versionName versions.appVersionName buildConfigField "String", "BUGLY_APP_ID", "\"${buglyAppId ?: ''}\"" - buildConfigField "String", "FLURRY_APP_ID", "\"${flurryAppId ?: ''}\"" + buildConfigField "String", "POSTHOG_APP_ID", "\"${posthogAppId ?: ''}\"" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true javaCompileOptions { @@ -220,8 +220,8 @@ dependencies { implementation 'joda-time:joda-time:2.12.5' // Tasker Plugin implementation 'com.twofortyfouram:android-plugin-client-sdk-for-locale:4.0.3' - // Flurry - implementation 'com.flurry.android:analytics:14.4.0@aar' + // PostHog + implementation("com.posthog:posthog-android:3.1.15") // Bugly implementation 'com.tencent.bugly:crashreport:4.0.4' // 4.+ 合并了 不需要手动引入 diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index b1738212..6ccb2012 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -104,9 +104,9 @@ -keepattributes EnclosingMethod -# Required to preserve the Flurry SDK --keep class com.flurry.** { *; } --dontwarn com.flurry.** +# Required to preserve the PostHog SDK +-keep class com.posthog.** { *; } +-dontwarn com.posthog.** -keepattributes *Annotation*,EnclosingMethod,Signature -keepclasseswithmembers class * { diff --git a/app/src/main/java/org/autojs/autojs/App.kt b/app/src/main/java/org/autojs/autojs/App.kt index 89fd4d51..7ee8c1e4 100644 --- a/app/src/main/java/org/autojs/autojs/App.kt +++ b/app/src/main/java/org/autojs/autojs/App.kt @@ -13,7 +13,9 @@ import androidx.multidex.MultiDexApplication import com.bumptech.glide.Glide import com.bumptech.glide.request.target.SimpleTarget import com.bumptech.glide.request.transition.Transition -import com.flurry.android.FlurryAgent +import com.posthog.android.PostHogAndroid +import com.posthog.android.PostHogAndroidConfig + import com.stardust.app.GlobalAppContext import com.stardust.autojs.core.ui.inflater.ImageLoader import com.stardust.autojs.core.ui.inflater.util.Drawables @@ -34,6 +36,7 @@ import org.autojs.autojs.timing.TimedTaskScheduler import org.autojs.autojs.tool.CrashHandler import org.autojs.autojs.ui.error.ErrorReportActivity import java.lang.ref.WeakReference +import java.util.* /** * Created by Stardust on 2017/1/27. @@ -53,11 +56,16 @@ class App : MultiDexApplication() { } private fun setUpStaticsTool() { - if (BuildConfig.DEBUG || StringUtils.isEmpty(BuildConfig.FLURRY_APP_ID)) + if (BuildConfig.DEBUG || StringUtils.isEmpty(BuildConfig.POSTHOG_APP_ID)) return - FlurryAgent.Builder() - .withLogEnabled(BuildConfig.DEBUG) - .build(this, BuildConfig.FLURRY_APP_ID) + // Create a PostHog Config with the given API key and host + val config = PostHogAndroidConfig( + apiKey = BuildConfig.POSTHOG_APP_ID, + host = "https://app.posthog.com" + ) + + // Setup PostHog with the given Context and Config + PostHogAndroid.setup(this, config) } @SuppressLint("HardwareIds")