5.3.0 Final Available Now
Enable Developers to Include Custom Header and Footer
In order to create a seamless experience from host application to the Slyce SDK, we are enabling the ability to keep a consistent header bar and bottom bar over the live Slyce Camera. The goal is to allow you to keep your navigation elements consistent throughout your application.
User is Able to Review Help Information
To ensure our users understand how to utilize the visual search camera, we added an optional help button in the top right corner that displays a coaching tip which you can customize. The help button is enabled by default but can be hidden using the theme settings. The white icon and black background can be customized to match your companies iconography and colors.
How To Hide the Help Button
slyce.getTheme().setAppearanceStyle("appearance_headerStyle_right", SlyceHeaderStyleRight.HIDDEN);
Customize the Help Button
slyce.getTheme().setResourceId("ic_help", R.drawable.my_help_icon);
Universal Lens Continious Scanner Mode Toggle
While we encourage our development teams to utilize tap to search to initiate a search, we recognize that this creates a possible confusing situation for end users. This effort will enable developers to toggle the scanning mode from tap to search to continuous scan. In continuous mode, if a barcode or exact image match is detected in the universal lens the search will kick off immediately.
Code to Enable Continous Scan Mode
To enable continuous scanning mode in the Universal Lens, pass in the value LensLocalDetectionMode.CONTINUOUS
for the key SlyceOptions.UNIVERSAL_LENS_LOCAL_DETECTION_MODE
in the options map.
HashMap<String, Object> options = new HashMap<>(); options.put(SlyceOptions.UNIVERSAL_LENS_LOCAL_DETECTION_MODE, LensLocalDetectionMode.CONTINUOUS); // Launches SlyceActivity with universal lens (continuous local detection enabled) new SlyceUI.ActivityLauncher(slyce, SlyceActivityMode.UNIVERSAL) .options(options) .launch(context); // Alternatively, launches SlyceFragment with universal lens (continuous local detection enabled) new SlyceUI.FragmentLauncher(slyce, SlyceActivityMode.UNIVERSAL, R.id.my_fragment_container_view_group) .options(options) .launch(activity)
Enable Third Party Analytics to Record Total Searches
While Slyce captures a various metrics within our upcoming analytics solution, we recognize the need to be able to capture some high-level metrics in your in house analytics solution. To enable this we modified an existing function to support tracking the number of 1D, 2D, and 3D searches. Developers can listen to the session for search started events. When an event fires you can report that event to your analytics system.
Code to Track a Search
First, implement SlyceCustomActivity
or SlyceCustomFragment
. The following example shows how to implement using SlyceCustomFragment
. However, a similar approach can be used by replacing SlyceCustomFragment
with SlyceCustomActivity
and using the SlyceUI.ActivityLauncher
instead of the SlyceUI.FragmentLauncher
.
public class MySlyceCustomFragment extends SlyceCustomFragment { // setup a `sessionListener` private final SlyceSessionListener sessionListener = new SlyceSessionListenerAdapter() { @Override public void onSessionWillStartSearchTask(SlyceSession session, SlyceSearchTask searchTask) { SlyceLegacySearchType searchType = searchTask.getRequest().getLegacySearchType(); // `searchType` will be "1D", "2D", "3D" // or `null` if the type could not be determined // report that a Slyce search started to your analytics system here... } @Override public void onSessionDidFinishSearchTask(SlyceSession session, SlyceSearchTask searchTask) { // report that a Slyce search finished to your analytics system here... } }; @Override public void didOpenSession(SlyceSession session) { // this callback ensures that the session is non-null and open. // add your `sessionListener` here... session.addListener(sessionListener); } }
Second, launch your implementation of SlyceCustomActivity
or SlyceCustomFragment
.
new SlyceUI.FragmentLauncher(slyce, SlyceActivityMode.PICKER, R.id.my_fragment_container_view_group)
.customClassName(MySlyceCustomFragment.class.getName())
.launch(activity);
Analytics
The 5.3.0 release of the native SDK includes hooks for our new analytics system. In order to utilize our the new reports your application will need to be on 5.3.0 or later. In Full UI mode we track a variety of events that help determine conversion and usage.
Additional Changes
- Custom Fonts - You can now utilize custom fonts to ensure the SDK UI matches your application look and feel.
- We updated our example projects to ensure they compile. This will enable you to make small changes and see how it impacts a rendered example app.
- We added a quick fade on the header when dismissing. It's subtle but makes opening and closing a layer feel more seamless.
- We resolved an issue which was preventing some web pages to render javascript when displayed inside a layer in the SDK.
- Tapping the text on the lens picker will now open that lens.
- Removed methods depricated in 5.1.0.
RC-2 Updates
- Resolved issue which prevented users from removing searches in search history after the device had gone to sleep.
- Add the ability to listen for when the session has been opened.
- Minor revision to how you would listen to call analytics events by waiting for a search started event.
Final Updates
- Resolved an issue that caused coaching tip images to not expand to fill the full space.
Labs
Last month we introduced a Batch Capture mode, our first Labs feature. In the 5.3.0 release we updated some of the UI to create a more seemless experience for users. This months release includes the following enhancements.
- We added sticky headers on the refinement page so it's easier to know which search you are selecting a product for.
- When a search is processing or errors out, that will be reflected on the refinment layer.
- We included a way to handle results and add them to a list in your application.
- When a user adds an item to the queue, it will remain until manually deleted or the user adds the full queue to a list in your application.
If you have any feedback on Batch Capture please email us at feedback@slyce.it.
Important Links: