Skip to content

February 2018 Release

Compare
Choose a tag to compare
@sfyz sfyz released this 27 Feb 17:55
1ba7679

Service Cloud Snap-Ins for Android Release Notes

NOTE: The certificate for the server used for our original Snap-ins SDK repository just expired. We've changed the location of our repository. Workaround: Replace the salesforcesos.com maven repository in your gradle scripts to

https://s3.amazonaws.com/salesforcesos.com/android/maven/release

This release (212.0.0) applies to the following component versions:

  • Knowledge version 4.0.0
  • Case Management version 4.0.0
  • Live Agent Chat version 3.0.0
  • SOS version 4.0.0
  • Common version 6.0.0

For more info about the SDK, see the Snap-Ins SDK Product Page.

See the version release history to learn about past versions of the SDK.

New Features

  • The Snap-ins SDK no longer requires the Salesforce Mobile SDK as a dependency. This reduces the footprint of the Snap-ins SDK in your app.
  • Updated the authentication behavior so that the Salesforce Mobile SDK is optional when authenticating. See Authentication with the Snap-Ins SDK for Android.
  • Minimum supported API version number is now 21 (Lollipop).
  • Case Management: Updated the push notification behavior so that it no longer requires the Salesforce Mobile SDK. See Push Notifications with the Snap-Ins SDK for Android.
  • Knowledge: Clearing or deleting the cache using KnowledgeCore now clears or deletes the OfflineResourceCache in addition to the database.
  • Live Agent Chat: Added support for agent transfer. See Transfer Chats to an Agent.
  • Live Agent Chat: Added new analytics for file transfers (requested, initiated, completed, failed, cancelled). See Analytics with the Snap-Ins SDK for Android.
  • Live Agent Chat: Added a new Chat UI configuration option for hiding a customer's queue position while waiting for an agent: ChatUIConfiguration.Builder.hideQueuePosition(boolean).
  • SOS: Updated OpenTok to version 2.12.1.

API Changes

  • Added AuthenticatedUser and AuthTokenProvider for authentication. See Authentication with the Snap-Ins SDK for Android.
  • Added PushNotificationListener to handle push notifications from your org. See Push Notifications with the Snap-Ins SDK for Android.
  • Knowledge: Removed KnowledgeClient.cleanup() and KnowledgeClient.addUserLogoutListener().
  • Knowledge: Replaced KnowledgeConfiguration.withUserAccount with KnowledgeConfiguration.withAuthConfig. We now have a different authentication mechanism. See Authentication with the Snap-Ins SDK for Android.
  • Knowledge: Replaced KnowledgeCore.deleteCacheForUser(Context, UserAccount) with KnowledgeCore.deleteCacheForUser(Context, AuthenticatedUser).
  • Knowledge: Replaced KnowledgeCore.clearCacheForUser(Context, UserAccount) with KnowledgeCore.clearCacheForUser(Context, AuthenticatedUser).
  • Knowledge: Made changes to OfflineResourceCache.
    • Added OfflineResourceConfig.builder(), which returns a Builder instance for customizing the cache.
    • Added OfflineResourceConfig.defaults(), which returns an OfflineResourceCache configured with default values.
    • Added OfflineResourceCache.clearCache(Context, AuthenticatedUser) for clearing an existing cache.
    • Added OfflineResourceCache.deleteCache(Context, AuthenticatedUser) for deleting an existing cache.
    • Added OfflineResourceCache.deleteCache(Context) for deleting existing caches for all users.
    • Removed OfflineResourceConfig.withPath(Context, String). Cache files are now created automatically.
    • Removed OfflineResourceConfig.fromContext(Context).
  • Case Management: Changes to case-updated notifications, as the Case SDK no longer handles push notifications directly or displays notifications. See Push Notifications with the Snap-Ins SDK for Android.
    • Added notifyCaseUpdated(String) to CaseUIClient, which accepts a Case ID as a string. This enables an application to handle push notifications with their own implementation using the connected-app module.
    • Removed CaseUIConfiguration.create(CaseConfiguration, int) for specifying notification importance. CaseUI no longer creates Android notifications.
    • Removed enablePush(int)isPushEnabled(), and getNotificationIcon() from CaseConfiguration.
    • Removed CaseClientCallbacks.handleBackgroundNotification(Bundle).
    • Removed CaseClientCallbacks.handleForegroundNotification(Bundle).
  • Case Management: Renamed CreateCaseQuickActionRequest.getResource() to CreateCaseQuickActionRequest.getQuickActionName().
  • Case Management: Replaced CaseConfiguration.Builder.withUserAccount with CaseConfiguration.Builder.withAuthConfig. We now have a different authentication mechanism. See Authentication with the Snap-Ins SDK for Android.
  • Case Management: Removed CaseUIClient.isAuthenticated().
  • SOS: Deprecated SosConfiguration.builder(). Use SosConfiguration.Builder() instead.

Fixes

  • Live Agent Chat: Fixed file transfer for remote images that are not saved on the device.
  • Live Agent Chat: Improved TalkBack support on the minimized view during an active chat session.
  • Live Agent Chat: Fixed an unresponsive "End Session" button when the session ends while the dialog is present on the screen.
  • Live Agent Chat: Fixed a bug that prevented a session from ending promptly by the user if network connection is lost.
  • SOS: Fixed a crash on some Lollipop devices that occurred during a screen orientation change from the onboarding view.
  • Case Management: Fixed an issue where the post button remained enabled after posting a message to the case feed.

Known Issues

  • The certificate for the server used for our Snap-ins SDK repository just expired. We've changed the location of our repository. Workaround: Replace the salesforcesos.com maven repository in your gradle scripts to: https://s3.amazonaws.com/salesforcesos.com/android/maven/release
  • Live Agent Chat: Case creation via pre-chat entity mapping does not work when using Omni-Channel routing. Contact creation still works correctly. Workaround: Use Live Agent routing instead, or avoid creating cases with pre-chat fields. Note that Live Agent routing is currently only available in Salesforce Classic.
  • Case Management: If the "Edit Read Only Fields" permission is turned on in your org, a community user can see (and seemingly edit) read only fields when creating a case. Workaround: Turn off the "Edit Read Only Fields" permission so that read only fields are not shown when creating a case. See this Knowledge article for more information.

Upgrade Tips

Authentication

Authentication has changed since the last version. It now uses AuthenticatedUser and AuthTokenProvider. Also, we replaced KnowledgeConfiguration.withUserAccount with KnowledgeConfiguration.withAuthConfig and CaseConfiguration.Builder.withUserAccount with CaseConfiguration.Builder.withAuthConfig. See Authentication with the Snap-Ins SDK for Android.

Push Notifications

We now use PushNotificationListener to handle push notifications from your org. See Push Notifications with the Snap-Ins SDK for Android.

ProGuard

If assembling with ProGuard, you may encounter warnings about missing referenced classes javax.annotation.Nullable and javax.annotation.ParametersAreNonnullByDefault. Add the following dontwarn rules to your ProGuard configuration:

-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault