XuqmGroup-AndroidSDK/sdk-push/src/main/java/com/xuqm/sdk/push/PushSDK.kt

41 行
1.2 KiB
Kotlin

2026-04-21 22:07:29 +08:00
package com.xuqm.sdk.push
import android.content.Context
import com.xuqm.sdk.XuqmSDK
import com.xuqm.sdk.core.ServiceEndpointRegistry
2026-04-21 22:07:29 +08:00
import com.xuqm.sdk.network.ApiClient
import com.xuqm.sdk.push.api.PushApi
import com.xuqm.sdk.utils.DeviceUtils
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
object PushSDK {
private val api: PushApi get() = ApiClient.create(PushApi::class.java, ServiceEndpointRegistry.pushBaseUrl)
2026-04-21 22:07:29 +08:00
private val scope = CoroutineScope(Dispatchers.IO)
fun registerDevice(context: Context, userId: String) {
2026-04-21 22:07:29 +08:00
XuqmSDK.requireInit()
val vendor = DeviceUtils.getVendor()
val deviceId = DeviceUtils.getDeviceId(context)
2026-04-21 22:07:29 +08:00
scope.launch {
runCatching {
api.registerDevice(
appId = XuqmSDK.appId,
userId = userId,
vendor = vendor,
token = deviceId,
)
2026-04-21 22:07:29 +08:00
}
}
}
fun unregisterDevice(userId: String) {
2026-04-21 22:07:29 +08:00
XuqmSDK.requireInit()
scope.launch {
runCatching { api.unregisterDevice(XuqmSDK.appId, userId) }
2026-04-21 22:07:29 +08:00
}
}
}