SDKAppID 及 SDKSecretKey 并直接跳转到下一节。


SDKAppID、SDKSecretKey,后续运行 Demo 时需要用到这两个信息。



LoginStore 的 login API 登录用户账号,分两种情况:// API location: io.trtc.tuikit.atomicxcore.api.login.LoginStoreLoginStore.shared.login(activity, // Activity contextsdkAppID, // Int, SDK application IDuserID, // String, User IDuserSig, // String, User signatureobject : CompletionHandler {override fun onSuccess() {// Login success}override fun onFailure(code: Int, desc: String) {// Login failed}})
sdkAppID,上文获取的 sdkAppID。senderUserID,发送消息者的 userID(也就是上文的 user1)。senderUserSig,上文获取到的,发送消息者的 userSig。receiverUserID,接受消息者的 userID。// ChatDemoActivity.ktimport android.os.Bundleimport androidx.activity.compose.setContentimport androidx.appcompat.app.AppCompatActivityimport androidx.compose.foundation.backgroundimport androidx.compose.foundation.layout.Boximport androidx.compose.foundation.layout.Columnimport androidx.compose.foundation.layout.fillMaxSizeimport androidx.compose.foundation.layout.fillMaxWidthimport androidx.compose.foundation.layout.navigationBarsPaddingimport androidx.compose.foundation.layout.paddingimport androidx.compose.foundation.layout.statusBarsPaddingimport androidx.compose.material3.CircularProgressIndicatorimport androidx.compose.material3.Textimport androidx.compose.runtime.getValueimport androidx.compose.runtime.mutableStateOfimport androidx.compose.runtime.rememberimport androidx.compose.runtime.setValueimport androidx.compose.ui.Alignmentimport androidx.compose.ui.Modifierimport io.trtc.tuikit.atomicx.basecomponent.theme.LocalThemeimport io.trtc.tuikit.atomicx.messageinput.ui.MessageInputimport io.trtc.tuikit.atomicx.messagelist.ui.MessageListimport io.trtc.tuikit.atomicxcore.api.CompletionHandlerimport io.trtc.tuikit.atomicxcore.api.login.LoginStoreclass ChatDemoActivity : AppCompatActivity() {private val sdkAppID: Int = 1234567890 // TODO: Fill in the sdkAppID here.private val senderUserID = "" // TODO: Fill in your userID here, you are the sender.private val senderUserSig = "" // TODO: Fill in your generated userSig here.private val receiverUserID = "" // TODO: Fill in the receiver's userID here.// C2C conversationID: "c2c_${userID}", Group conversationID: "group_${groupID}"private val conversationID: String get() = "c2c_${receiverUserID}"override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)login()}private fun login() {LoginStore.shared.login(this, sdkAppID, senderUserID, senderUserSig, object : CompletionHandler {override fun onSuccess() {showChatPage()}override fun onFailure(code: Int, desc: String) {// Handle login failure}})}private fun showChatPage() {setContent {val colors = LocalTheme.current.colorsColumn(modifier = Modifier.fillMaxSize().background(color = colors.bgColorOperate).statusBarsPadding()) {// MessageListBox(modifier = Modifier.weight(1f)) {MessageList(conversationID = conversationID,onUserClick = { userID ->// Handle user avatar click})}// MessageInputMessageInput(conversationID = conversationID,modifier = Modifier.navigationBarsPadding())}}}}

文档反馈