Upgrading from 4.x to 5.x
Upgrading from 4.x to 5.x
The Helpshift SDK for Unity v5.0.0 is a major version upgrade. With v5.0.0 release, the SDK files structure has been refactored in order to enable easier integration of SDK with Unity's gradle build. If you have questions or feedback, please Contact Us
When upgrading to 5.x, remove all the old files and replace/add new files. If you have made changes the string resources
or modified the SDK theme
, please make sure to port over those changes to the new version.
If you are looking to upgrade from a version older than 4.x, please make sure to go through the Upgrade guides for 3.x, 2.8.x, 2.7.0
Removing the existing SDK files
When upgrading the SDK, delete the following folders and files prior to importing the latest SDK package.
Scenario 1: You are using Unity's internal build to build project with Helpshift SDK
- Delete all the Helpshift plugin files:
- project_path/Assets/Plugins/Android/helpshift/*
- project_path/Assets/Plugins/Android/assets/helpshift/*
- project_path/Assets/Plugins/Android/assets/hs__data
- project_path/Assets/Plugins/Android/gcm.jar
- project_path/Assets/Helpshift/*
- project_path/Assets/Helpshift/Editor/*
- project_path/Assets/Helpshift/Example/*
- project_path/Assets/Helpshift/Plugins/*
- project_path/Assets/Helpshift/Resources/*
- Delete all the Android support library directories from project_path/Assets/Plugins/Android location that are packaged with Helpshift plugin. Ex. for support lib 26.0.2, delete all the following directories:
- project_path/Assets/Plugins/Android/appcompat-v7-26.0.2
- project_path/Assets/Plugins/Android/cardview-v7-26.0.2
- project_path/Assets/Plugins/Android/design-26.0.2
- project_path/Assets/Plugins/Android/recyclerview-v7-26.0.2
- project_path/Assets/Plugins/Android/support-annotations-26.0.2
- project_path/Assets/Plugins/Android/support-compat-26.0.2
- project_path/Assets/Plugins/Android/appcompat-v7-26.0.2
- project_path/Assets/Plugins/Android/support-core-ui-26.0.2
- project_path/Assets/Plugins/Android/support-core-utils-26.0.2
- project_path/Assets/Plugins/Android/support-fragment-26.0.2
- project_path/Assets/Plugins/Android/support-transition-26.0.2
- project_path/Assets/Plugins/Android/support-v4-26.0.2
- project_path/Assets/Plugins/Android/support-vector-drawable-26.0.2
- Delete all the .meta files associated with all the deleted files/directories in step-1 and step-2
If you moved Helpshift SDK files to any other directory, then navigate to that directory and delete all the Helpshift SDK files.
Scenario 2: You are using Unity's in-built gradle build system to build project with Helpshift SDK
- Delete all the Helpshift plugin files:
- project_path/Assets/Plugins/Android/Helpshift.aar
- project_path/Assets/Plugins/Android/assets/helpshift/*
- project_path/Assets/Plugins/Android/assets/hs__data
- project_path/Assets/Plugins/Android/gcm.jar
- project_path/Assets/Helpshift/*
- project_path/Assets/Helpshift/Editor/*
- project_path/Assets/Helpshift/Example/*
- project_path/Assets/Helpshift/Plugins/*
- project_path/Assets/Helpshift/Resources/*
- Delete all the Android support library aar files from project_path/Assets/Plugins/Android location. Ex. for support lib 26.0.1, delete all the following aar files:
- project_path/Assets/Plugins/Android/appcompat-v7-26.0.1.aar
- project_path/Assets/Plugins/Android/cardview-v7-26.0.1.aar
- project_path/Assets/Plugins/Android/design-26.0.1.aar
- project_path/Assets/Plugins/Android/recyclerview-v7-26.0.1.aar
- project_path/Assets/Plugins/Android/support-compat-26.0.1.aar
- project_path/Assets/Plugins/Android/support-core-ui-26.0.1.aar
- project_path/Assets/Plugins/Android/support-core-utils-26.0.1.aar
- project_path/Assets/Plugins/Android/support-fragment-26.0.1.aar
- project_path/Assets/Plugins/Android/support-media-compat-26.0.1.aar
- project_path/Assets/Plugins/Android/support-v4-26.0.1.aar
- project_path/Assets/Plugins/Android/support-vector-drawable-26.0.1.aar
- Delete
helpshift_bkp
folder, at<project_path>/helpshift_bkp
location, which is generated by PluginToAAR script. - Delete all the .meta files associated with all the deleted files/directories in step-1 to step-3
If you moved Helpshift SDK files to any other directory, then navigate to that directory and delete all the Helpshift SDK files.
Upgrade to 5.x SDK
In order to use Helpshift Unity SDK v5.0.0+ for your app, Helpshift recommends you to follow the below steps. If you have questions or feedback, please Contact Us
Integration
Remove all the old SDK files and import the Standard SDK .unitypackage in your app. Refer here: Integration Guide
Code-related changes
If your code-base has references to Campaigns code, then the compilation will fail after the upgrade. You will need to remove all the references to Campaigns code from the code-base.
Remove using Helpshift.Campaigns class import and fix the build issues.
Moving the SDK configuration from GUI Editor to C# code.
With Unity SDK 5.0.0, we have removed the GUI Configuration Editor for the Helpshift SDK. You can pass all the Helpshift SDK configurations from your C# code. Please find below the C# example codes for all the configuration which were present in the GUI Editor earlier.
Migration from in-built GCM push support to FCM push notifcation
As of April 10, 2018, Google has deprecated GCM. The GCM server and client APIs are deprecated and will be removed as soon as May 29, 2019. Please migrate GCM apps to Firebase Cloud Messaging (FCM), which inherits the reliable and scalable GCM infrastructure, plus many new features. Keeping the above in mind, with Helpshift Unity SDK v5.0.0, we have removed in-built GCM support for push notifications.
To use FCM push notification, please follow the FCM push integration guide: FCM push support
Customize themes and colors
With Helpshift Unity SDK v5.0.0, we have improved Unity Android SDK packaging structure change from folder plugin to "aar". To customize theme and colors, please follow the steps mentioned in the following guide: Theme customization guide
Customize language translations for SDK strings
With Helpshift Unity SDK v5.0.0, we have improved Unity Android SDK packaging structure change from folder plugin to "aar". To customize language translations, please follow the steps mentioned in the following guide: String resource customization guide
List of removed APIs
Removed APIs | New API |
---|---|
HelpshiftSdk.registerForPush(string yourGcmSenderId) | Removed in-build GCM support, please manually integrate push with FCM. Reference: https://developers.helpshift.com/unity/notifications-android/ |
HelpshiftSdk.isConversationActive() | HelpshiftSdk.checkIfConversationActive() Reference: https://developers.helpshift.com/unity/tracking-android#isConversationActive |
HelpshiftSdk.getNotificationCount() | HelpshiftSdk.requestUnreadMessagesCount() Reference: https://developers.helpshift.com/unity/campaigns-android#request-unread-messages-count |
Helpshift Delegate API "didReceiveNotificationCount" | Helpshift delegate API "didReceiveUnreadMessagesCount" Reference: https://developers.helpshift.com/unity/delegates-android#newmessage-recieved |
HelpshiftSdk.install() | HelpshiftSdk.install(apiKey, domainName, appId, configDictionary) Reference: https://developers.helpshift.com/unity/getting-started-android#initializing |
HelpshiftSdk.install(apiKey, domainName, appId) | HelpshiftSdk.install(apiKey, domainName, appId, configDictionary) Reference: https://developers.helpshift.com/unity/getting-started-android#initializing |
HelpshiftSdk.showConversation() | HelpshiftSdk.showConversation(configDictionary) Reference: https://developers.helpshift.com/unity/support-tools-android#conversation-view |
HelpshiftSdk.showConversationWithMeta(configDictionary) | HelpshiftSdk.showConversation(configDictionary) Reference: https://developers.helpshift.com/unity/support-tools-android#conversation-view Meta-data configuration reference: https://developers.helpshift.com/unity/tracking-android#metadata |
HelpshiftSdk.showFAQSection(sectionPublishId) | HelpshiftSdk.showFAQSection(sectionPublishId, configDictionary); Reference: https://developers.helpshift.com/unity/support-tools-android#faq-section-view |
HelpshiftSdk.showFAQSectionWithMeta(sectionPublishId, configDictionary) | HelpshiftSdk.showFAQSection(sectionPublishId, configDictionary); Reference: https://developers.helpshift.com/unity/support-tools-android#faq-section-view Meta-data configuration reference: https://developers.helpshift.com/unity/tracking-android#metadata |
HelpshiftSdk.showSingleFAQ(questionPublishId) | HelpshiftSdk.showSingleFAQ(questionPublishId, configDictionary) Reference: https://developers.helpshift.com/unity/support-tools-android#faq-question-view |
HelpshiftSdk.showSingleFAQWithMeta(questionPublishId, configDictionary) | HelpshiftSdk.showSingleFAQ(questionPublishId, configDictionary) Reference: https://developers.helpshift.com/unity/support-tools-android#faq-question-view Meta-data configuration reference: https://developers.helpshift.com/unity/tracking-android#metadata |
HelpshiftSdk.showFAQs() | HelpshiftSdk.showFAQs(configDictionary); Reference: https://developers.helpshift.com/unity/support-tools-android#faqs-view |
HelpshiftSdk.showFAQsWithMeta(configDictionary) | HelpshiftSdk.showFAQs(configDictionary); Reference: https://developers.helpshift.com/unity/support-tools-android#faqs-view Meta-data configuration reference: https://developers.helpshift.com/unity/tracking-android#metadata |
HelpshiftSdk.handlePushNotification(issueid) | HelpshiftSdk.handlePushNotification(pushNotificationDictionary) Reference: https://developers.helpshift.com/unity/notifications-android##manual-push-support |