伙伴云客服论坛»论坛 S区 S零代码 查看内容

0 评论

0 收藏

分享

腾讯云IMSDK

最近项目中要植入即时通讯,我们所有技术部的小伙伴经过讨论,环信、阿里云、容联云、还有腾讯云。综合考虑使用腾讯云。因为腾讯云里面的登录注册是封装好的,我们未必会用那么多的功能,所以看文档还是很有必要的。
选择的腾讯文档,假设你的项目以后要植入直播,点播等功能选择
IM iOS V2,假设只是单纯的聊天功能可以选择IM iOS V2或IM iOS V3,这个要看项目的实际需求了。

下面记录一下腾讯云的登录集成方法。

一、参与腾讯云的SDK

腾讯云IMSDK-1.jpg


二、参与需要的框架

腾讯云IMSDK-2.jpg


三、实现登录功能

主要代码:
  1. #import <ImSDK/ImSDK.h>
  2. //腾讯云测试appid
  3. #define kTLSAppid       @"1400001533"
  4. #define kSdkAppId       @"1400001533"
  5. #define kSdkAccountType @"792"
复制代码
参与代理监听状态
  1. @interface LoginController ()<TIMUserStatusListener>
复制代码
我们先初始化
  1. [[TIMManager 分享dInstance]initSdk:1400001533 accountType:@"792"]; //初始化
  2.     [[TIMManager 分享dInstance]log:TIM_LOG_DEBUG tag:@"insdk" msg:@"hello"]; //打印日志
  3.    //代理
  4.     [[TIMManager 分享dInstance]setUserStatusListener:self];
  5.    
复制代码
  1. #pragma mark -登录
  2. - (void)loginAction{
  3.    
  4.     TIMLoginParam *param = [[TIMLoginParam alloc] init];
  5.     param.appidAt3rd = kSdkAppId;
  6.     param.sdkAppId = [kSdkAppId intValue];
  7.     param.accountType = kSdkAccountType;
  8.      param.identifier = @"suncuihua";//用户名
  9. //这个长长的是签名
  10.     param.userSig = @"eJx10EtLw0AUhuF9fkWYtehcTNIIXTglNLFpMW216GaYJpN0EJPpXEKr*N8tUTAbz-Z94IPz6fm*D7b55pqXZeday*xZCeDf*SCKMbj6y0rJinHLiK6GjG7h5VBAyEiJk5JaMF5boQeFgxhf2IjISrRW1vIXGNeWTh4cHxFTvbFh7-8hI5shLpNils0fUHfaLVJMTZ*023O6PxYZDHmYzynZ9SJP9zrJsqhZ43tJ0SYsoucjLbv1YvXYP73WH93qBTp0KCfQNEsV8MLckJmmzXQ6mrTy-ecxKMAYwxhOQuB9ed8LQVfn";
  11.    
  12.     [[TIMManager 分享dInstance]login:param succ:^{
  13.         
  14.         ChatController *chat = [[ChatController alloc]init];
  15.         
  16.         [self.navigationController pushViewController:chat animated:YES];
  17.         
  18. //        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"登录胜利" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
  19. //
  20. //        [alert show];
  21.         
  22.     } fail:^(int code, NSString *msg) {
  23.        //特别注意这个code 6208   意思是其他终端登录帐号被踢,需重新登录
  24.         if (code == 6208) {
  25.             
  26.             UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"其他终端登录帐号被踢,需重新登录" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
  27.             
  28.             [alert show];
  29.             
  30.         }
  31.     }];
  32. }
复制代码
  1. /**
  2. *  踢下线通知 在别的手机上登录了给我们发的通知  和code 6208是不一样的
  3. */
  4. - (void)onForceOffline{
  5.    
  6.     UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"账户已被踢" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
  7.    
  8.     [alert show];
  9.    
  10. }
  11. /**
  12. *  断线重连失败
  13. */
  14. - (void)onReConnFailed:(int)code err:(NSString*)err{
  15.    
  16. }
  17. /**
  18. *  用户登录的userSig过期(用户需要重新获取userSig后登录)
  19. */
  20. - (void)onUserSigExpired{
  21.    
  22. }
复制代码
退出登录
  1. [[TIMManager 分享dInstance]logout:^{
  2.         
  3.         UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"登出胜利" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
  4.         
  5.         [alert show];
  6.         
  7.     } fail:^(int code, NSString *msg) {
  8.         
  9.     }];
复制代码
好了,如今的整个登录流程就走完了。







回复

举报 使用道具

全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

半狂热者
注册会员
主题 17
回复 16
粉丝 0
|网站地图
快速回复 返回顶部 返回列表