瀏覽代碼

feat: 天御sdk,生成DeviceToken

XiaodongLin 1 年之前
父節點
當前提交
ba985bd394

+ 1 - 0
app/build.gradle

@@ -365,6 +365,7 @@ dependencies {
 
     //frame
     api platform(libs.frame.bom)
+    api libs.frame.tcturing
     api libs.frame.animplayer
     api libs.frame.drawee
     api libs.frame.image

二進制
app/libs/R_TuringSDK_v89_c0_lc2015CDED3C7265AE_release_20240527140603_pri_mini_nolog.aar


+ 3 - 0
app/src/main/java/com/adealink/weparty/App.kt

@@ -48,6 +48,7 @@ import com.adealink.frame.util.ActivityLifecycleCallbacksExt
 import com.adealink.frame.util.AppUtil
 import com.adealink.frame.util.ScreenAutoSizeUtil
 import com.adealink.frame.util.registerNetworkReceiver
+import com.adealink.tcturing.TCTuringManager
 import com.adealink.weparty.aab.AABConfig
 import com.adealink.weparty.apm.APMConfig
 import com.adealink.weparty.apm.initAPM
@@ -64,6 +65,7 @@ import com.adealink.weparty.debug.Debug
 import com.adealink.weparty.debug.DebugPrefs
 import com.adealink.weparty.deeplink.DeepLinkConfig
 import com.adealink.weparty.deviceidservice.DeviceIdServiceConfig
+import com.adealink.weparty.deviceidservice.TCTuringConfig
 import com.adealink.weparty.download.DownloadConfig
 import com.adealink.weparty.effect.EffectConfig
 import com.adealink.weparty.effect.TCEffectConfig
@@ -199,6 +201,7 @@ class App : SplitCompatApplication(), ActivityLifecycleCallbacksExt {
         initAPM(this)
         networkService.fetchNetAntiBanConfig()
         deviceIdService.updateDeviceId()
+        TCTuringManager.init(TCTuringConfig())
         initAttribution()
         initAutoSize()
         initDebugKit()

+ 18 - 0
app/src/main/java/com/adealink/weparty/deviceidservice/TCTuringConfig.kt

@@ -0,0 +1,18 @@
+package com.adealink.weparty.deviceidservice
+
+import com.adealink.tcturing.config.ITCTuringConfig
+import com.adealink.weparty.App
+
+class TCTuringConfig: ITCTuringConfig {
+    override val channel: Int = 400055
+    override val hostUrl: String = "https://www.turingfraud.net"
+    override val blackPackageNameList: List<String> = listOf()
+
+    override fun userAgreement(): Boolean {
+        return true
+    }
+
+    override fun getAndroidId(): String {
+        return App.instance.deviceIdService.getAndroidID()
+    }
+}

+ 1 - 0
gradle/libs.versions.toml

@@ -366,6 +366,7 @@ frame-push = { group = "com.wenext.android", name = "frame-push" }
 frame-room = { group = "com.wenext.android", name = "frame-room" }
 frame-tceffect = { group = "com.wenext.android", name = "frame-tceffect" }
 frame-share = { group = "com.wenext.android", name = "frame-share" }
+frame-tcturing = { group = "com.wenext.android", name = "frame-tcturing" }
 frame-router-api = { group = "com.wenext.android", name = "frame-router-api" }
 frame-router-annotation = { group = "com.wenext.android", name = "frame-router-annotation" }
 frame-router-compiler = { group = "com.wenext.android", name = "frame-router-compiler", version.ref = "frameRouterCompiler"}

+ 3 - 1
module/account/src/main/java/com/adealink/weparty/account/login/data/LoginData.kt

@@ -51,7 +51,8 @@ data class LoginReq(
 
     @SerializedName("inviter") val inviterUidCode: String? = null, //用于绑定大R邀请好友关系
     @SerializedName("shareScene") val shareScene: String? = null, //分享场景(不填:大R分享, 1:房间分享, 3:普通分享)
-)
+    @SerializedName("deviceToken") val deviceToken: String? = null,
+    )
 
 @Parcelize
 @JsonAdapter(ExtReflectiveTypeAdapterFactory::class)
@@ -111,6 +112,7 @@ data class PhoneLoginReq(
     @SerializedName("fromSimulator") val simulator: Boolean = false,
     @SerializedName("virtualApk") val virtualApk: Boolean = false,
     @SerializedName("appsflyerId") val appsflyerId: String = "",
+    @SerializedName("deviceToken") val deviceToken: String? = null
 )
 
 enum class GetVerifyCodeReason(val value: Int) {

+ 10 - 3
module/account/src/main/java/com/adealink/weparty/account/login/manager/LoginManager.kt

@@ -16,6 +16,7 @@ import com.adealink.frame.network.data.Res
 import com.adealink.frame.router.Router
 import com.adealink.frame.util.AppUtil
 import com.adealink.frame.util.getSimMmc
+import com.adealink.tcturing.TCTuringManager
 import com.adealink.weparty.App
 import com.adealink.weparty.account.ban.banManager
 import com.adealink.weparty.account.constant.AccountFBSelectError
@@ -227,6 +228,7 @@ class LoginManager : BaseFrame<ILoginListener>(), ILoginManager {
         val isEmulator = App.instance.securityService.isEmulator()
         val isVirtualApk = App.instance.securityService.isVirtualApk()
         val appsflyerId = AttributionModule.getAppsFlyerUID()
+        val deviceToken = TCTuringManager.getDeviceToken()
         var tidReq: Long? = null //用户登录tid
         Log.i(TAG_ACCOUNT_LOGIN, "login, isVirtualApk:${isVirtualApk}, isEmulator${isEmulator}")
         var loginReq = LoginReq(
@@ -243,7 +245,8 @@ class LoginManager : BaseFrame<ILoginListener>(), ILoginManager {
             simMcc = getSimMmc(),
             tid = tid,
             inviterUidCode = inviteUidCode,
-            shareScene = shareScene
+            shareScene = shareScene,
+            deviceToken = deviceToken
         )
         //判断一个fb账号是否关联两个账号
         if (authType == ThirdType.FB && tid == null && token != "") {
@@ -299,6 +302,7 @@ class LoginManager : BaseFrame<ILoginListener>(), ILoginManager {
         val isEmulator = App.instance.securityService.isEmulator()
         val isVirtualApk = App.instance.securityService.isVirtualApk()
         val appsflyerId = AttributionModule.getAppsFlyerUID()
+        val deviceToken = TCTuringManager.getDeviceToken()
         val rlt = loginService.phoneLogin(
             PhoneLoginReq(
                 phone,
@@ -309,7 +313,8 @@ class LoginManager : BaseFrame<ILoginListener>(), ILoginManager {
                 countryCode,
                 simulator = isEmulator,
                 virtualApk = isVirtualApk,
-                appsflyerId = appsflyerId
+                appsflyerId = appsflyerId,
+                deviceToken = deviceToken
             )
         )
         if (rlt is Rlt.Success) {
@@ -343,6 +348,7 @@ class LoginManager : BaseFrame<ILoginListener>(), ILoginManager {
         val isEmulator = App.instance.securityService.isEmulator()
         val isVirtualApk = App.instance.securityService.isVirtualApk()
         val appsflyerId = AttributionModule.getAppsFlyerUID()
+        val deviceToken = TCTuringManager.getDeviceToken()
         val rlt = loginService.phoneLogin(
             PhoneLoginReq(
                 phone,
@@ -353,7 +359,8 @@ class LoginManager : BaseFrame<ILoginListener>(), ILoginManager {
                 countryCode,
                 simulator = isEmulator,
                 virtualApk = isVirtualApk,
-                appsflyerId = appsflyerId
+                appsflyerId = appsflyerId,
+                deviceToken = deviceToken
             )
         )
         if (rlt is Rlt.Success) {