AIHelp客服接入说明

1.接入须知

1.接入龙图BaseSDK的客户端开发者。
2.使用此文档内接口,需要先接入龙图BaseSDK (仅支持龙图BaseSDK 2.0.3及以后版本)。
3.国内渠道包接入完成以后需要使用打包工具打包测试。

2.SDK初始化

接入龙图BaseSDK初始化即可

3 功能模块接入

3.1 客服模块

3.1.1 展示客服默认页面

接口说明

展示客服默认页面

接口定义

  1. /**
  2. * 展示客服默认页面
  3. */
  4. public void LTAIHelpShowConversation();

接口实列

  1. /**
  2. * 展示客服默认页面
  3. */
  4. LTBaseAIHelp.getInstance().LTAIHelpShowConversation();

3.1.2 展示客服自定义页面

接口说明

展示客服自定义页面

参数定义

客服系统的跳转意图

参数定义 参数值 说明
LTBaseAIHelp.INTENT_BOT_SUPPORT 1 机器人
LTBaseAIHelp.INTENT_HUMAN_SUPPORT 2 人工

接口定义

  1. /**
  2. * 展示客服模块
  3. *
  4. * @param config 客服配置
  5. * conversationIntent 客服系统的跳转意图(INTENT_BOT_SUPPORT 机器人/ INTENT_HUMAN_SUPPORT 人工 )
  6. * ShowHumanInBotPage 机器人常显人工入口 boolean(true / false)
  7. * welcomeMessage 人工客服自定义欢迎语 String(自定义字符串,可以使用后台配置的)
  8. * storyNode 特定故事线的入口节点 String(故事线配置内容)
  9. */
  10. public void LTAIHelpShowConversation(LTBaseAIHelpConversationConfig config) {

接口实列

举例:当等级 大于等于50级的时候人工客服按钮显示,小于50级的时候不显示人工客服按钮。
根据当前信息,自定义欢迎语, 如果传空使用后台配置的欢迎语。

  1. LTBaseAIHelpConversationConfig mConfig = new LTBaseAIHelpConversationConfig();
  2. if ( level < 50) {
  3. mConfig.setShowHumanInBotPage(false);
  4. } else if (level >= 50) {
  5. mConfig.setShowHumanInBotPage(true);
  6. }
  7. mConfig.setWelcomeMessage(" THIS IS YOUR SPECIAL WELCOME MESSAGE ");
  8. mConfig.setConversationIntent(LTBaseAIHelp.INTENT_BOT_SUPPORT);
  9. LTBaseAIHelp.getInstance().LTAIHelpShowConversation(mConfig);

3.2 FAQ模块

3.2.1 默认FAQ页面

接口说明

默认FAQ页面

接口定义

  1. /**
  2. * 展示FAQ
  3. * 你可以通过配置来展示分类列表,支持 FAQ 的搜索,并支持在合适的位置展示客服系统入口。
  4. */
  5. public void LTAIHelpShowAllFAQSections();

接口实列

  1. /**
  2. * 展示FAQ
  3. * 你可以通过配置来展示分类列表,支持 FAQ 的搜索,并支持在合适的位置展示客服系统入口。
  4. */
  5. LTBaseAIHelp.getInstance().LTAIHelpShowAllFAQSections();

3.2.2 自定义FAQ页面

接口说明

自定义FAQ页面

接口定义

页面展示联系客服按钮的时机

参数定义 参数值 说明
LTBaseAIHelp.MOMENT_NEVER 1001 从不显示
LTBaseAIHelp.MOMENT_ALWAYS 1002 常显
LTBaseAIHelp.MOMENT_ONLY_IN_ANSWER_PAGE 1003 详情页显示
LTBaseAIHelp.MOMENT_AFTER_MARKING_UNHELPFUL 1004 点踩后显示
  1. /**
  2. * 展示FAQ
  3. * 你可以通过配置来展示分类列表,支持 FAQ 的搜索,并支持在合适的位置展示客服系统入口。
  4. *
  5. * @param ShowMoment FAQ 页面展示联系客服按钮的时机 (常显/不显/详情页展示/点踩后显示)
  6. * @param config 客服配置
  7. */
  8. public void LTAIHelpShowAllFAQSections(int ShowMoment, LTBaseAIHelpConversationConfig config);

接口实列

  1. LTBaseAIHelpConversationConfig mConfig = new LTBaseAIHelpConversationConfig();
  2. if ( level < 50) {
  3. mConfig.setShowHumanInBotPage(false);
  4. } else if (level >= 50) {
  5. mConfig.setShowHumanInBotPage(true);
  6. }
  7. mConfig.setWelcomeMessage(" THIS IS YOUR SPECIAL WELCOME MESSAGE ");
  8. mConfig.setConversationIntent(LTBaseAIHelp.INTENT_BOT_SUPPORT);
  9. LTBaseAIHelp.getInstance().LTAIHelpShowAllFAQSections(LTBaseAIHelp.MOMENT_ALWAYS,mConfig);

3.2.3 FAQ分类页面

接口说明

FAQ分类页面

接口定义

  1. /**
  2. * 展示FQA某个分类
  3. *
  4. * @param sectionId 分类id
  5. */
  6. public void LTAIHelpShowFAQSection(String sectionId);

接口实列

  1. LTBaseAIHelp.getInstance().LTAIHelpShowFAQSection("运营分配的分类ID");

3.2.4 自定义FAQ分类页面

接口说明

自定义FAQ分类页面

接口定义

页面展示联系客服按钮的时机

参数定义 参数值 说明
LTBaseAIHelp.MOMENT_NEVER 1001 从不显示
LTBaseAIHelp.MOMENT_ALWAYS 1002 常显
LTBaseAIHelp.MOMENT_ONLY_IN_ANSWER_PAGE 1003 详情页显示
LTBaseAIHelp.MOMENT_AFTER_MARKING_UNHELPFUL 1004 点踩后显示
  1. /**
  2. * 展示FQA某个分类
  3. * 你可以通过配置来展示分类列表,支持 FAQ 的搜索,并支持在合适的位置展示客服系统入口。
  4. *
  5. * @param sectionId 分类id
  6. * @param ShowMoment FAQ 页面展示联系客服按钮的时机 (常显/不显/详情页显示/点踩后显示)
  7. * @param config 客服配置
  8. */
  9. public void LTAIHelpShowFAQSection(String sectionId, int ShowMoment, LTBaseAIHelpConversationConfig config);

接口实列

  1. LTBaseAIHelpConversationConfig mConfig = new LTBaseAIHelpConversationConfig();
  2. if ( level < 50) {
  3. mConfig.setShowHumanInBotPage(false);
  4. } else if (level >= 50) {
  5. mConfig.setShowHumanInBotPage(true);
  6. }
  7. mConfig.setWelcomeMessage(" THIS IS YOUR SPECIAL WELCOME MESSAGE ");
  8. mConfig.setConversationIntent(LTBaseAIHelp.INTENT_BOT_SUPPORT);
  9. LTBaseAIHelp.getInstance().LTAIHelpShowFAQSection("运营分配的分类ID",LTBaseAIHelp.MOMENT_ALWAYS,mConfig);

3.2.5 FAQ特定页面

接口说明

FAQ特定页面

接口定义

  1. /**
  2. * 展示某个特定的 FAQ 问题。
  3. *
  4. * @param faqId 展示的特定 FAQ 的 ID
  5. */
  6. public void LTAIHelpShowSingleFAQ(String faqId) ;

接口实列

  1. LTBaseAIHelp.getInstance().LTAIHelpShowSingleFAQ("运营分配的FAQ ID");

3.2.6 自定义FAQ特定页面

接口说明

自定义FAQ特定页面

接口定义

页面展示联系客服按钮的时机

参数定义 参数值 说明
LTBaseAIHelp.MOMENT_NEVER 1001 从不显示
LTBaseAIHelp.MOMENT_ALWAYS 1002 常显
LTBaseAIHelp.MOMENT_ONLY_IN_ANSWER_PAGE 1003 详情页显示
LTBaseAIHelp.MOMENT_AFTER_MARKING_UNHELPFUL 1004 点踩后显示
  1. /**
  2. * 展示某个特定的 FAQ 问题。
  3. *
  4. * @param faqId 展示的特定 FAQ 的 ID
  5. * @param ShowMoment FAQ 页面展示联系客服按钮的时机 (常显/不显/点踩后显示)
  6. * @param config 客服配置
  7. */
  8. public void LTAIHelpShowSingleFAQ(String faqId, int ShowMoment, LTBaseAIHelpConversationConfig config) ;

接口实列

  1. LTBaseAIHelpConversationConfig mConfig = new LTBaseAIHelpConversationConfig();
  2. if ( level < 50) {
  3. mConfig.setShowHumanInBotPage(false);
  4. } else if (level >= 50) {
  5. mConfig.setShowHumanInBotPage(true);
  6. }
  7. mConfig.setWelcomeMessage(" THIS IS YOUR SPECIAL WELCOME MESSAGE ");
  8. mConfig.setConversationIntent(LTBaseAIHelp.INTENT_BOT_SUPPORT);
  9. LTBaseAIHelp.getInstance().LTAIHelpShowSingleFAQ("运营分配的FAQ ID",LTBaseAIHelp.MOMENT_ALWAYS,mConfig);

3.3 运营模块

3.3.1 默认运营模块

接口说明

默认运营模块

接口定义

  1. /**
  2. * 通过调用此方法调起 AIHelp 运营模块。
  3. */
  4. public void LTAIHelpShowOperation();

接口实列

  1. LTBaseAIHelp.getInstance().LTAIHelpShowOperation();

3.3.2 自定义运营模块

接口说明

自定义运营模块

接口定义

  1. /**
  2. * 通过调用此方法调起 AIHelp 运营模块。
  3. *
  4. * @param selectIndex 运营模块默认选中页签
  5. * @param title 运营模块机器人客服页签的标题
  6. * @param config 客服页面配置
  7. */
  8. public void LTAIHelpShowOperation(int selectIndex, String title, LTBaseAIHelpConversationConfig config)

接口实列

  1. LTBaseAIHelpConversationConfig mConfig = new LTBaseAIHelpConversationConfig();
  2. if ( level < 50) {
  3. mConfig.setShowHumanInBotPage(false);
  4. } else if (level >= 50) {
  5. mConfig.setShowHumanInBotPage(true);
  6. }
  7. mConfig.setWelcomeMessage(" THIS IS YOUR SPECIAL WELCOME MESSAGE ");
  8. mConfig.setConversationIntent(LTBaseAIHelp.INTENT_BOT_SUPPORT);
  9. LTBaseAIHelp.getInstance().LTAIHelpShowOperation(1,"运营模块机器人客服页签的标题",mConfig);

4 其他功能

4.1 用户退出

接口说明

用户退出,清理用户信息

接口定义

  1. /**
  2. * 用户退出登录时调用此方法告知 AIHelp,保证游客/用户信息的准确性。
  3. */
  4. public void LTAIHelpResetUserInfo()

接口实列

  1. LTBaseAIHelp.getInstance().LTAIHelpResetUserInfo();

4.2 更新用户信息

接口说明

更新用户信息

接口定义

推送平台定义

参数定义 参数值 说明
LTBaseAIHelp.PUSH_PLATFORM_APNS 1 苹果APNS
LTBaseAIHelp.PUSH_PLATFORM_FIREBASE 2 谷歌FIREBASE
LTBaseAIHelp.PUSH_PLATFORM_JPUSH 3 极光
LTBaseAIHelp.PUSH_PLATFORM_GETUI 4 个推
LTBaseAIHelp.PUSH_PLATFORM_HUAWEI 6 华为
  1. /**
  2. * 更新用户信息
  3. *
  4. * @param roleID 用户唯一标识
  5. * @param roleName 用户名称
  6. * @param serverID 用户所在服务器 ID
  7. * @param userTages 用户标签
  8. * @param customData 自定义数据(jsonString)
  9. * @param isSyncCrmInfo 是否将当前用户同步到 CRM
  10. * @param pushToken 推送token (可以为空)
  11. * @param platform 推送平台
  12. */
  13. public void LTAIHelpUpdateUserInfo(String roleID, String roleName, String serverID,
  14. String userTages, String customData, boolean isSyncCrmInfo, String pushToken, int platform);

接口实列

  1. LTBaseAIHelp.getInstance().LTAIHelpUpdateUserInfo("12211", "rolename", "1211", "",
  2. "", true, "", 0);

4.3 设置未读消息回调监听

接口说明

设置未读消息回调监听,
登录成功以后设置未读消息监听。

接口定义

  1. /**
  2. * 未读消息数量变化的回调接口
  3. *
  4. * @param callBack 回调
  5. */
  6. public void LTAIHelpstartUnreadMessageCountPolling(LTBaseAIHelpMessageCountCallBack callBack)

接口实列

  1. LTBaseAIHelp.getInstance().LTAIHelpstartUnreadMessageCountPolling(mLTBaseAIHelpMessageCountCallBack);

回调定义

  1. /**
  2. * @param count 未读消息数
  3. */
  4. public void onMessageCountArrived(int count) ;

回调说明

  1. private LTBaseAIHelpMessageCountCallBack mLTBaseAIHelpMessageCountCallBack = new LTBaseAIHelpMessageCountCallBack() {
  2. @Override
  3. public void onMessageCountArrived(int count) {
  4. Log.i("ltdemo", "mLTBaseAIHelpMessageCountCallBack onMessageCountArrived count:" + count);
  5. Toast.makeText(LTBase_Demo_AIHelp.this, " 未读消息数:" + count, Toast.LENGTH_SHORT).show();
  6. }
  7. };

4.4 日志上报

接口说明

用于研发上报日志文件,
研发需要自己保存日志文件,aihelp只提供文件上传到aihelp。
获取需要去aihelp后台获取。

接口定义

  1. /**
  2. * 为正常使用上传日志功能,需要调用此方法指定日志所在位置。
  3. *
  4. * @param path 指定日志文件路径,系统将会在生成客诉或用户填写特定表单时自动上传对应的日志文件。
  5. */
  6. public void LTAIHelpSetUploadLogPath(String path);

接口实列

  1. LTBaseAIHelp.getInstance().LTAIHelpSetUploadLogPath(FilePath);

4.5 网络信息收集

接口说明

当用户网络出现问题时,您可以知道用户当时网络及用户信息,从而定位网络问题,包含用户无法登录、应用内卡顿等。
aihelp提供了 Ping/Traceroute 两种网络检测方式,请开发人员自行选择使用哪种方式进行网络检测。在aihelp 后台配置。

接口定义

  1. /**
  2. * 网络信息收集
  3. *
  4. * @param hostAddress 指定网络检测的域名,最好是用户服务器所在的域名或 IP,从而有针对性地检测用户对应用的网络连接质量;
  5. 如果不想对外暴露 IP,就可以考虑设定一个可信的公共服务地址,比如国外的 Google/AWS,国内的百度、搜狐等。
  6. * @param callback 网络检测结果的回调
  7. */
  8. public void LTAIHelpSetNetworkCheckHostAddress(String hostAddress, LTBaseAIHelpOnNetworkCallback callback) ;

接口实列

  1. LTBaseAIHelp.getInstance().LTAIHelpSetNetworkCheckHostAddress("https://www.baidu.com",
  2. new LTBaseAIHelpOnNetworkCallback() {
  3. @Override
  4. public void OnNetworkCheckResultCallback(String netLog) {
  5. Log.i("aihelp", " LTAIHelpSetNetworkCheckHostAddress netLog:" + netLog);
  6. }
  7. });

回调说明

  1. // 网络检测结果的回调,AIHelp 会将检测结果通过接口返回给调用者,如果有需要,可以自行取用。
  2. public void OnNetworkCheckResultCallback(String netLog) ;