libs
的文件夹。.aar
文件放入 libs
目录。在您的 Application
类或主 Activity
的 onCreate
方法中初始化 SDK:
import android.app.Application
import android.view.MotionEvent
import com.cleartrust.cleartrustadfraudtestingapp.android.ct_fraud_detection_sdk.*
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
class MyApplication : Application() {
private lateinit var CTSessionManager: CTSessionManager
private lateinit var CTDeviceMovementMonitor: CTDeviceMovementMonitor
private lateinit var CTTouchTracker: CTTouchTracker
private lateinit var CTApiClient: CTApiClient
private lateinit var CTDeviceInfoManager: CTDeviceInfoManager
private lateinit var fraudScore: CTFraudScore
private lateinit var CTAppUtils: CTAppUtils
override fun onCreate() {
super.onCreate()
CTApiClient = CTApiClient(this)
CTAppUtils = CTAppUtils(this)
CTDeviceInfoManager = CTDeviceInfoManager(this)
CTSessionManager = CTSessionManager(CTApiClient)
CTDeviceMovementMonitor = CTDeviceMovementMonitor(application, CTAppUtils, this)
CTTouchTracker = CTTouchTracker()
val uuid = CTAppUtils.ctGetDeviceInfo().uuid
val apiKey = "您的授权密钥"
fraudScore = CTFraudScore(this, uuid, apiKey, s1="", s2="", s3="", s4="", s5="", s6="")
fraudScore.startFraudScoreUpdates()
CTAppUtils.ctRequestPermissions(this)
val coroutineScope = CoroutineScope(Dispatchers.Main)
coroutineScope.launch {
fraudScore.ctGetFraudScore()
}
CTDeviceMovementMonitor.startMonitoring()
}
override fun onDestroy() {
super.onDestroy()
CTDeviceMovementMonitor.stopMonitoring()
fraudScore.stopFraudScoreUpdates()
}
override fun dispatchTouchEvent(event: MotionEvent): Boolean {
CTTouchTracker.trackTouches(event, this)
return super.dispatchTouchEvent(event)
}
}
在上述示例中,将占位符 您的授权密钥
替换为您的实际授权密钥:
val apiKey = "您的授权密钥"
在您的 AndroidManifest.xml
文件中添加以下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
build.gradle.kts
文件中添加以下依赖项:dependencies {
// 您现有的依赖项
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.aar"))))
implementation("com.squareup.okhttp3:logging-interceptor:4.10.0")
implementation("androidx.lifecycle:lifecycle-process:2.6.2")
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
implementation("com.squareup.okhttp3:logging-interceptor:4.11.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
implementation("com.squareup.okhttp3:okhttp:4.9.3")
implementation("com.google.code.gson:gson:2.8.8")
}
欺诈评分是基于各种因素计算的。要从 SDK 获取评分,请使用以下函数:
val score = fraudScore.ctGetFraudScore()
如果该函数返回 null
,请将值默认设置为 0
。
CTFraudScore
时传递最多六个可选参数(s1
到 s6
):fraudScore = CTFraudScore(this, uuid, apiKey, s1="value1", s2="value2", s3="value3", s4="value4", s5="value5", s6="value6")
CTFraudScore
时,传递应用的 Bundle ID 和应用名称,分别对应参数 s5
和 s6
。fraudScore = CTFraudScore(
context = this,
uuid = uuid,
apiKey = apiKey,
s1 = "",
s2 = "",
s3 = "",
s4 = "",
s5 = "您的.Bundle.ID", // 将此处替换为您的实际 Bundle ID
s6 = "您的应用名称" // 将此处替换为您的实际应用名称
)
"您的.Bundle.ID"
和 "您的应用名称"
分别替换为您应用的实际 Bundle ID 和应用名称。