Code Monkey home page Code Monkey logo

aihelp-ios-sdk's Introduction

中文版接入文档

HIGHLIGHTS

1.Remember to initialize init, otherwise the user can not enter the Elva intelligent customer service system.
2.Please check the Info.plist and TARGETS->info->Custom iOS Target Properties in your project file for these permissions: Privacy - Camera Usage Description and Privacy - Photo Library Usage Description, if not, please add following.

AIHelp iOS SDK Integration Guide

Ⅰ. Download iOS SDK

Click the button "Clone or download" in the top right corner to download iOS SDK and then unzip the file.

Ⅱ. Import ElvaChatServiceSDK into project

Copy the ElvaChatServiceSDK folder to your main directory.

Ⅲ. Project Settings

  1. Add framework to Link Binary with Libraries: webkit.framework(if using showElvaOP).
  2. Add -ObjC to Build Settings-Other Linker Flags.

Ⅳ.Interface Call Instructions

You must use init in your App's Initialization Code, otherwise you can not use AIHelps' service properly.

[ECServiceSdk init:appSecret
				Domain:domain
				appId:appId];

About Parameters:

Parameters Description
appSecret Your unique Developer API Key
domain Your AIHelp Domain Name. For example: foo.AIHELP.NET
appId A unique ID Assigned to your App.

Note: Please log into AIHelp Web Console with your registered email account to find the appKey, domain and appId In the Application page of the Settings Menu. If your company doesn't have an account, you need to register an account at AIHelp Website

Coding Example:

// Must be called during application/game initialization, otherwise you can't use AIHelp properly.

[ECServiceSdk init:@"YOUR_API_KEY"
				Domain:@"YOUR_DOMAIN_NAME"
				AppId:@"YOUR_APP_ID"];

Ⅴ. Start Using AIHelp

1. API Summary:

Method Purpose Prerequisites
showElva Launch AI Conversation Interface
showElvaOP Launch Operation Interface Need to configure Operation Sections
showFAQs Show all FAQs by Sections Need to Configure FAQs,Need to setUserName and setUserId
showFAQSection Show FAQ Section Need to Configure FAQs,Need to setUserName and setUserId
showSingleFAQ Show Single FAQ Need to Configure FAQ,Need to setUserName and setUserId
showConversation Launch Manual Conversation Interface Need to setUserName and setUserId
setName Set Your App's Name for AIHelp SDK to Display Use it After Initialization
setUserId Set unique User ID
setUserName Set User In-App Name
setServerId Set Unique Server ID
setSDKLanguage Set SDK Language

Note:It is not necessary for you to use all the APIs, especially when you only have one user interface for the customer service in your application. Some APIs already contains entry to other APIs, see below for details:

2. Launch the AI Conversation Interface, Use showElva:

[ECServiceSdk showElva:playerName
				PlayerUid:playerUid
				ServerId:serverId
				PlayerParseId:playerParseId
				PlayershowConversationFlag:showConversationFlag];

or

[ECServiceSdk showElva:playerName
				PlayerUid:playerUid
				ServerId:serverId
				PlayerParseId:playerParseId
				PlayershowConversationFlag:showConversationFlag
				Config:config];

Coding Example:

// Presenting AI Help Converation with your customers
NSMutableDictionary *config = [NSMutableDictionary dictionary];
NSMutableDictionary *customData = [NSMutableDictionary dictionary];
[customData setObject:@"vip,pay1" forKey:@"elva-tags"];
[customData setObject:@"1.0.0" forKey:@"VersionCode"];
[config setObject:customData forKey:@"elva-custom-metadata"];
[ECServiceSdk showElva:@"USER_NAME"
				PlayerUid:@"USER_ID"
				ServerId:@"123"
				PlayerParseId:@""
				PlayershowConversationFlag:@"1"
				Config:config];
				
/*config example content:
		{
			elva-custom-metadata ={
				hs-tags ='army, pay',
				VersionCode = '3'
			}
		}
*/

About Parameters:

  • playerName: In-App User Name
  • playerUid: In-App Unique User ID
  • serverId: The Server ID
  • playerParseId: Can be empty string, can NOT be NULL.
  • showConversationFlag: Should be "0" or "1". If set "1", the manual conversation entry will be displayed in the upper right hand side of the AI conversation interface.
  • config: Optional parameters for custom Dictionary information. You can pass specific Tag information using vector elva-tags, see the above coding example. Please note you also need to configure the same tag information in the Web console so that each conversation can be correctly tagged.

showElva

Best Practice:

  1. Use this method to launch your APP's customer service. Configure specific welcome texts and AI story lines in the AIHelp Web Console to better the customer support experiences.
  2. Enable Manual Conversation Entry to allow users' to chat with your human support team with the parameter "showConversationFlag" setting to "1", you may use this method for any user or as a privilege for some users only.

