Releases: Slyce-Inc/Slyce-Android-SDK
5.3.0
5.3.0-rc2
5.3.0-rc1
5.2.2
New Features
- We now provide access to raw image frames as an output of the Slyce scanner.
Usability Enhancements
- We updated the layer header bar to extend the full width of the layer. Pixel perfect!
- When a search is procesing, incoming tags will now replace the grey placeholder.
Bug Fixes
- Resolved an issue that was causing a crash when trying to submit smaller sized images in headless mode.
- When a search was processing if you pulled the loading layer all the way up, it would occasionally stay up. This has been resolved so it will bounce back to where it belongs.
- There was an issue in passing some custom dimensions under the hood. In some instances, this resulted in conversions tracking incorrectly.
- We added an id to uniquely track events related to a specific search across local events and events generated by our backend. This addition makes it easier to track on various conversion metrics.
New Labs Features
As new features and functionality get closer to an official release, we add them to our Labs section of the SDK. We would love to get any initial feedback on new features before they are ready for you to take to production.
- Our first labs feature is a toggle to enable Batch Capture Mode. This mode introduces new UI you can utilize in either Universal or Picker mode. In batch capture mode when a user performs a search, it is added to a list at the bottom of the page. The user can then review all their searches, refine which product they want, and add those items to a list/registry/cart in your application.
- You can enable the labs feature by setting the SlyceLabsBatchCaptureModeEnabled value to true on the PreferenceManager.
PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean("SlyceLabsBatchCaptureModeEnabled", true).apply();
Please provide any feedback on newer features to [email protected].
5.2.1
New Features
Exit to Search Results page:
Since your users return to your application to finalize a purchase and checkout, the Slyce SDK now provides an additional exit point from our Full UI mode back to your application. In 5.2.0 we introduced the ability to exit when a user navigates to a product detail page. In 5.2.1 we are introducing the ability to exit the Slyce SDK when a search completes. You listen for an event to exit to a search result page and are provided an array-like object with details about the products the Slyce SDK found based on the user-submitted image.
To implement an exit from Slyce Full UI mode, you override the default action and display your view.
public class CustomCameraActivity extends SlyceCustomActivity {
@Override
public boolean shouldDisplayDefaultItemDetailLayerForItem(SlyceItemDescriptor itemDescriptor) {
let item = itemDescriptor.getItem();
// Launch your Activity here after retrieving the desired data from the item descriptors.
return false;
}
@Override
public boolean shouldDisplayDefaultListLayerForItems(List<SlyceItemDescriptor> itemDescriptors) {
// Loop through the itemDescriptor to get the needed data
for (SlyceItemDescriptor itemDescriptor : itemDescriptors) {
// To get raw item json, use 'itemDescriptor.getItem()'
itemDescriptor.getItem()
// Alternatively, to get item ids
itemDescriptor.getId()
}
// Launch your Activity here after retrieving the desired data from the item descriptors.
return false;
}
}
Upgrade Note:
If you were previously utilizing the exit to product detail page, you need to include the override for both methods.
Included Color Theming
You can now set custom colors via the Slyce Theme.
Slyce.getInstance(MainActivity.this).setARGBColor(PROPERTY_VALUE_HERE, VALUE_HERE)
Color properties you can set:
- global_accent_color - Color for any buttons and other elements on a view that are important to highlight.
- global_error_color - Color for rendering any error messages or views.
- global_primaryBackground_color - Background color used for the layer header.
- global_secondaryBackground_color - Background color the content area of the pages.
- global_primaryForeground_color - Color color for any important labels or elements in a view.
- global_secondaryForeground_color - Color for any additional labels or elements in a view.
Bug Fixes:
We discovered the way the timezone was being passed was causing some issues calculating some metrics with our analytics. This has been resolved in the 5.2.1 release, and we highly recommend the upgrade if you are utilizing the Slyce Analytics.
API Changes
Initializing Full UI
To more easily start Full UI mode, we removed the need to pass in a list of lens Ids. The lens Ids are now passed in from the remote configuration that the SDK pulls down on initialization. When utilizing picker mode, this allows you to enable or disable the Image Match, Barcode, or Visual Search lens without having to update your code. The previous way has been deprecated but continues to function in 5.2.1. Please update your code to launch full UI mode utilizing Picker or Universal instead of passing a list of Ids.
Deprecated
// Picker Mode
SlyceUI.startSlyceActivity(MainActivity.this, Slyce.getInstance(MainActivity.this), lensIds);
// Universal Mode
SlyceUI.startSlyceActivity(MainActivity.this, Slyce.getInstance(MainActivity.this), LENS_ID_UNIVERSAL);
New Way
// Picker Mode
SlyceUI.startSlyceActivity(MainActivity.this, Slyce.getInstance(MainActivity.this), SlyceActivityMode.PICKER);
// Universal Mode
SlyceUI.startSlyceActivity(MainActivity.this, Slyce.getInstance(MainActivity.this), SlyceActivityMode.UNIVERSAL);
5.2.0
What's New
Introducing Full UI Mode an Android
We are proud to introduce Full UI mode for Android! In April we released a UI mode for the Slyce SDK on iOS and have received a great feedback. Our development teams kept asking when can we do this on Android, Now you can!
Camera View
Android Full UI mode allows third-party developers to create a full visual search experience with only a few lines of code. Out of the box we provide a camera view which can switch between a visual search, barcode, or image match lens, or if configured a universal lens that combines all available lenses into one tap to search experience.
Search Results
The Full UI mode provides a search results layer which allows a user to quickly review the products returned from the Slyce product recognition engine.
Search History
Users can review previous searches and the products that were returned for each. They can also remove items from their history.
Product Detail Page
Out of the box, when a user requests additional information about a product they will be able to view that information on your website via an in layer web browser. Most clients opt to take advantage of the native product detail pages which they have already built into their app. You can do this by listening for an event to navigate to the product detail page, which includes a payload of product information, and displaying your native product detail page.
5.2.0-rc1
5.1.6
Release Overview
Bug Fixes
- We resolved an issue for phones set to a right-to-left language. The issue caused the bloom to appear in the wrong place; now, it appears in the right place!
- We resolved an issue that prevented a user from performing a search when the app goes into the background. This issue was impacting application which utilizes the SlyceLensView.
5.1.4
Release Overview
New Features
Developer Logging
We introduced a logging system to provide you with additional details when integrating the Slyce SDK into your application. By default, you no logging is enabled, but you can set the debugging level to warn, error, or info.
Improved slyce.open() behavior
If you try to open the Slyce instance more then once in your application the SDK handles this more robustly. If the SDK is already open with the same credentials, it returns immediately. If you try to open Slyce with different credentials, it throws an error. If you call slyce.open() twice both instances return either success or failure.
5.1.3
Release Overview
New Features
- Custom workflow options can now be set on SlyceSearchParameters.
- You can now set "Demo mode" on SlyceSearchParameters. This is useful for development and debugging.
Bugs Squashed
- If a search does not return any products we will inform the user to try again. In headless mode, the SlyceSearchTasks will now return an error when no results are found.
- Passing an invalid lens identifier will now throw a descriptive error.