博客> 环信移动客服集成
环信移动客服集成
2019-07-21 19:51 评论:0 阅读:1067 1498893132
ios 环信 移动客服
这两天集成环信移动客服,卡在了注册我的应用的时候,没有理解用户注册模式的选择,如果是开放注册,用户则不需要登录,如果是授权模式则用户需要登录,一般我们使用开放模式

还有 app里面对应要修改的地方,在参照官方demo编写的情况下,集成换成自己的账号

define kDefaultAppKey @"1one#oldname"

define kDefaultCustomerName @"111222"

define kAppKey @"1one#oldname"

define kCustomerName @"111222"

首先第一步就是sdk集成和环境配置了,这个看文档就好,小白操作了:

文档地址:http://docs.easemob.com/im/300iosclientintegration/20iossdkimport

第二步注册开发者账号,关联相关的appkey,这部分文档也写得很清楚,照他写的做基本是不会错的 

文档地址:http://docs.easemob.com/cs/300visitoraccess/10nativeapp

第三步集成单聊界面,将sdk里面的ChatView、EaseUI、EaseUIResource.bundle、HyphenateSDK(我集成的是3.x)、Resource、emotion(兔斯基的表情包)等文件拖进去,不过他sdk里面有些文件有重名,所以需要跟着视频一起集成,视频可以看最新的那个,包含2.x到3.x等版本的集成,懒惰的人也可以直接拿demo使用就好。

视频地址:http://www.imgeek.org/video/

然后说说集成文件里面的chatView,这个文件夹里面有一个chatViewController,这个就是单聊界面,你只要在你需要跳转的地方用代码push过去就可以了,但是push前需要传递相关im账户,也就是你关联appkey时所使用的im账户(接收你发送消息的对象),代码如下: 

// 参数一:对应的im账户,若是群聊则改为组id

// 参数二:聊天类型(个人和组)

ChatViewController *chatVC = [[ChatViewControlleralloc]initWithConversationChatter:@"alen"conversationType:EMConversationTypeChat];

chatVC.title =@"客服中心";

[self.navigationController pushViewController:chatVCanimated:YES];

你也可以在chatViewController里面设置更改聊天气泡,图片之类的,就在方法

viewDidLoad里面的那几个appearance属性。

然后关于拓展消息这部分,扩展消息可以发送用户配置信息,诸如手机位置等信息,他的调用被放置于EaseMessageViewController类里面,调用方法如下

  • (void)sendTextMessage:(NSString *)text

    可以在该方法内抒写拓展信息ext,拓展信息为字典写法,示例如下:

  • (void)sendTextMessage:(NSString *)text

{

NSUserDefaults *user = [NSUserDefaults standardUserDefaults];

NSString *phone = [user objectForKey:@"userId"] == nil? @"":[user objectForKey:@"userId"];

NSString *trueName = [user objectForKey:@"realName"] == nil? @"":[user objectForKey:@"realName"];

NSString *address = [user objectForKey:@"address"] == nil? @"":[user objectForKey:@"address"];

NSDictionary *ext =@{

                              @"weichat":@{

                                      @"visitor":@{

                                              @"trueName":trueName,

                                              @"description":address,

                                              @"phone":phone

                                              }

                                      }

                      };

    [self sendTextMessage:text withExt:ext];

}

大致的集成就是这样了,然后一般放到项目里的话肯定会报很多莫名奇妙的错误,比如我的项目是用cordova框架进行h5与ios混编,居然报了一个block的语法错误,通篇置换才没事.

还有一个duplicate symbol的错误,这个也很经常出现,错误发生在引用库的问题上,一般是我上面提到的EaseUI文件里面的lib文件夹,里面会有两个.a文件,删掉一个就好,这个在视频里面会讲,如果还报错误的话,就是第三方库的问题了,我的做法是直接删掉换了一个类似的,其中有个我们比较常用的 MJRefresh,这个库他本身就添加引用了,版本较老,因此我的做法是直接把自己添加的给删掉了,用它的就好。

下面放上demo地址,环信的集成体积比较大:

http://download.csdn.net/detail/alenczf/9497203

收藏
0
sina weixin mail 回到顶部