美文网首页
环信iOS端IM、移动客服--集成介绍与使用实践

环信iOS端IM、移动客服--集成介绍与使用实践

作者: R_yan | 来源:发表于2017-01-05 20:18 被阅读879次

前言

本文属个人笔记,不做详解,仅供参考
业务需求:1.即时聊天(单聊、群聊); 2.支持移动客服功能(机器人自动应答、超时自动结束会话、发送自定义产品到客户、评价等)

使用

  • 注册成为环信开发者,集成即时聊天和移动客服账户是需要分开注册的(如果需要集成移动客服,必须先集成即时通讯)。
  • 应用创建成功获得以下信息,需要注意的是:推送证书(上传开发、生产推送证书)、AppKey(初始化SDK需要)、Client Id和Client Secret在移动客服“添加APP关联”会用到。


    应用创建成功.png
  • 通过Cocoapods下载SDK--- pod 'Hyphenate_CN’ ,下载环信SDKdemo后将EaseUI文件夹拷贝到项目中(之所以选择手动添加进项目是因为聊天页的UI多以自定义为主,手动添加方便测试,当然也可以pod导入)
  • 由于SDK代码是OC,如果项目使用Swift开发,还需要配置下工程:
    1.创建pch文件导入#import <UIKit/UIKit.h>
    2.创建一个.h文件作为桥接文件,导入#import <Foundation/Foundation.h> #import "EMSDKFull.h" #import "EaseUI.h"
    3.TARGETS->Build Settings->搜索"prefix",添加pch文件到"Prefix Header";
    4.搜索"bridge",添加桥接文件到"Objective-C Bridging Header";
    5.搜索"bitcode"为NO
  • 进入AppDelegate中初始化SDK
//环信初始化
let options = EMOptions.init(appkey:"1113161221178022#hxdemo")
options.apnsCertName = "developer"
let error = EMClient.sharedClient().initializeSDKWithOptions(options)
if error == nil {
   print("初始化成功")
}else{
   print("初始化失败")
}
  • 创建控制器继承 "EaseMessageViewController"

    override init!(conversationChatter: String!, conversationType: EMConversationType) {
        super.init(conversationChatter: conversationChatter, conversationType: conversationType)
    }
    
    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
        super.init(nibName: nil, bundle: nil)
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationItem.title = "聊天"
        self.delegate = self
        self.dataSource = self
    }
    
    // 点击头像回调
    func messageViewController(viewController: EaseMessageViewController!, didSelectAvatarMessageModel messageModel: IMessageModel!) {
        print("messageModel:\(messageModel.nickname)    message:\(messageModel.text)")
    }
    // 是否允许长按
    func messageViewController(viewController: EaseMessageViewController!, canLongPressRowAtIndexPath indexPath: NSIndexPath!) -> Bool {
        return true
    }
}
  • 到了这一步,即时通信的功能基本实现。先看下demo效果:
demo演示.gif

演示账户:user001、user002、user003、user004、user005,密码都是:123
(user001为客服号,因为环信客服只免费体验2周,我的账户到期了,可能demo内的移动客服功能展示不全。各位自己注册体验即可)

  • 下面我们接入移动客服业务:
    1、登录环信客服(登录成功后右上角点击切换到"管理员模式");
    2、点击左边目录的“渠道管理”->"手机APP";
    3、点击右上角“添加APP关联”->"去关联IM账号"


    添加APP关联.png

    4、AppKey、ClientId、ClientSecret都在之前创建应用的时候获得了。IM服务号就是你要设置的客服的账号,IM Password为账号密码
    5、配置客服设定:左侧菜单"设置",这里可以设置客服欢迎语、问候语、结束语以及工作时间设置等
    6、点击右上角切换到”客服模式“可查看会话情况


    客服自动回复.png
客服超时.png

最后

至此,需求基本实现。如有问题可下载demo或者私信。

相关文章

  • 环信iOS端IM、移动客服--集成介绍与使用实践

    前言 本文属个人笔记,不做详解,仅供参考业务需求:1.即时聊天(单聊、群聊); 2.支持移动客服功能(机器人自...

  • iOS-快速集成环信移动客服(含官方文档隐藏属性)

    最近项目需要集成环信移动客服,把遇到的坑给记下。这里集成的是的客服访客端(不带实时语音),废话不多说,开搞开搞。 ...

  • iOS集成环信的会话列表

    参考IOS快速集成环信IM - 基于官方的Demo优化,5分钟集成环信IM功能 虽然网上的教程很多,但是自己集成的...

  • iOS集成环信移动客服

    前几天集成环信移动客服,遇到了许多问题,集成的过程也是磕磕绊绊,现在总结出来记录一下。步骤大体是这样: 1.首先到...

  • iOS 环信集成

    1、流程类: 最新环信V3.3.7单聊集成与使用 iOS环信3.0集成 (三)单聊集成有视频 iOS 环信3.0D...

  • iOS 环信SDK集成

    集成环信SDK:我觉得还是使用cocoaPod方便,几句命令行的事!我们集成环信 IM 2.0 Full: 集成U...

  • Masonry

    Masonry介绍与使用实践 - iOS移动开发周报 - 推酷

  • Slack与环信移动客服集成

    简介 什么是Slack Slack是一个团队沟通的平台,在这里你可以群聊、单聊、甚至打电话。还可以通过简单的拖动,...

  • iOS集成环信客服

    这两天集成环信移动客服,卡在了没有设置发送对象,这个他在文档里也没有写,因此贴出来记录一下。 首先第一步就是sdk...

  • 环信

    iOS 集成环信(四) 群聊iOS 环信集成(五) 加载会话列表

网友评论

      本文标题:环信iOS端IM、移动客服--集成介绍与使用实践

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