发送第一条消息

本文会引导您集成 TUIKitTUIChat 并成功发送第一条消息。

开发环境要求

Xcode 10 及以上
iOS 9.0 及以上
CocoaPods 1.7.5 及以上

创建应用

在集成 TUIKit 之前,您需要先去控制台创建一个新的 Chat 应用,步骤如下:
1. 注册腾讯云 账号并添加支付方式。
2. 登录 即时通信 Chat 控制台,单击 Create Application



3. 在创建弹窗中输入应用名称并选择 Chat,选择合适的 Deployment Region,单击 Create



4. 创建完成后,可在当前 Chat 产品详情页面My Applications 查看新建应用的状态、业务版本、SDKAppID、SDKSecretKey、创建时间以及到期时间。
说明
新建应用的业务版本默认为体验版,状态默认为启用。
同一个腾讯云账号,最多可创建300个即时通信 Chat 应用。若已有300个应用,您可以先 停用并删除 无需使用的应用后再创建新的应用。应用删除后,该 SDKAppID 对应的所有数据和服务不可恢复,请谨慎操作。




创建账号

创建 Application 只能保证您可以正常初始化 SDK。如果要成功发消息,您还需要在 Application 中创建用户账号。创建账号方式有很多,例如直接在控制台创建,或者通过 API 在客户端注册,您可以选择任意一种合适的方式。
注意:
发消息至少是两个用户之间进行,因此您在此环节至少要创建 2 个账号。请记录下这 2 个账号的 userID,后续步骤会使用到。

在控制台创建

说明:
更多账号相关操作,请参见 账号管理
1. 登录 即时通信 Chat 控制台,在左侧导航栏选择 Chat > Users,在顶部选择目标应用
2. 在账号管理页面,单击新建账号。
3. 在弹出的新建账号对话框中,配置以下参数:



账号类型:区分普通账号和管理员账号。“App 管理员”是对 App 具有最高管理权限的角色,可调用 REST API 接口,进行创建/解散群组、发送全员推送消息等操作。每个应用最多支持配置 10 个管理员。
用户名:需输入用户名(UserID),必填。
用户昵称:可输入用户昵称,非必填。
头像:可输入用户头像链接 URL,非必填。
4. 单击确定保存配置。
5. 账号新建完成后,在账号列表中可以查看用户名、昵称、账号类型、头像和创建时间。

客户端注册账号

如果你想通过客户端注册,不用额外操作,只需要在下文 登录 TUIKit 中传入一个全新的 UserID 即可,此时 TUIKit 会自动为您注册该 UserID。

生成 UserSig

说明:
更多 UserSig 相关操作,请参见 UserSig 生成&校验
2. 在签名(UserSig)生成工具区域,选择应用输入 UserID
3. 单击生成签名(UserSig)即可生成签名,签名有效期默认为180天。
4. 单击复制签名(UserSig)即可粘贴保存签名。




集成 TUIKit

聊天互动中发送消息的功能是由 TUIChat 实现的,您至少要集成 TUIChat 才能正常收发消息,其他的组件,例如 TUIConversationTUIContact 等,您可以按需集成。
如果您需要多个 UI 组件,可以集成 TUIKit,请参见文档:集成 TUIKit
如果您只需要集成 TUIChat,请参见文档:仅集成聊天

登录 TUIKit

使用 TUIKit 组件里的功能都需要登录,由 TUILogin 提供登录接口,如下:
// API location: TUICore/TUILogin.h
+ (void)login:(int)sdkAppID userID:(NSString *)userID userSig:(NSString *)userSig succ:(__nullable TSucc)succ fail:(__nullable TFail)fail;
该接口要求输入 3 个参数:
SDKAppID,新创建应用的 SDKAppID,已在上文 创建应用 中获取到。
UserID,User1 的 UserID,已在上文 创建账号 中获取到,注意不是用户的 NickName。
UserSig,User1 的 UserSig,已在上文 生成 UserSig 中获取到。
示例如下:
Swift
Objective-C
#pragma mark - Life cycle
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
TUILogin.login(Int32(SDKAPPID), userID: userID, userSig: userSig, config: loginConfig, succ:{
//Success
}, fail: { code, msg in
//Failed
})
return true
}
#pragma mark - Life cycle
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[TUILogin login:SDKAPPID userID:self.userID userSig:self.userSig config:self.loginConfig succ:^{
//Success
} fail:^(int code, NSString *msg) {
//Failed
}];
return YES;
}


跳转聊天界面

为了实现发消息的目标,接下来要做的是:
1. 使用上述注册的账号之一(下文称之为 user1)登录 TUIKit,此时 user1 上线了。
2. user1 给另一个账号(下文称之为 user2)发消息,user2 可以不登录,跟 user1 可以没有任何好友关系。
说明:
此处讲解的是登录 user1 后给 user2 发消息。如果您希望 user1 和 user2 能聊天互动,需要使用同样的步骤登录 user2 并进入与 user1 的聊天界面。
您可以在 user1 登录成功的回调里跳转或者嵌套聊天界面,就可以给 user2 发消息了。
示例代码如下,其中 userID 需要传入聊天对象 user2 的 userID。
Swift
Objective-C
// Pass userID for 1v1 conversation.
func pushToChatViewController(groupID: String?, userID: String?) {
// Create conversationData.
let conversationData = TUIChatConversationModel()
conversationData.userID = userID
// Create c2c chatVC.
let chatVC = TUIC2CChatViewController_Minimalist()
chatVC.conversationData = conversationData
// Option 1: navigate to chatVC.
navigationController?.pushViewController(chatVC, animated: true)
// Option 2: add chatVC as a childVC to your parent VC.
// addChild(chatVC)
// view.addSubview(chatVC.view)
}
// Pass userID for 1v1 conversation.
- (void)pushToChatViewController:(NSString *)groupID userID:(NSString *)userID {
// Create conversationData.
TUIChatConversationModel *conversationData = [[TUIChatConversationModel alloc] init];
conversationData.userID = userID;
// Create c2c chatVC.
TUIBaseChatViewController_Minimalist *chatVC = [[TUIC2CChatViewController_Minimalist alloc] init];
chatVC.conversationData = conversationData;
// Option 1: navigate to chatVC.
[self.navigationController pushViewController:chatVC animated:YES];
// Option 2: add chatVC as a childVC to your parent VC.
// [self addChildViewController:vc];
// [self.view addSubview:vc.view];
}

发送第一条消息

操作完上述步骤,您可以跳转到如下的聊天界面。快点手动单击输入框,发送您的第一条消息吧:


联系我们

如果您对本文有疑问,欢迎加入 Telegram 技术交流群,您将获得可靠的技术支持。