package com.xuqm.sdk.push import android.content.Context import com.xuqm.sdk.XuqmSDK import com.xuqm.sdk.core.ServiceEndpointRegistry 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) private val scope = CoroutineScope(Dispatchers.IO) fun registerDevice(context: Context, userId: String) { XuqmSDK.requireInit() val vendor = DeviceUtils.getVendor() val deviceId = DeviceUtils.getDeviceId(context) scope.launch { runCatching { api.registerDevice( appId = XuqmSDK.appId, userId = userId, vendor = vendor, token = deviceId, ) } } } fun unregisterDevice(userId: String) { XuqmSDK.requireInit() scope.launch { runCatching { api.unregisterDevice(XuqmSDK.appId, userId) } } } }