This is a beta SDK

API Options

Helpshift provides several configuration options that you can use to customize the behavior of the SDK. Use these options in conjunction with our Helpshift APIs.

GetApplicationConfiguration

Gets the available application configurable settings. to set the application, one has to first make a call to GetApplicationConfiguration(). It will return the configuration object. in this config object develeoper has to set the setting.

Example:

AppConfig config = Helpshift.GetApplicationConfiguration();

These are the list of configurations

enableContactUs

Controls the visibility of the Helpshift Contact Us button when a user is viewing FAQs. You can customize this option to make it easier or more difficult to contact support.

Option:
enableContactUs
Values:
ALWAYS / AFTER_VIEWING_FAQS / AFTER_MARKING_ANSWER_UNHELPFUL / NEVER
Default:
ALWAYS
Supported by:
ShowFAQs, ShowFAQSection, ShowSingleFAQ

Example:

config.EnableContactUs = Windows10.SDK.Core.ENABLE_CONTACT_US.AFTER_MARKING_ANSWER_UNHELPFUL;
ALWAYS
show in the navigation bar, search, and after marking an FAQ unhelpful.
AFTER_VIEWING_FAQS
show only while searching, and after marking an FAQ unhelpful.
AFTER_MARKING_ANSWER_UNHELPFUL
show only after user marks an FAQ unhelpful.
NEVER
do not show "Contact Us" button anywhere in the SDK.

Best Practices

  • Provide tier-based support by setting enableContactUs to ALWAYS for paid users and AFTER_VIEWING_FAQS for unpaid ones.
  • Provide country based support by setting enableContactUs to ALWAYS for local users and AFTER_VIEWING_FAQS for foreign ones.

gotoConversationAfterContactUs

Determines which screen a user sees after filing an issue via "Contact Us".

Option:
gotoConversationAfterContactUs
Values:
true / false
Default:
false
Supported by:
ShowFAQs, ShowFAQSection, ShowSingleFAQ, ShowConversation

Set the value to true to go directly to the Conversation view. Use this option when you want to send replies to users immediately after they file issues. This is helpful when you provide 24-hour support or are using New Issue Automations

Example:

    config.GotoConversationAfterContactUs = true;

Set the value to false to avoid entering the Conversation view. A "Thanks for contacting us" alert will appear briefly for your user then disappear. Most teams use this default option to acknowledge that an issue has been received, but not give the impression that there is a support Agent will reply immediately.

Best Practices

  • Set gotoConversationAfterContactUs to true and send an autoresponse to your users using a New Issue Automation. In your reply, you can link to your FAQs and provide a timeframe for when you will reply to their issue.

requireEmail

The requireEmail option determines whether email is required or optional for starting a new conversation.

Option:
requireEmail
Values:
true / false
Default:
false
Supported by:
showFAQs, showFAQSection, showSingleFAQ, showConversation

Set the value to true to require the user to fill out a valid email address when filing an issue. Set the value to false to make email address optional.

Example:

    config.RequireEmail= true;

Best Practices

  • The requireEmail option will be ignored if any of the following are true: "New Issue Forwarding" is turned ON in Helpshift Dashboard. "Allow anonymous issues" is turned ON in Helpshift Dashboard. ** "enableFullPrivacy" option is set to true
  • Once requireEmail option is set, the SDK will use that value for all new conversations until it is changed again.

hideNameAndEmail

The hideNameAndEmail flag will hide the name and email fields when the user starts a new conversation.

Option:
hideNameAndEmail
Values:
true / false
Default:
false
Supported by:
ShowFAQs, ShowFAQSection, ShowSingleFAQ, ShowConversation

When the flag is set to true the name and email fields will be hidden. Use this option when you do not need to collect your user's name or email address. Set this flag to false to make Name and Email fields visible when a user files an issue. This is helpful if you need name and/or email to identify your users.

Example:

    config.HideNameAndEmail= true;

Best Practices

  • Simplify issue filing by setting the hideNameAndEmail to true. This will make it easier for your users to contact you.
  • You can use the SetNameAndEmail() API to supply the SDK with name and email. Set hideNameAndEmail to true and you can avoid potential mismatches between User ID and Name/Email.
  • You can use the SetUserIdentifier() API to supply the SDK with a unique User ID
  • The hideNameAndEmail option will be set to true if any of the following are true: "Allow anonymous issues" is turned ON in Helpshift Dashboard enableFullPrivacy is set to true.
  • The hideNameAndEmail option will be set to false if any of the following are true: "New Issue Forwarding" is ON and name and email are not available to the SDK The requireEmail option is set to true and email is not available to the SDK
  • Once hideNameAndEmail option is set, the SDK will use that value for all new conversations until it is changed again.

