欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

30 分钟集成融云 IM 即时通讯

程序员文章站 2022-06-05 22:03:15
...

最近公司要做一个社交 app,对于时间就是金钱的当今社会,招聘大量人才去搭建通讯系统肯定是不划算的,花费人力物力财力做出来的 app,可能还没人用。那就瞎了。所以毋庸置疑,一拍即合,用第三方的。就开始了对于目前市面上主流的第三方 IM SDK 进行调研。其中有腾讯云,网易云信,融云,环信等。列出了一堆对比条件,最后领导拍板用哪个。末端程序员是没有选择权的。好好搬砖就可以了~要明白自己的身份,嘎嘎

过程不说了,最后选择了用融云,废话不多说,直接勒这里只介绍一下如何快速集成,让俩人聊起来,这也算是一个里程碑啊。对于程序员来说,聊不起来可就毁了,领导都特么奶凶奶凶的~~

1.先到融云官网 (https://www.rongcloud.cn/) 进行注册(注册按钮自己找吧),这个可以让你们产品经理或者啥领导去做,可以用公司的邮箱,别用自己的吧,后期自己换了地儿,对公司也是损失不是。注册后添加应用,拿到 appkey

2.xcode 创建一个新工程,或者找自己公司的项目,这里我推荐使用 pod 方式管理第三方,方便快捷,省时省力。因为手动方式太落后了,且配置繁琐,稍有遗漏就会报错,有些报错排查起来费时费力费心费电,所以还是老老实实的用 pod 吧。不听老人言,吃亏在眼前,听哥的没错,融云文档写了如何用 pod,几行命令的事。弄完后,也就是把 SDK 集成好了,跑一下工程,如果不报错,祝贺你兄嘚,马上可以聊天了,看下一步

3.需要在 appDelegate 中导入头文件。#import <RongIMKit/RongIMKit.h>。对了,我们用的是带界面的 SDK,快速集成不费事。

4.初始化 SDK

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //下边引号内需要替换为你的 appkey,别特么原封不动的抄哈,嘎嘎
    [[RCIM sharedRCIM] initWithAppKey:@"融云开发者后台的 AppKey"];
    return YES;
}

5.这一步该连接融云了兄嘚

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[RCIM sharedRCIM] initWithAppKey:@"获取到的 AppKey"];
    
    [[RCIM sharedRCIM] connectWithToken:@"开发者的 server 通过请求 server api 获取到的 token 值"
                           dbOpened:^(RCDBErrorCode code) {}
                            success:^(NSString *userId) {}
                              error:^(RCConnectErrorCode status) {}];
    
    return YES;
}

敲黑板1:在这我得多说你几句,必须要看成功回调和失败回调的调用,进了 success 就是成功了,进了 error 就是错误了。错误了你要看 status 状态码啊,根据错误码来找问题。我在调试过程中就遇到了 RC_CONN_TOKEN_INCORRECT 错误码,顾名思义:token 不正确。这个就要找自己的服务端人员看是哪里问题导致的 token 不正确了。

敲黑板1:还有 @“开发者的 server 通过请求 server api 获取到的 token 值”,这个 token,在刚开始测试的时候,你们的服务端可能还没集成,所以可以先到融云开发者后台“服务管理” - “API 调用” - “用户服务” - “获取 Token” 那里,随便输入一个 userId,name,portraitUri,就可得到 token 了。用这个 token 去连接即可,省时省力。

6.至此,恭喜你啊,已经连接融云成功了。下一步就是该琢磨如何找人聊天了。

7.聊天,需要俩人,对吧,现在连接的用户为之一,另一个需要再去融云开发者后台申请一个 token,记住他的 userId,发消息是需要 userId 的。然后创建个按钮,点击事件写如下代码即可,跳转之后,就能聊天了。然后再跑一个模拟器或者真机,用后申请的 token 登陆,俩人就能互相对话了。

RCConversationViewController *chatViewController = [[RCConversationViewController alloc] initWithConversationType:ConversationType_PRIVATE targetId:"后申请 token 时填写的 userId"];
[self.navigationController pushViewController:chatViewController animated:YES];
相关标签: im 即时通信