3. Launch The Operation Interface, use showElvaOP:

The operation module is useful when you want to present updates, news, articles or any background information about your APP/Game to users.

[ECServiceSdk showElvaOP:playerName 
				PlayerUid:playerUid 
				ServerId:serverId 
				PlayerParseId:playerParseId 
				PlayershowConversationFlag:showConversationFlag 
				Config:config];

or

[ECServiceSdk showElvaOP:playerName 
				PlayerUid:playerUid 
				ServerId:serverId 
				PlayerParseId:playerParseId 
				PlayershowConversationFlag:showConversationFlag 
				Config:config
				defaultTabIndex:defaultTabIndex];

Coding Example:

// Presenting Operation Info to your customers
NSMutableDictionary *config = [NSMutableDictionary dictionary];
NSMutableDictionary *customData = [NSMutableDictionary dictionary];
[customData setObject:@"vip,pay1" forKey:@"elva-tags"];
[customData setObject:@"1.0.0" forKey:@"VersionCode"];
[config setObject:customData forKey:@"elva-custom-metadata"];
[ECServiceSdk showElvaOP:@"USER_NAME" 
				PlayerUid:@"USER_ID" 
				ServerId:@"123" 
				PlayerParseId:@"" 
				PlayershowConversationFlag:@"1" 
				Config:config];

About Parameters:

  • playerName: User Name in Game/APP
  • playerUid: Unique User ID
  • serverId: The Server ID
  • playerParseId: Can be empty string, can NOT be NULL.
  • showConversationFlag: Should be "0" or "1". If set at "1", the manual conversation entry will be shown in the top right-hand corner of the AI conversation interface.
  • config: Custom Dictionary information. You can pass specific Tag information using vector elva-tags, see the above coding example. Please note that you also need to configure the same tag information in the Web console so that each conversation can be correctly tagged.
  • defaultTabIndex: Optional. The index of the first tab will to be shown when entering the operation interface. Default value is 0, default value of is the left-most tab, if you would like to show the AI conversation interface(the right-most) should be set to 999.

showElva

Best Practice:

  1. Use this API to present news, announcements, articles or any useful information to users/players. Configure and publish the information in AIHelp web console.

4. Display FAQs, use showFAQs (need to set setUserName and set setUserId) :

[ECServiceSdk showFAQs];

or

[ECServiceSdk showFAQs:config];

Coding Example:

// Presenting FAQs to your customers
[ECServiceSdk setUserName:@"PLAYER_NAME"];
[ECServiceSdk setUserId:@"123ABC567DEF"];
NSMutableDictionary *config = [NSMutableDictionary dictionary];
NSMutableDictionary *customData = [NSMutableDictionary dictionary];
[customData setObject:@"vip,pay1" forKey:@"elva-tags"];
[customData setObject:@"1.0.0" forKey:@"VersionCode"];
[config setObject:customData forKey:@"elva-custom-metadata"];
[ECServiceSdk showFAQs:config];

About Parameters:

  • config: Custom Dictionary information. You can pass specific Tag information using vector elva-tags, see above coding example. Please note that you also need to configure the same tag information in the Web console to make each conversation be correctly tagged.

showElva

Best Practice:

  1. Use this method to show FAQs about your APP/Game properly. Configure FAQs in AIHelp Web Console. Each FAQ can be categroized into a section. If the FAQs are great in number, you can also add Parent Sections to categorize sections to make things clear and organized.

5. Show A Specific FAQ, use showSingleFAQ (need to set setUserName and set setUserId) :

[ECServiceSdk showSingleFAQ:faqId];

or

[ECServiceSdk showSingleFAQ:faqId Config:config];

Coding Example:

// Presenting FAQs to your customers
[ECServiceSdk setUserName:@"PLAYER_NAME"];
[ECServiceSdk setUserId:@"123ABC567DEF"];
NSMutableDictionary *config = [NSMutableDictionary dictionary];
NSMutableDictionary *customData = [NSMutableDictionary dictionary];
[customData setObject:@"vip,pay1" forKey:@"elva-tags"];
[customData setObject:@"1.0.0" forKey:@"VersionCode"];
[config setObject:customData forKey:@"elva-custom-metadata"];
[ECServiceSdk showSingleFAQ:@"20" Config:config];

About Parameters:

  • faqId: The PublishID of the FAQ item, you can check it at AIHelp Web Console: Find the FAQ in the FAQ menu and copy its PublishID.
  • config: Custom Dictionary information. You can pass specific Tag information using vector elva-tags, see the above coding example. Please note that you also need to configure the same tag information in the Web console to make each conversation be correctly tagged.

showSingleFAQ

Best Practice:

  1. Use this method when you want to show a specific FAQ in a proper location of your APP/Game.

6. Set Your App's Name for AIHelp SDK to Display, use setName:

[ECServiceSdk setName:game_name];

Coding Example:

[ECServiceSdk setName:@"Your Game"];

About Parameters:

  • game_name: APP/Game Name

Best Practice:

  1. Use this method after the SDK initialization.The App's name will be displayed in the title bar of the customer service interface.

7. Set the Unique User ID, use setUserId:

[ECServiceSdk setUserId:playerUid];

Coding Example:

[ECServiceSdk setUserId:@"123ABC567DEF"];

About Parameters:

  • playerUid:Unique User ID

Best Practice:

  1. Normally you don not need to use this method if you have passed the user ID in another method.

8. Set User Name, use setUserName:

[ECServiceSdk setUserName:playerName];

Coding Example:

[ECServiceSdk setUserName:@"PLAYER_NAME"];

About Parameters:

  • playerName: User/Player Name

Best Practice:

  1. Use this method to set the user name, which will be shown in the web console's conversation page for the user. You can address the user with this name during the chat.
  2. Normally you don't need to use this method if you have passed user name in other method.

9. Set Unique Server ID, use setServerId:

[ECServiceSdk setServerId:serverId];

Coding Example:

[ECServiceSdk setServerId:@"SERVER_ID"];

About Parameters:

  • serverId: The Unique Server ID

Best Practice:

  1. Normally you don not need to use this method if you have passed the server ID in another method.

10. Launch manual chat console, use showConversation (need to set UserName) :

[ECServiceSdk showConversation:playerUid ServerId:serverId];

or

[ECServiceSdk showConversation:playerUid 
				ServerId:serverId 
				Config:config];

Coding Example:

[ECServiceSdk setUserName:@"PLAYER_NAME"];
NSMutableDictionary *config = [NSMutableDictionary dictionary];
NSMutableDictionary *customData = [NSMutableDictionary dictionary];
[customData setObject:@"vip,pay1" forKey:@"elva-tags"];
[customData setObject:@"1.0.0" forKey:@"VersionCode"];
[config setObject:customData forKey:@"elva-custom-metadata"];
[ECServiceSdk showConversation:@"PLAYER_ID" 
				ServerId:@"123" 
				Config:config];

About Parameters:

  • playerUid:Unique User ID
  • serverId: The Unique Server ID
  • config: Custom Dictionary information. You can pass specific Tag information using vector elva-tags, see the above coding example. Please note that you also need to configure the same tag information in the Web console to make each conversation be correctly tagged.

Best Practice:

  1. Normally you don not need to use this method unless you intend to allow users to enter manual conversations without engaging with the AI chat. You may use this method as a privilege for some users.

showConversation

11. Set the SDK Language, use setSDKLanguage:

Setting the SDK Language will change the FAQs, Operational information, AI Chat and SDK display language.

[ECServiceSdk setSDKLanguage:language];

Coding Example:

[ECServiceSdk setSDKLanguage:@"en"];

About Parameters:

  • language: Standard Language Alias. For example: en is for English, zh_CN is for Simplified Chinese. More language labels can be viewed at AIHelp Web Console:"Settings"-->"Language"->Alias.

language

Best Practice:

  1. Normally AIHelp will use the mobile's language configuration by default. If you intend to make a different language setting, you need to use this method right after the SDK initialization.
  2. If your allow users to change the APP language, then you need to use this method to make AIHelp the same lanague as your APP.

12. Set a Different Greeting Story Line.

If your APP provides multiple entries to AIHelp, and you intend to introduce different AI welcome texts and story lines to users from different entries, you can set config parameter in showElva or showElvaOP

NSMutableDictionary *welcomeText = [NSMutableDictionary dictionary];
[welcomeText setObject:@"usersay" forKey:@"anotherWelcomeText"];

Coding Example:

NSMutableDictionary *welcomeText = [NSMutableDictionary dictionary];

// note:anotherWelcomeText is key, should be unchanged.
// you need to change usersay according to the "User Say" in your new 
// story line
[welcomeText setObject:@"usersay" forKey:@"anotherWelcomeText"];
NSMutableDictionary *config = [NSMutableDictionary dictionary];
[config setObject:welcomeText forKey:@"elva-custom-metadata"];


[ECServiceSdk showElva:@"TEST_PLAYER_NAME"
              PlayerUid:@"TEST_UID_123"
              ServerId:@"TEST_SRV_ID_123"
              PlayerParseId:@""
              PlayershowConversationFlag:@"1"
              Config:config];

Or

[ECServiceSdk showElvaOP:@"TEST_PLAYER_NAME"
              PlayerUid:@"TEST_UID_123"
              ServerId:@"TEST_SRV_ID_123"
              PlayerParseId:@""
              PlayershowConversationFlag:@"1"
              Config:config];

Best Practice:

  1. Introduce different story lines to users from different sources.

aihelp-ios-sdk's People

Contributors

664505088 avatar aihelp-net avatar hopesala avatar nickeyyuan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.