Track events and user actions when the user starts a new conversation. Attach custom metadata to every conversation started via the SDK.
All the public APIs in the SDK should be called after initializing the SDK via HelpshiftSdk.install() API
You can attach tags while reporting an issue by passing them to the configMap
object at the time of calling ShowConversation
. You can pass an array of strings with a key "tags"
which will get added as Tags when the issue is created.
For example:
using Helpshift; private HelpshiftSdk help; void Awake(){ // install call here } // configuration map void openHelpshift(){ Dictionary<string, object> configMap = new Dictionary<string, object>(); // other configurations // .. configMap.Add("tags", new String[] { "tag1", "tag2" }) // open the support chat screen help.ShowConversation(configMap); }
On tag names & compatibility
Settings
→ Tags
), otherwise they will be ignored.If you want to add Custom Metadata at the time of Issue creation, follow the steps.
Map
Map
Map
Map
to the top-level Map
Map
to configMap
with key "customMetadata"
to any of the SDK X APIs (like ShowConversation(configMap)
).Dictionary<string, string> customMetadataMap = new Dictionary<string, string>(); customMetadataMap.Add("Level", "9"); customMetadataMap.Add("Spend", "46.55 USD"); customMetadataMap.Add("Device Timestamp", DateTime.UtcNow.ToLongTimeString()); Map<String, Object> config = new HashMap<>(); // other configs... //.. config.put("customMetadata", customMetadataMap); Helpshift.showConversation(MainActivity.this, config);
Metadata should only be sent as String key-value pairs.
Dictionary<string, string> customMetadataMap = new Dictionary<string, string>(); Map<String, Object> config = new HashMap<>(); // other configs... //.. config.put("customMetadata", customMetadataMap); Helpshift.showConversation(MainActivity.this, config);
If you want to set Custom Issue Fields at the time of Issue creation, follow the steps.
Dictionary
Dictionary
"type"
and "value"
for that custom issue fieldconfigMap
with key "customIssueFields"
of the ShowConversation(configMap)
Dictionary<string, object> joiningDate = new Dictionary<string, object>(); joiningDate.Add("type", "date"); joiningDate.Add("value", DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()); Dictionary<string, string> stockLevel = new Dictionary<string, string>(); stockLevel.Add("type", "number"); stockLevel.Add("value", "1505"); Dictionary<string, string> employeeName = new Dictionary<string, string>(); employeeName.Add("type", "singleline"); employeeName.Add("value", "Bugs helpshift"); Dictionary<string, string> isPro = new Dictionary<string, string>(); isPro.Add("type", "boolean"); isPro.Add("value", "true"); Dictionary<string, object> cifDictionary = new Dictionary<string, object>(); cifDictionary.Add("joining_date", joiningDate); cifDictionary.Add("stock_level", stockLevel); cifDictionary.Add("employee_name", employeeName); cifDictionary.Add("is_pro", isPro); Map<String, Object> config = new HashMap<>(); // other configs... //.. config.put("customIssueFields", cifMap); Helpshift.showConversation(MainActivity.this, config);
The following are the valid values for the type
key of a Custom Issue Field.
Compatibility table for type and values:
Type | Value | Comments |
---|---|---|
singleline | string | Character limit of 255 |
multiline | string | Character limit of 100,000 |
number | string | |
dropdown | string | Drop-down options should exist for the given Custom Issue Field |
date | number | Epoch time in milliseconds. For example - DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() |
checkbox | boolean |
On Custom Issue Fields keys & compatibility
Settings
→ Custom Issue Fields
), otherwise they will be ignored. Read more here
Applicable to SDK X Unity v10.1.0 & above.
LeaveBreadcrumb
API.
For example:
HelpshiftSdk _support = HelpshiftSdk.GetInstance(); ... _support.LeaveBreadcrumb("Add breadcrumb");
Breadcrumbs are collected within the set breadcrumb limit. The limit is set under the SDK Configurations section for App Settings in the Helpshift’s Agent Dashboard. Breadcrumbs are collected in a FIFO queue. If you want to clear the breadcrumbs, use the ClearBreadcrumbs
API.
For example:
HelpshiftSdk _support = HelpshiftSdk.GetInstance(); ... _support.ClearBreadcrumbs();
Applicable to SDK X Unity v10.1.0 & above.
HelpshiftLog
class and its methods, which will provide varying degrees of logging. For example, if you want to attach debug level logs, please add the following code -
For example:
using Helpshift; ... HelpshiftLog.d("debug-tag", "debug-message");
Debug logs are collected within the set debug logs limit. The limit is set under the SDK Configurations section for App Settings in the Helpshift’s Agent Dashboard. Debug logs are collected in a FIFO queue.