之前在项目中做过环信IM,一直都没时间整理这些笔记很功能 ,如今偷得浮生半日,花时间把之前的代码看了下 独自乐乐,不如众乐乐,然后把这部分整理下,分享给大家.
1 首先 注册环信官网注册账号 环信官网
注册成功后会出现如下页面

选择创建应用

按要求填写相关资料后点击确定 就完成了应用的创建 会返回创建的应用列表
点击创建的应用 会出现

在这我们能看到AppKey Client ID Clicent Secret 等 这些东西后面会用到....
2 下载SDK 上图左下角有快速集成 选择iOS

3 制作推送证书 这个太简单就不多说了 网上百度的到... 制作好推送证书后 需要先传到我们的环信后台 操作步骤见图
证书格式要是P12 , 要区分生产环境和开发环境

3 前期准备工作做完了,开始上正餐...具体可以先官方文档 参考文档
(1)通过 Cocoapods 下载 (推荐方式 不用手动添加导入大量的依赖库)
不包含实时语音版本 SDK(HyphenateLite)
pod 'HyphenateLite'
包含实时语音版本 SDK(Hyphenate)
pod 'Hyphenate'
我才用的 包含实时语音版本 SDK(Hyphenate)

安装成功后

(2)通过手动导入(不推荐)
官网下载sdk 并且 配置依赖库
3 初始化功能
导入头文件 在工程的 AppDelegate 中的以下方法中,调用 SDK 对应方
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{ //AppKey:注册的AppKey,详细见下面注释。//apnsCertName:推送证书名(不需要加后 缀),详细见下面注释。
//这里的aookey 替换成自己在官网后台注册应用生成的
EMOptions *options = [EMOptions optionsWithAppkey:@"1129170808178932#huanxintest"];
//此处为推送证书名字 测试时和生产时 不一样注意区分
options.apnsCertName =@"istore_dev";
[[EMClient sharedClient] initializeSDKWithOptions:options];
returnYES;
}
// APP进入后台
- (void)applicationDidEnterBackground:(UIApplication*)application{
[[EMClient sharedClient] applicationDidEnterBackground:application];
}
// APP将要从后台返回
- (void)applicationWillEnterForeground:(UIApplication*)application{
[[EMClient sharedClient] applicationWillEnterForeground:application];
}
4 登录环信
[[EMClient sharedClient] loginWithUsername:@"8001"password:@"111111"completion:^(NSString*aUsername, EMError *aError) {
if(!aError) {
NSLog(@"登录成功");
}else{
NSLog(@"登录失败");
}
}];
好了简单集成就是这样子了 具体的要实现功能 调整UI布局等就要去看代码实现...
另外环信是不提供存储用户头像 昵称等信息的,如果要和自己的app的昵称头像等关联起来 需要自己服务器存储 ,另外环新的消息体里面是带着一些参数的 可以通过修添加字段实现头像昵称的即时更新,总的来说环信的SDK还是很不错的 ,比起我接触的另一款腾讯云即时通讯要好用的多.当然啦腾讯也是很强大的,只是在即时通讯云这一块做的确实不让人满意.
网友评论