最近公司要做一个社交 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];


融云RongCloud
82 声望1.2k 粉丝

因为专注,所以专业