Topic locked

Cloud Reco Samples - Reco Count

April 3, 2014 - 1:16am #1

The Cloud Recognition samples of the SDK release 2.8.7 (native samples version 2.8.8, Unity samples version 2.8.9) show how to start a Cloud search for target recogniton, using a sample DB.

In particular, the samples make use of the TargetFinde::start() API, by which the sample will enter a search mode where your Cloud Database is scanned for a possible target match. See also these pages for more details on Cloud Reco API usage:

https://developer.vuforia.com/resources/dev-guide/cloud-recognition-feature

https://developer.vuforia.com/resources/dev-guide/cloud-recognition-unity

Note however that the samples in question do not stop the target finder explicitly, once a target has been detected.

As a consequence, the Cloud scanning process of the samples will keep running in the background even after a target has been recognized (and the target has been augmented); in such a context, as you move your device around (with respect to the target), additional recognition events might occur, and the "reco count" charged to the Cloud Database may increase accordingly.

 

While this has no consequences for the samples themselves, as they use a Cloud Account and Database specifically dedicated to the sample., you may want to consider adjusting the TargetfFinder start/stop application logic when building your app and/or when using the Cloud recognition samples with your own Cloud Database (i.e.e usinbg your own client access and secret keys), so that the reco count will only be increased when strictly required.

In particular, it is recommended to stop the TargetFinder as soon as a new TargetSearchResult is reported by the Vuforia API callbacks.

In the native sample code (see "VuforiaSamples-2-8-8", in the sub-package "com.qualcomm.vuforia.samples.VuforiaSamples.app.CloudRecognition", file CloudReco.java), you can stop the Cloud scan by adding a TargetFinder.stop() call in the onQCARUpdate(State state) method, as shown in this snippet:

if (result.getTrackingRating() > 0)
{
    Trackable trackable = finder.enableTracking(result);
                    
     finder.stop(); // ADD THIS LINE TO STOP CLOUD SCAN
                   
     if (mExtendedTracking)
         trackable.startExtendedTracking();
 }

Similarly, in the iOS VuforiaSamples-2-8-8, you can add a line of code finder::stop().

In Unity, the TargetFinder can either be stopped explicitly, using TargetFinder.Stop() API, or indirectly by disabling the CloudRecognition prefab object, in the OnNewSearchResult() callback, as shown in this C# snippet:

 

Topic locked