美文网首页iOS_Skill_Collect环信
环信3.0ios客户端的集成(四)

环信3.0ios客户端的集成(四)

作者: 刀客传奇 | 来源:发表于2017-06-09 01:41 被阅读121次

    版本记录

    版本号 时间
    V1.0 2017.06.08

    前言

    很多app种都集成环信做第三方信息通讯工具,这里我们就看一下环信的主要功能和集成方法。先给出环信3.0的地址。
    感兴趣的可以参考:
    1. 环信ios客户端的集成(一)
    2. 环信ios客户端的集成(二)
    3. 环信ios客户端的集成(三)

    这一篇主要说一下iOS SDK 快速集成。

    一、快速集成单聊功能

    第 1 步:集成环信SDK

    第 1 步:集成环信SDK

    方式一:推荐使用Cocoapods集成环信SDK。Cocoapods提供了一个简单的依赖管理系统,避免手动导入产生的错误(首先需要确认已经安装了Cocoapods)。

    sudo gem install cocoapods
    pod setup
    
    

    在Xcode项目的根目录下,新建一个空文件,命名为Podfile,向此文件添加以下行:

    #Lite版本
    pod 'HyphenateLite'
    #Full版本
    pod 'Hyphenate'
    

    在Podfile目录下,执行以下指令:

    pod install
    
    

    方式二:手动集成

    • 在环信官网下载SDK。

    • 手动将SDK导入到自己的工程中(集成介绍)

    第 2 步:初始化环信SDK

    以Cocoapods方式集成SDK,需要引入相关头文件

    //Lite版本
    #import <HyphenateLite/HyphenateLite.h>
    //Full版本
    #import <Hyphenate/Hyphenate.h>
    

    在工程的 AppDelegate 中的以下方法中,调用 SDK 对应方法。

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        //AppKey:注册的AppKey,详细见下面注释。
        //apnsCertName:推送证书名(不需要加后缀),详细见下面注释。
        EMOptions *options = [EMOptions optionsWithAppkey:@"douser#istore"];
        options.apnsCertName = @"istore_dev";
        [[EMClient sharedClient] initializeSDKWithOptions:options];
    
        return YES;
    }
    
    // APP进入后台
    - (void)applicationDidEnterBackground:(UIApplication *)application
    {
        [[EMClient sharedClient] applicationDidEnterBackground:application];
    }
    
    // APP将要从后台返回
    - (void)applicationWillEnterForeground:(UIApplication *)application
    {
        [[EMClient sharedClient] applicationWillEnterForeground:application];
    }
    

    第 3 步:登录环信

    登录:调用 SDK 的登录接口进行的操作。

    [[EMClient sharedClient] loginWithUsername:@"8001"
                                      password:@"111111"
                                    completion:^(NSString *aUsername, EMError *aError) {
                                        if (!aError) {
                                            NSLog(@"登录成功");
                                        } else {
                                            NSLog(@"登录失败");
                                        }
                                    }];
    

    第 4 步:导入EaseUI

    方式一:下载Release版本SDK,在自己的项目中导入EaseUI整个目录。

    导入EaseUI

    方式二: 通过cocoapods集成EaseUI。

    pod 'EaseUI', :git => 'https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git'
    
    

    第 5 步:初始化单聊页面

    //环信ID:@"8001"
    //聊天类型:EMConversationTypeChat
    EaseMessageViewController *chatController = [[EaseMessageViewController alloc] initWithConversationChatter:@"8001" conversationType:EMConversationTypeChat];
    
    

    消息功能集成详细介绍


    二、快速集成群聊功能

    首先需要完成快速集成单聊上述步骤。

    1. 创建群组

    EMError *error = nil;
    EMGroupOptions *setting = [[EMGroupOptions alloc] init];
    setting.maxUsersCount = 500;
    setting.style = EMGroupStylePublicOpenJoin;// 创建不同类型的群组,这里需要才传入不同的类型
    EMGroup *group = [[EMClient sharedClient].groupManager createGroupWithSubject:@"群组名称" description:@"群组描述" invitees:@[@"6001",@"6002"] message:@"邀请您加入群组" setting:setting error:&error];
    if(!error){
        NSLog(@"创建成功 -- %@",group);
    }
    

    2.初始化群聊页面

    //群ID:@"groupId"
    //聊天类型:EMConversationTypeGroupChat
    EaseMessageViewController *chatController = [[EaseMessageViewController alloc] initWithConversationChatter:@"groupId" conversationType:EMConversationTypeGroupChat];
    

    群组功能集成详细介绍


    三、快速集成好友功能

    首先需要完成快速集成单聊上述步骤。

    1.添加好友

    [[EMClient sharedClient].contactManager addContact:@"8001"
                                               message:@"我想加您为好友"
                                            completion:^(NSString *aUsername, EMError *aError) {
                                                if (!aError) {
                                                    NSLog(@"邀请发送成功");
                                                }
                                            }];
    
    //同意好友申请
    [[EMClient sharedClient].contactManager approveFriendRequestFromUser:@"8001"
                                                              completion:^(NSString *aUsername, EMError *aError) {
                                                                  if (!aError) {
                                                                      NSLog(@"同意好友成功");
                                                                  }
                                                              }];
    
    //拒绝好友申请
    [[EMClient sharedClient].contactManager declineFriendRequestFromUser:@"8001"
                                                              completion:^(NSString *aUsername, EMError *aError) {
                                                                  if (!aError) {
                                                                      NSLog(@"拒绝好友成功");
                                                                  }
                                                              }];
    

    2.删除好友

    // 删除好友
    [[EMClient sharedClient].contactManager deleteContact:@"8001"
                                               isDeleteConversation: YES
                                               completion:^(NSString *aUsername, EMError *aError) {
                                                   if (!aError) {
                                                       NSLog(@"删除成功");
                                                   }
                                               }];
    

    3.获取好友

    //从服务器获取所有的好友
    [[EMClient sharedClient].contactManager getContactsFromServerWithCompletion:^(NSArray *aList, EMError *aError) {
        if (!aError) {
            NSLog(@"获取成功");
        }
    }];
    //从数据库获取所有的好友
    NSArray *userlist = [[EMClient sharedClient].contactManager getContacts];
    
    

    好友功能集成详细介绍


    四、快速集成演示视频

    后记

    未完,待续~~~~~

    风树雪湖

    相关文章

      网友评论

      本文标题:环信3.0ios客户端的集成(四)

      本文链接:https://www.haomeiwen.com/subject/cqrxqxtx.html