半狂热者
楼主
发布于 2023-4-20 16:47:15
阅读 2081
查看全部
最近项目中要植入即时通讯,我们所有技术部的小伙伴经过讨论,环信、阿里云、容联云、还有腾讯云。综合考虑使用腾讯云。因为腾讯云里面的登录注册是封装好的,我们未必会用那么多的功能,所以看文档还是很有必要的。
选择的腾讯文档,假设你的项目以后要植入直播,点播等功能选择IM iOS V2,假设只是单纯的聊天功能可以选择IM iOS V2或IM iOS V3,这个要看项目的实际需求了。
下面记录一下腾讯云的登录集成方法。
一、参与腾讯云的SDK
二、参与需要的框架
三、实现登录功能
主要代码:- #import <ImSDK/ImSDK.h>
- //腾讯云测试appid
- #define kTLSAppid @"1400001533"
- #define kSdkAppId @"1400001533"
- #define kSdkAccountType @"792"
复制代码 参与代理监听状态- @interface LoginController ()<TIMUserStatusListener>
复制代码 我们先初始化- [[TIMManager 分享dInstance]initSdk:1400001533 accountType:@"792"]; //初始化
- [[TIMManager 分享dInstance]log:TIM_LOG_DEBUG tag:@"insdk" msg:@"hello"]; //打印日志
- //代理
- [[TIMManager 分享dInstance]setUserStatusListener:self];
-
复制代码- #pragma mark -登录
- - (void)loginAction{
-
- TIMLoginParam *param = [[TIMLoginParam alloc] init];
- param.appidAt3rd = kSdkAppId;
- param.sdkAppId = [kSdkAppId intValue];
- param.accountType = kSdkAccountType;
- param.identifier = @"suncuihua";//用户名
- //这个长长的是签名
- param.userSig = @"eJx10EtLw0AUhuF9fkWYtehcTNIIXTglNLFpMW216GaYJpN0EJPpXEKr*N8tUTAbz-Z94IPz6fm*D7b55pqXZeday*xZCeDf*SCKMbj6y0rJinHLiK6GjG7h5VBAyEiJk5JaMF5boQeFgxhf2IjISrRW1vIXGNeWTh4cHxFTvbFh7-8hI5shLpNils0fUHfaLVJMTZ*023O6PxYZDHmYzynZ9SJP9zrJsqhZ43tJ0SYsoucjLbv1YvXYP73WH93qBTp0KCfQNEsV8MLckJmmzXQ6mrTy-ecxKMAYwxhOQuB9ed8LQVfn";
-
- [[TIMManager 分享dInstance]login:param succ:^{
-
- ChatController *chat = [[ChatController alloc]init];
-
- [self.navigationController pushViewController:chat animated:YES];
-
- // UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"登录胜利" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
- //
- // [alert show];
-
- } fail:^(int code, NSString *msg) {
- //特别注意这个code 6208 意思是其他终端登录帐号被踢,需重新登录
- if (code == 6208) {
-
- UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"其他终端登录帐号被踢,需重新登录" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
-
- [alert show];
-
- }
- }];
- }
复制代码- /**
- * 踢下线通知 在别的手机上登录了给我们发的通知 和code 6208是不一样的
- */
- - (void)onForceOffline{
-
- UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"账户已被踢" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
-
- [alert show];
-
- }
- /**
- * 断线重连失败
- */
- - (void)onReConnFailed:(int)code err:(NSString*)err{
-
- }
- /**
- * 用户登录的userSig过期(用户需要重新获取userSig后登录)
- */
- - (void)onUserSigExpired{
-
- }
复制代码 退出登录- [[TIMManager 分享dInstance]logout:^{
-
- UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"登出胜利" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
-
- [alert show];
-
- } fail:^(int code, NSString *msg) {
-
- }];
复制代码 好了,如今的整个登录流程就走完了。
|
|