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

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

iOS-快速集成环信移动客服(含官方文档隐藏属性)_第1张图片
1.png
1.注册登录环信移动客服账号:https://kefu.easemob.com/mo/login
2.进入管理员模式-->渠道管理-->手机APP-->添加关联APP-->快速关联
3.获取Appkey、IM服务号及租户ID

关联成功如图,红色圈中的是我们会用到的


iOS-快速集成环信移动客服(含官方文档隐藏属性)_第2张图片
图片.png

租户ID获取:
管理理员模式 --> 设置 --> 企业信息”页面的“租户ID”

iOS-快速集成环信移动客服(含官方文档隐藏属性)_第3张图片
图片.png
4.下载客户访客端SDK

http://www.easemob.com/download/cs

5.带实时语音和不带的二选一 把不要的删掉
图片.png
6.删掉HelpDeskUI里已经有的第三方库

如果你项目里已经导入这些库,就需要把这里的删掉 不然编译会报错


iOS-快速集成环信移动客服(含官方文档隐藏属性)_第4张图片
图片.png
7.然后就把BaseFramework、HelpDeskFramework、HelpDeskUI这仨文件夹拖到项目里面。在他那个demo里找到SCLoginManager.h和.m 拖到我们的项目里
8.在pch里定义宏。
#ifdef __OBJC__
#import 
#import "HelpDeskUI.h"
#import "SCLoginManager.h"

#define kDefaultAppKey @"XXX"   //APPKEY 
#define kDefaultTenantId @"" //租户ID 
没填的就自定义了
#define kDefaultCustomerName @""
#define kDefaultCustomerNickname @""
#define kCustomerName @""
#define kCustomerNickname @""
#define kDefaultProjectId @""
#define kAppKey @"KF_appkey"
#define kCustomerTenantId @"KF_tenantId"
#define kCustomerProjectId @"KF_projectId"
#define hxPassWord @"123456"

#endif
9.官方文档隐藏属性来了

项目名-->TARGETS-->Build Phases
查看项目是否有Embed Frameworks这个条目,没有就加上,并引入环信的库。引入完成,就可以编译了。一般就没啥问题,如果有问题就去谷歌吧,有问题我也不知道。


iOS-快速集成环信移动客服(含官方文档隐藏属性)_第5张图片
图片.png
9.APPdelegate初始化
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];
    
    HOptions *option = [[HOptions alloc] init];
    option.appkey = @"appkey"; // 必填项,appkey获取地址:kefu.easemob.com,“管理员模式 > 渠道管理 > 手机APP”页面的关联的“AppKey”
    option.tenantId = @"租户ID";// 必填项,tenantId获取地址:kefu.easemob.com,“管理员模式 > 设置 > 企业信息”页面的“租户ID”
    //推送证书名字
//    option.apnsCertName = @"your apnsCerName";//(集成离线推送必填)
    //Kefu SDK 初始化,初始化失败后将不能使用Kefu SDK
    HError *initError = [[HChatClient sharedClient] initializeSDKWithOptions:option];
    if (initError) { // 初始化错误
        NSLog(@"初始化错误");
    }
}
10.在你需要跳转客服方法的添加
  HError *error = [[HChatClient sharedClient] registerWithUsername:@"这里填注册用户名" password:@"这里填密码"];
  HChatClient *client = [HChatClient sharedClient];
            if (client.isLoggedInBefore != YES) {
                HError *error = [client loginWithUsername:@"这里填注册用户名" password:@"这里填密码"];
                if (!error) { //登录成功
                    NSLog(@"登录成功");
                    [self customerService];
                } else { //登录失败
                    NSLog(@"登录失败");
                    return;
                }
            }else{
                [self hiddenHUD];
                [self customerService];
            }

11.跳转方法
-(void)customerService{
    // 进入会话页面
    HDMessageViewController *chatVC = [[HDMessageViewController alloc] initWithConversationChatter:@"这里填IM服务号"];
    chatVC.hidesBottomBarWhenPushed = YES;
    [self.navigationController pushViewController:chatVC animated:YES];
}
11.然后就基本完成咯
iOS-快速集成环信移动客服(含官方文档隐藏属性)_第6张图片
图片.png
12.上传App Store注意事项
【首先进入HelpDeskLite.framework所在目录】
// 移除支持x86_64的二进制文件
lipo HelpDeskLite.framework/HelpDeskLite -remove x86_64 -output HelpDeskLite
//替换framwork内部二进制文件[记得备份]
mv HelpDeskLite HelpDeskLite.framework/HelpDeskLite
//查看合并后的二进制文件支持的CPU架构,如果显示armv7 arm64,就完成剥离,可上传AppStore
lipo -info HelpDeskLite.framework/HelpDeskLite
13.你要更多功能就需要看官方文档咯
图片.png

你可能感兴趣的:(iOS-快速集成环信移动客服(含官方文档隐藏属性))