Skip to main content

Upgrading from 4.x to 5.x

Important
Helpshift’s Legacy SDKs (SDK Version <=7.x.x) reached their end of life on 31 Dec 2022, and end of support on 31 March 2023. Please upgrade to the Latest SDK if you haven't already.

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

Important

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

  1. 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/*
  2. 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
  3. Delete all the .meta files associated with all the deleted files/directories in step-1 and step-2
Note

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

  1. 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/*
  2. 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
  3. Delete helpshift_bkp folder, at <project_path>/helpshift_bkp location, which is generated by PluginToAAR script.
  4. Delete all the .meta files associated with all the deleted files/directories in step-1 to step-3
Note

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

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.

Removed SDK Configuration from GUI EditorReplacement C# Code Example Link
unity_android_install.pngInstall call from C#
unity_android_game_object.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#unity-game-object
unity_android_notification_icon.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#notificationIcon
unity_android_large_notification_icon.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#largeNotificationIcon
unity_android_notification_sound.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#notificationSound
unity_android_custom_fonts.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#usingCustomFonts
unity_android_support_channel_id.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#notificationChannels
unity_android_campaigns_channel_id.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#notificationChannels
unity_ios_enable-in-app-notification.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#enableInAppNotification
unity_ios_enable_fallback_language.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#enableDefaultFallbackLanguage
unity_ios_disable_entry_exit_animation.pngCheck out iOS configuration guide: https://developers.helpshift.com/unity/sdk-configuration-ios#disableEntryExitAnimations
unity_android_default_screen_orientation.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#screenOrientation
unity_ios_enable_logging.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#enableLogging
unity_ios_enable_inbox_polling.pnghttps://developers.helpshift.com/unity/sdk-configuration-ios#enableInboxPolling
unity_enable_contact_us.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#enable-contact-us
unity_goto_conversation_after_contact.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#gotoConversationAfterContactUs
unity_present_full_ipad.pngCheck out iOS configuration guide: https://developers.helpshift.com/unity/sdk-configuration-ios#presentFullScreenOniPad
unity_require_email.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#requireEmail
unity_hide_name_email.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#hideNameAndEmail
unity_prefill_text.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#conversationPrefillText
unity_enable_privacy.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#enableFullPrivacy
unity_show_search_results.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#showSearchOnNewConversation
unity_show_resolution_question.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#showConversationResolutionQuestion
unity_show_conversation_info.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#showConversationInfoScreen
unity_enable_typing_indicator.pnghttps://developers.helpshift.com/unity/sdk-configuration-android#enableTypingIndicator
unity_supported_file_formats.pnghttps://developers.helpshift.com/unity/delegates-android#display-attachment

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 APIsNew 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