conversationPrefillText

The conversationPrefillText API option prefills a new conversation with the supplied string. You can use this option to add crash logs to a new conversation and prompt the user to send those logs as a support ticket. You can also use this option to set context depending on where and when in the app showConversation is being launched from.

Option:
conversationPrefillText
Values:
Non-empty String
Default:
Empty string
Supported by:
ShowConversation

Example:

    string conversationPrefillText = "your prefill text";
    hs.ShowConversation(conversationPrefillText);

To prefill a user's name and email address follow the instructions here.

enableFullPrivacy

In scenarios where the user attaches objectionable content in the screenshots, it becomes a huge COPPA concern. The enableFullPrivacy option will help solve this problem.

Option:
enableFullPrivacy
Values:
true / false
Default:
false
Supported by:
showFAQs, showFAQSection, showSingleFAQ, showConversation

Setting the enableFullPrivacy option to true ensures full COPPA compliance by doing the following: 1. Disable user-initiated screenshots - players cannot send images without being requested by an Agent. 2. Do not collect any of the following personal information: Email Address Mobile country code and mobile network code Country code and country Custom meta-data that is labeled "private-data" To send personally identifiable information through custom meta-data, the information must be added inside a dictionary with a "private-data" key. If this option is set to true, this data will be removed when the user starts a new conversation.

Example:

config.EnableFullPrivacy= true;

Best Practices

In your registration process, ask your user for his/her age. If the user's age is 13 or younger, set enableFullPrivacy to TRUE. This way, you comply with COPPA for your children users, but collect valuable user and device data for your other users.

  • Once enableFullPrivacy flag is set, the SDK will use that value for all further sessions until it is changed again.

showSearchOnNewConversation

Use this option to provide better ticket deflection.

Option:
showSearchOnNewConversation
Values:
true / false
Default:
false
Supported by:
showConversation, ShowFAQs, ShowFAQSection

Set showSearchOnNewConversation to TRUE to show relevant FAQs to a user's issue before it is filed. This helps answer tickets with FAQs before they reach your support team. If there are no relevant FAQs, the user can continue filing a new conversation with his original text by pressing the "Send Anyway" button. The showSearchOnNewConversation flag is also effective in the showFAQs API. In this case if the user starts a conversation from an FAQ page, he is not redirected to search results or if the user has already performed a search in the current session, he will not be taken through search again. If the user wishes to leave a feedback (via Rate our app alert), he will not be taken through search.

Example:

    config.ShowSearchOnNewConversation= true;

showConversationResolutionQuestion

This option enables or disables the showing of Conversation Resolution view after the agent marks an issue resolved. Conversation Resolution is added to the bottom of the screen with a Yes and No button. If the user taps Yes, then this view is replaced with a Start a new conversation view. If the user taps No, then we dismiss the Conversation Resolution view and let them continue the conversation. This option is set to true by default, which means that the user will be presented with Conversation Resolution view. If you wish to skip this view then the option needs to be set to false.

Option:
showConversationResolutionQuestion
Values:
true / false
Default:
true

Example:

    config.ShowConversationResolutionQuestion = true;

enableDefaultFallbackLanguage

This option enables or disables fallback to default language that is English for FAQs.

Option:
EnableDefaultFallbackLanguage
Values:
true / false
Default:
true

This option enables or disables fallback to default language that is English for FAQs. In case you have FAQs in multiple languages but do not wish to fallback to English if localisation is missing, set this flag to false. For example if the SDK language is set to French and this option is set to true, then the FAQs for which french translation is available will be displayed in french and for the FAQs for which french translation is not available will be displayed in English. If the value of this option is set to false then the FAQs for French translation will be displayed, and the FAQs for which the translation is not provided will not be displayed at all.

Example:

config.EnableDefaultFallbackLanguage= true;

SetApplicationConfiguration

Method will alow to set application configurable settings.

Example:

Helpshift.SetApplicationConfiguration(config);