/// <summary>
 /// Initializes a new instance of the <see cref="PikkartAR.DataProvider"/> class.
 /// </summary>
 /// <param name="cloudRecognitionServiceListener">Cloud recognition service listener.</param>
 /// <param name="localRecognitionService">Local recognition service.</param>
 /// <param name="deviceId">Device identifier.</param>
 public RecognitionDataProvider(CloudRecognitionInfo authInfo,
                                IRecognitionDataProviderListener recognitionDataProviderListener, string deviceId)
 {
     _nativeArray             = Marshal.AllocHGlobal(Constants.CAMERA_REQUESTED_WIDTH * Constants.CAMERA_REQUESTED_HEIGHT * 3);
     _dataProviderListener    = recognitionDataProviderListener;
     _localRecognitionService = new LocalRecognitionService();
     _cloudRecognitionService = new CloudRecognitionService(authInfo, deviceId);
     _cachedMarker            = null;
 }
        protected void SyncLocalMarkers(bool isRecognitionManagerRunning, IRecognitionDataProviderListener recognitionDataProviderListener)
        {
#if UNITY_ANDROID && !UNITY_EDITOR
            AndroidJavaClass  jc           = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject context      = jc.GetStatic <AndroidJavaObject>("currentActivity");
            AndroidJavaObject assetManager = context.Call <AndroidJavaObject>("getAssets");
#endif
            PikkartARCore.CheckUnityLicense(
#if UNITY_ANDROID && !UNITY_EDITOR
                assetManager.GetRawObject()
#elif UNITY_EDITOR_WIN
                new StringBuilder(Application.streamingAssetsPath),
    #if UNITY_5_6_OR_NEWER
                new StringBuilder(PlayerSettings.applicationIdentifier)
    #else
                new StringBuilder(PlayerSettings.bundleIdentifier)
    #endif
#endif
                );

            new RecognitionDataProvider(new CloudRecognitionInfo(databases), recognitionDataProviderListener,
                                        RecognitionManager.GetDeviceId()).SyncLocalMarkers(isRecognitionManagerRunning);
        }