6、FinChat开关配置说明


  • administrators

    Tips 最新FinChatSDK 部分开关配置已迁移至后台管理。当给您部署后台服务后,可以在后台内进行配置。

    iOS开关配置要求

    关于最终的配置信息字典的结构,在最后有一个示例。

    1、基本配置

    目前共有15项。

    名称 类型 默认值 必填 说明
    appKey NSString sdk使用所要的appKey
    appId NSString 应用的bundleId
    finochatApiURL NSString 服务器地址
    finochatApiPrefix NSString 服务器地址版本前缀
    pusherAppIdProd NSString 推送发布模式下的appId,即应用的bundleId
    pusherAppIdDev NSString 推送开发模式下的appId,即应用的bundleId
    appGroupIdentifier NSString 如果开启了app共享,那么该字段必须必填
    appType NSString 应用类型,目前仅支持'STAFF'和'RETAIL'
    pushGatewayURL NSString APNS推送服务地址
    reverseRules NSDictionary 服务器路由规则
    callDirectoryId NSString 来电身份识别extension的bundleId,如果需要来电身份识别功能,并且创建了来电身份识别extension时
    callDirectoryFileName NSString 来电身份识别数据存储的文件名称,如果需要来电身份识别功能,并且创建了来电身份识别extension时,必须填
    settings NSDictionary 更多的其他配置项

    2.、reverseRules中的配置

    目前共有1项。

    名称 类型 默认值 必填 说明
    名称 类型 默认值 必填 说明
    proxy NSString 代理服务器地址

    3、settings中配置

    目前共有12项。

    名称 类型 默认值 必填 说明
    appConfigType NSString 'mobile' 服务器端开关配置类型
    commercialIdentifier NSString 商用对象的唯一标识 当前正在使用SDK的公司
    natureOfIndustry NSString 公司的行业性质(证券行业/银行行业)
    authenticationType NSString app使用的token类型
    urlSchemaPrefix NSString app 的 schemaPrefix,例如要使用finchat://打开Finchat app,则填finchat
    navgationControllerClass Class 导航控制器的Class
    chat NSDictionary 聊天室开关配置
    conversation NSDictionary 会话开关配置
    addressBook NSDictionary 通讯录开关配置
    swan NSDictionary 金服宝开关配置

    4、chat中配置

    目前共有8项。

    名称 类型 默认值 必填 说明
    hideInviteLogin BOOL 是否隐藏邀请登录(对所有房间生效)
    hideRiskDisclosureLetter BOOL 是否隐藏签署风险揭示书
    hideMarket BOOL 是否隐藏行情(对所有房间生效)
    hideAllSelectMenue BOOL 是否隐藏长按消息全选(对所有房间生效)
    hideStaffCard BOOL 是否隐藏员工名片
    hideCustomerCard BOOL 是否隐藏客户名片
    showLeaveMessageKeyBoardItem BOOL 是否显示去留言菜单
    identificationStockCode BOOL 是否开启股票代码识别

    5、 conversation中的配置

    目前共有3项。

    名称 类型 默认值 必填 说明
    isHideAppletItem BOOL 是否隐藏左上角小程序按钮,如果会话列表是二级页面,则默认显示返回按钮,不显示小程序按钮
    isShowImmediateBtn BOOL 是否显示立即咨询按钮(金服宝)
    isHideEmptyDispatchRoom BOOL 是否隐藏空的机器人房间

    6、addressBook中的配置

    目前共有5项。

    名称 类型 默认值 必填 说明
    disableOranaizationSort BOOL 组织架构是否需要排序
    hideMyFriend BOOL 是否隐藏我的好友
    searchResultautoAddFriend BOOL 全局搜索出的用户能否自动添加好友
    strangerRemark BOOL 是否允许给陌生人设置备注
    hideVisitorCard BOOL 是否隐藏通讯录详情页的访客画像

    7、swan中的配置

    目前共有24项。

    名称 类型 默认值 必填 说明
    dispatchMode NSString app的模式 default is B
    isSwanCloud BOOL 是否是公有云版本
    hideMySpace BOOL 是否隐藏金服宝设置中的网盘
    showThemeSetting BOOL 是否显示金服宝设置中的主题设置
    hideMywallet BOOL 是否隐藏金服宝设置中我的钱包
    hideLoginSetting BOOL 是否登录界面的设置
    hideChangePassword BOOL 是否隐藏设置中的修改密码
    hidePracticeNmber BOOL 是否隐藏执业编号
    hideDepartment BOOL 是否隐藏营业部
    hideSwanRoomSetting BOOL 是否隐藏金服宝房间设置
    chatRecordCombine BOOL 是否合并聊天消息(针对三级账户 游客-》注册用户的时候)
    swanRoomMemberAvatarClickEnable BOOL 投顾房间内成员头像是否可点击
    hideShare BOOL 是否隐藏分享功能
    serverName NSString 服务名称(XXX在线随时为您服务)
    hideKnowledge BOOL 是否隐藏隐藏知识库
    hideProfessionalCertificate BOOL 是否隐藏专业证书
    hideLeaderBoard BOOL 是否首页积分排行榜
    saas BOOL 是否Saas版本(多租户)
    inviteRegisterLoginText NSString 邀请注册登录的文案
    organizationId NSString 租户机构id
    passwordMinLength NSString 密码的最小长度 默认是6
    passwordMaxLength NSString 密码的最大长度 默认是16
    loginType NSString 登录类型 目前只支持 SMS 或者是PWD
    loginImage UIImage 登录界面的顶部的图片

    8、 开关配置示例(json)

    {
        "appKey": "0mZqNWUP7E0gRd18iLNfRtw/X5Ya2nAn4sawLogCJ7lF6TELMSPCBWPYaU7tlULGRekxCzEjwgVj2GlO7ZVCxv/ePp3mvTypr7w4V6qA5bpg",
        "finochatApiURL": "https://api.finolabs.club",
        "finochatApiPrefix": "/api/v1",
        "appId": "com.finogeeks.oa.chatxxx",
        "pusherAppIdProd": "com.finogeeks.swan.emp",
        "appType": "STAFF",
        "pushGatewayURL": "http://push-service.platform:5000/_matrix/push/v1/notify",
        "pusherAppIdDev": "com.finogeeks.swan.emp"
        "reverseRules": {
            "proxy": "https://app.finogeeks.club"
        },
        "settings": {
            "appGroupIdentifier": "group.com.finogeeks.finchat.oa",
            "isShowGlobalFeedback": true,
            "urlSchemaPrefix": "jfbemp",
            "natureOfIndustry": "kIndustrySecurities",
            
            "addressBook": {
                "disableOranaizationSort": false,
                "strangerRemark": true,
                "hideMyFriend": false,
                "hideVisitorCard":true,
            },
            "conversation": {
                "isHideAppletItem": true,
                "isShowImmediateBtn": false,
                "isHideEmptyDispatchRoom": false
            },
            "swan": {
                "dispatchMode": "B",
                "isSwanCloud": false,
                "hideMySpace": false,
                "showThemeSetting": true,
                "hideMywallet": false,
                "hideLoginSetting": false,
                "hideChangePassword": true,
                "hidePracticeNmber": false,
                "hideDepartment": false,
                "hideSwanRoomSetting": false,
                "chatRecordCombine": true,
                "swanRoomMemberAvatarClickEnable": false,
                "hideShare": false,
                "hideKnowledge": false,
                "serverName": "凡泰金易联在线随时为您服务",
                "hideSwanRoomSetting": false,
                "loginType": "PWD",
            },
            "chat": {
                "hideInviteLogin": true,
                "hideCustomerCard": false,
                "identificationStockCode": true,
                "hideStaffCard": false,
                "showLeaveMessageKeyBoardItem": true,
            }
        },
    }
    

    Andorid开关配置

    Android 开关信息由FinoChatOption类进行统一管理,其字段及其内部类信息见注释,各个内部类便于分类配置,例如Swan表示金服宝相关配置,Watermark表示水印相关配置。

    {
        "apiPrefix": "/api/v1/", //api前辍
        "apiURL": "https://api.finolabs.club", //api地址
        "appId": "3",//appId可通过凡泰极客官网申请
        "appKey": "sssssssssssssssssss"//appId可通过凡泰极客官网申请",
        "appType": "STAFF",//终端类型 RETAIL-客服端,STAFF-员工端
        "allowedFingerprints":[],//自定义ssl证书
        "pin":false,//是否使用固定ssl证书
        "isAppDebug": true,//标识当前App工程是否处于DEBUG模式下 必须设置此选项
        "logLevel": 2,//log level
        “logTagPrefix”:"",//log tag前缀
        "sdkVersion": "3.4.8",//应用版本号 会在设置页面中展示
        "themeId": 0,//主题id
    // 频道相关
        "channel": {
            "channelWechatQrCode": true,// 频道微信二维码
            "supportChannelType": "private"// 支持的频道类型 public private share ,选择后只支持一种频道
            "noneShareChannelWechatQrCode":false,//是否在非共享频道显示微信二维码
            "hideShareChannel":false//创建频道时隐藏共享频道分类
        },
    // 聊天相关
        "chat": {
            "convUiHyperTextLines": 0,//机器人房间回复消息行数限制
            "isGroupChatEnable": false,//是否允许私聊中创建群聊房间
            "isHideFavorite": false,//是否隐藏长按收藏
            "isHideForward": false,//是否隐藏长按转发
            "isHideRoomDetail": false,//是否隐藏房间房间详情入口
            "isMultiSelectForward": false,//多选转发功能
            "isSecurityChatDisable": false,//是否不需要保密群
            "isVideoChatPrivate": false//是否允许视频通话
        },
    // 通讯录
        "contact": {
            "isDeleteFriendEnable": false,//是否允许删除好友,默认不允许
            "showContactRemark": true,//通讯录中好友详情界面是否支持好友标签功能
            "showInvitationInContact": false//默认false,在消息Tab显示邀请事件。当本值为true时,在通讯录显示邀请事件
        },
    // 会话
        "conversation": {
            "isHideInvitedInfo": false//是否隐藏"接受","拒绝"按钮
        },
    // webview
        "finoWebView": {
            "isHideWebTitle": false,//是否隐藏WebViewActivity的标题栏(toolbar)
            "isSkipWebHistory": false,//WebViewActivity是否忽略网页历史
            "isWebFullScreen": false//WebViewActivity是否全屏
        },
    // 全局搜索
        "globalSearch": {
            "globalSearchContact": true,//统一搜索界面是否显示通讯录分类
            "globalSearchConversation": true//统一搜索界面是否显示会话分类
        },
    // 首页更多菜单项
        "homeMoreMenu": {
            "isAddFriend": false,//"+"添加好友
            "isChannel": true,//创建频道开关 默认开启
            "isCreateGroupByTag": false,//标签建群
            "isGroupChat": true,//"+"发起群聊
            "isScanQrCode": true//扫一扫功能
        },
    // 我的
        "mine": {
            "isNicknameChangeable": true,//昵称是否可以修改
            "scanQrCodeAddFriend": true,//扫码添加好友功能
            "showAboutUs": false,//展示关于我们界面
            "showResetPassword": true//设置是否支持修改密码
        },
    // 应用通知设置
        "notification": {
            "notificationForeground": true,//是否开启前台常驻通知栏。没有常驻通知栏,系统会在一定策略后杀掉Service.
            "notificationIcon": 2131165647,//常驻通知栏的显示图标
            "notificationSubtitle": "正在后台运行",//常驻状态栏子标题
            "notificationTitle": "凡泰极客"//常驻状态栏的标题
        },
    // 房间菜单项
        "roomMenu": {
            "applet": false,//小程序
            "businessCard": false,//名片
            "cameraVideo": true,//摄像
            "file": true,//文件
            "invite": false,//邀请
            "leaveMessage": true,//去留言
            "location": true,//位置
            "netDisk": true,//保密盘
            "portfolio": false,//投资组合
            "productsRecommend": false,//产品推荐
            "quickReply": true//快捷回复
        },
    // 其他未归类设置
        "settings": {
            "apm": true,//apm
            "encryptPasswordWithSha256": false,//是否使用sha-256 加密登录密码 默认关闭
            "feedback": true,//是否开启反馈建议 默认关闭
            "isHideSecurityNetDisk": false,//是否隐藏保密盘
            "isHideSyncToPublic": true,//是否隐藏"同步到共享文件"功能
            "isRegistry": false,//???,无用
            "isWorkTab": true,//是否显示工作tab 默认显示
            "nullSessionToLauncher": false//启动Activity先检查Session,为空跳到宿主的launcher,可选功能
        },
    // 微信小程序分享参数
        "shareParams": {
            "iconRes": 2131492864,//分享小程序封面
            "miniProgramId": "gh_281bc08c5aee",//小程序原始id
            "wechatAppId": "wx3bfb3f78b4ade165"//微信id
        },
    
    // 金服宝
        "swan": {
            "activityManagement": true,//金服宝活动管理
            "consultHint": "凡泰金易联随时为您服务,请选择您要咨询的业务范围",//进入咨询房间第一条消息
            "dispatchMode": "B",//派单模式 A B
            "dispatchTrack": true,//金服宝分发跟踪
            "fissionRadar": true,//金服宝裂变雷达
            "isAHideRoom": true,//A模式下隐藏无单房间
            "isCancelAutoKnowledge": true,//点击转人工,去留言是否取消自动创建知识库工单
            "isDisableConsultant": false,//客服头像可否点击
            "isDisableCustomerCard": false,//客户名片可否点击
            "isDisableServiceBotRoomJump": false,//是否允许客服机器人房间点击跳转详情页,默认允许
            "isHideConsultCard": false,//是否隐藏投顾名片
            "isHideConsultEntrance": false,//立即咨询入口
            "isHideSwanWallet": false,//是否隐藏金服宝钱包
            "isSkipGoRoom": false,//是否跳过进入房间
            "isSwanCloud": true,//是否公有云
            "knowledge": true,//知识库
            "myZone": true,//文件盘
            "negative": "",//弃用
            "notice": true,//通知功能开关
            "positive": "",//弃用
            "productManagement": true,//金服宝产品管理
            "sensitiveWords": false,//内部使用,第三方不需要配置,由后台返回
            "shareApplet": true,//金服宝员工分享小程序
    //小程序分享回调参数
            "shareAppletParams": {
                "凡泰金易联": {},
                "凡泰金管家": {}
            },
    // 行业模板
            "templateParams": {
                "department": "营业部",
                "duration": true,//是否展示执业年限
                "practiceNo": "执业编号",
                "telephone": "营业部电话"
            },
            "viewHistory": true,//金服宝浏览历史
            "viewManagement": true,//金服宝观点管理
            "visitorList": true//金服宝访客列表
        },
    
    // 水印
        "watermark": {
            "companyName": "凡泰极客",//企业名称
            "isWatermarkChangeable": true,//是否允许更改水印开关状态f alse或没有设置 -> 全局水印打开,且不能修改,true -> 私聊或群主可以修改
            "isWatermarkEnable": false//是否开启使用水印功能
        }
    }
    

    具体开关信息可参考apidoc

    2. 配置示例

    FinoChatOption options = new FinoChatOption();
    options.setLogLevel(android.util.Log.VERBOSE);
    options.setAppKey(BuildConfig.KEY);
    options.setAppType(BuildConfig.AppType);
    
    if (!apiUrl.isEmpty()) {
        options.setApiURL(apiUrl);
    } else {
        options.setApiURL(BuildConfig.API);
    }
    options.setAppId("3");
    options.setApiPrefix("/api/v1");
    
    // 通知栏图标
    options.getNotification().notificationIcon = R.drawable.notification;
    
    options.setAppDebug(BuildConfig.DEBUG);
    options.setSdkVersion(com.finogeeks.finochat.BuildConfig.VERSION_NAME);
    
    
    
    // 配置微信APPID
    FinoChatOption.ShareParams shareParams = new FinoChatOption.ShareParams(BuildConfig.WECHAT_APPID, BuildConfig.MINIPROGRAM_ID, R.mipmap.ic_launcher);
    options.setShareParams(shareParams);
    
    // 金管家小程序配置
    FinoChatOption.IShareWxAppletCallback shareJgj = () -> {
        FinoChatOption.ShareAppletParams shareJgjWxParams = new FinoChatOption.ShareAppletParams();
     String fcid = ServiceFactory.getInstance().getSessionManager().getCurrentSession().getMyUserId();
     shareJgjWxParams.miniProgramId = BuildConfig.JGJ_MINIPROGRAM_ID;
     shareJgjWxParams.path = String.format("pages/home/home?fcid=%s", fcid);
     shareJgjWxParams.title = "凡泰金管家";
     shareJgjWxParams.name = "凡泰金管家";
     shareJgjWxParams.description ="您身边的服务专家";
     shareJgjWxParams.type = BuildConfig.ENV_VERSION;
     shareJgjWxParams.shareType = "STUDIO";
     shareJgjWxParams.icon = BitmapFactory.decodeResource(getResources(), R.drawable.jinguanjia_cover);
     shareJgjWxParams.poster = R.drawable.turkey_jfb_share_poster;
     return shareJgjWxParams;
    };
    
    // 金易联小程序配置
    FinoChatOption.IShareWxAppletCallback shareJyl = () -> {
        FinoChatOption.ShareAppletParams shareJylWxParams = new FinoChatOption.ShareAppletParams();
     String fcid = ServiceFactory.getInstance().getSessionManager().getCurrentSession().getMyUserId();
     shareJylWxParams.miniProgramId = BuildConfig.MINIPROGRAM_ID;
     JsonObject jsonObject = new JsonObject();
     jsonObject.addProperty("advisorId", fcid);
     String url = URLEncoder.encode(jsonObject.toString());
     shareJylWxParams.path = String.format("pages/login/index?type=BIND_ADVISOR&value=%s", url);
     shareJylWxParams.title = "凡泰金易联";
     shareJylWxParams.name = "凡泰金易联";
     shareJylWxParams.description = "您身边的服务专家";
     shareJylWxParams.type = BuildConfig.ENV_VERSION;
     shareJylWxParams.shareType = "SWAN_IM";
     shareJylWxParams.icon = BitmapFactory.decodeResource(getResources(), R.drawable.jyl_cover);
     shareJylWxParams.poster = R.drawable.turkey_jfb_share_poster;
     return shareJylWxParams;
    };
    
    // 配置小程序
    Map<String, FinoChatOption.IShareWxAppletCallback> applets = new HashMap<>();
    applets.put("凡泰金管家", shareJgj);
    applets.put("凡泰金易联", shareJyl);
    options.swan.shareAppletParams = applets;
    
    options.swan.consultHint = "凡泰金易联随时为您服务,请选择您要咨询的业务范围";
    if (!getPackageName().contains(".cloud")) {
        options.swan.templateParams.practiceNo = "员工编号";
     options.swan.templateParams.department = "网点";
     options.swan.templateParams.telephone = "网点电话";
     options.swan.templateParams.duration = false;
    }
    
    options.swan.isSwanCloud = getPackageName().contains(".cloud");
    options.swan.dispatchMode = "B";
    
    
    options.getSettings().apm = false;
    options.getSettings().feedback = true;
    options.getSettings().isHideSecurityNetDisk = false;
    
    options.channel.supportChannelType = "private";
    options.channel.channelWechatQrCode = true;
    options.watermark.isWatermarkChangeable = true;
    options.watermark.isWatermarkEnable = false;
    
    options.roomMenu.businessCard = false;
    
    options.chat.isVideoChat = false;
    options.chat.convUiHyperTextLines = 0;
    FinoChatClient.getInstance().initFinoChatSession(this, options, new FinoCallBack<Void>() {
        @Override
     public void onSuccess(Void result) {
            Log.i(LOG_TAG, "init success");
     }
    
        @Override
     public void onProgress(int progress, String status) {
        }
    
        @Override
     public void onError(int code, String message) {
            Log.e(LOG_TAG, "code:" + code + message);
     if (code != FinoError.NO_HISTORY_TOKEN_FOUND)
                new Handler(Looper.getMainLooper())
                        .post(() -> ToastsKt.toast(FinoChatApplication.this, "code:" + code + ",message:" + message));
     }
    });
    

Locked