Documentation

Migrate

Migration notes for the Wikitude SDK Native API (Android)

Migrate to 9.13

  • The Android Gradle Plugin version was raised to 7.2.0
    • Update classpath to com.android.tools.build:gradle:7.2.0 in build.gradle of your app's project.
    • Update distributionUrl to https\://services.gradle.org/distributions/gradle-7.3.3-all.zip in gradle/wrapper/gradle-wrapper.properties of your project.

Migrate to 9.10

  • The Android Gradle Plugin version was raised to 4.2.2
    • Update classpath to com.android.tools.build:gradle:4.2.2 in build.gradle of your app's project.
    • Update distributionUrl to https\://services.gradle.org/distributions/gradle-6.7.1-all.zip in gradle/wrapper/gradle-wrapper.properties of your project.

Migrate to 9.9

  • Minimum Android SDK Version was raised to Android 6.0 (API level 23)
    • Update minSdkVersion to 23 in build.gradle or the manifest of your app.

Migrate to 9.3

  • Minimum Android SDK Version was raised to Android 5.1 (API level 22)
    • Update minSdkVersion to 22 in build.gradle or the manifest of your app.

Migrate from 8.9.1 to 8.10

  • Minimum Android SDK Version was raised to Android 5.0 (API level 21)
    • Update minSdkVersion to 21 in build.gradle or the manifest of your app.

Migrate from 8.3.2 to 8.4

  • WikitudeSDK contains one new method to check if the current device supports the required features
    • added:
      • isDeviceSupporting(Context, EnumSet<Feature>)

Migrate from 8.0 to 8.1

  • InstantTrackerListener contains three new methods for plane detection which need to be implemented
    • onPlaneRecognized
    • onPlaneTracked
    • onPlaneLost

Migrate from 7.2 to 8.0

  • WikitudeSDK:
    • getCameraManager, getTrackerManager, getPluginManager are no longer valid before onCreate
  • CameraManagerListener:
    • removed:
      • onError(int, String)
      • onCameraOpenFailure
    • added:
      • onError(WikitudeError)
  • CloudRecognitionServiceResponse:
    • deprecated:
      • getTargetInformations use * getTargetInformationsObject instead
      • getMetadata
  • CloudRecognitionServiceInitializationCallback:
    • removed:
      • onError(int, String)
    • added:
      • onError(WikitudeError)
  • CloudRecognitionServiceListener:
    • CloudRecognitionServiceResponse is no longer valid outside of the scope of onResponse
    • removed:
      • onError(int, String)
    • added:
      • onError(WikitudeError)
  • TargetCollectionResourceLoadingCallback:
    • removed:
      • onError(int, String)
    • added:
      • onError(WikitudeError)
  • ImageTrackerListener:
    • removed:
      • onError(int, String)
      • onErrorLoadingTargets(int, String)
    • added:
      • onErrorLoadingTargets(WikitudeError)
  • ObjectTrackerListener:
    • removed:
      • onErrorLoadingTargets(int, String)
    • added:
      • onErrorLoadingTargets(WikitudeError)
  • TrackerManager:
    • removed:
      • create2dClientTracker(String)
      • create2dClientTracker(String, String[])
      • create2dCloudTracker(String, String)
      • create2dCloudTracker(String, String, String[])
      • create3dClientTracker
      • createCloudRecognitionService(String, String, CloudRecognitionServiceInitializationCallback)
      • setCloudRecognitionServerRegion
      • isPlatformAssistedTrackingSupported() use isPlatformAssistedTrackingSupported(IsPlatformAssistedTrackingAvailableCallback) instead
    • deprecated:
      • createTargetCollectionResource(String, TargetCollectionResourceLoadingCallback) use createTargetCollectionResource(String) instead
  • Target:
    • deprecated:
      • getProjectionMatrix use field of view from CameraManager to calculate it instead.
      • getModelViewProjectionMatrix use field of view from CameraManager to calculate the projection and then multiply it with the view matrix it instead.
  • PluginManager:

    • removed:
      • registerPlugin(Plugin)
      • registerPlugin(Plugin, PluginErrorCallback)
      • registerNativePlugins(String)
      • registerNativePlugins(String, String)
    • deprecated:
      • registerNativePlugins(String, PluginErrorCallback) use registerNativePlugins(String, ErrorCallback) instead
      • registerNativePlugins(String, String, PluginErrorCallback) use registerNativePlugins(String, String, ErrorCallback) instead
      • PluginErrorCallback
  • Plugin:

    • removed:
      • addToJavaScriptQueue
      • cameraFrameAvailable(Frame&)
      • endRender()
      • getJavaScriptQueue
      • getPluginType()
      • getRenderingContext()
      • initialize()
      • internalError(const std::string&)
      • requestRendering()
      • setRenderingContext(std::shared_ptr<sdk::RenderingContext>)
      • startRender()
      • surfaceChanged(Size<int>, Size<float>, InterfaceOrientation)
      • update(std::list<RecognizedTarget>&)
      • updatePositionables(std::unordered_map<std::string, sdk_core::PositionableWrapper*>&)
    • added:
      • cameraFrameAvailable(common_code::ManagedCameraFrame&)
      • canPerformTrackingOperationsAlongOtherPlugins()
      • canUpdateMultipleTrackingInterfacesSimultaneously()
      • getCameraFrameInputPluginModule()
      • getDeviceIMUInpputPluginModule()
      • getDirectXRenderingPluginModule()
      • getImageTrackingPluginModule()
      • getInstantTrackingPluginModule()
      • getMetalRenderingPluginModule()
      • getObjectTrackingPluginModule()
      • getOpenGLESRenderingPluginModule()
      • initialize(const std::string&, PluginParameterCollection&)
      • iterateEnabledPluginModules(std::function<void(PluginModule& activePluginModule_)>)
      • setCameraFrameInputPluginModule(std::unique_ptr<CameraFrameInputPluginModule>)
      • setDeviceIMUInputPluginModule(std::unique_ptr<DeviceIMUInputPluginModule>)
      • setDirectXRenderingPluginModule(std::unique_ptr<DirectXRenderingPluginModule>)
      • setImageTrackingPluginModule(std::unique_ptr<ImageTrackingPluginModule>)
      • setInstantTrackingPluginModule(std::unique_ptr<InstantTrackingPluginModule>)
      • setMetalRenderingPluginModule(std::unique_ptr<MetalRenderingPluginModule>)
      • setObjectTrackingPluginModule(std::unique_ptr<ObjectTrackingPluginModule>)
      • setOpenGLESRenderingPluginModule(std::unique_ptr<OpenGLESRenderingPluginModule>)
  • ARCore support:
    • com.google.ar:core:1.1.0+ has to be added as dependency of the app
    • <meta-data android:name="com.google.ar.core" android:value="optional"/> or <meta-data android:name="com.google.ar.core" android:value="required"/> have to be added to the manifest.
    • minimum ARCore version 1.1.

Removed Classes:

* `CameraSize`
* `ClientTracker`
* `ClientTrackerEventListener`
* `CloudTracker`
* `CloudTrackerEventListener`
* `InputPlugin`
* `InstantTrackerScenePickingCallback`
* `com.wikitude.rendering.InternalRendering`
* `Tracker`
* `TrackerEventListener`
* `Frame`
* `FrameSize`
* `Plugin`
* `Point`
* `RecognizedTarget`
* `Rectangle`
* `Size`
* `Tracking `
* `TrackerManager.ServerRegion`

Migrate from 7.1 to 7.2

  • TrackerManager
    • new function isPlatformAssistedTrackingSupported
      • should be used to guard methods that are not available when running with platform assisted tracking
  • InstantTracker
    • new function canStartTracking
  • InstantTrackerListener
    • new function onError
  • InstantTrackerConfiguration
    • when running with platform assisted tracking, some functionality is not available; these functions will raise an error through the error callback when called regardless
      • getTrackingPlaneOrientation
      • setTrackingPlaneOrientation
    • new function setSMARTEnabled
    • new function isSMARTEnabled
  • CameraManager
    • when running with platform assisted tracking, some functionality is not available; these functions will raise an error through the error callback when called regardless
      • getCameraPosition
      • setCameraPosition
      • getFocusMode
      • setFocusMode
      • isManualFocusAvailable
      • getManualFocusDistance
      • setManualFocusDistance
      • autoFocusRangeRestriction
      • getCurrentZoomLevel
      • setZoomLevel
      • getMaxZoomLevel
      • enableCameraFlashLight
      • disableCameraFlashLight
      • isCameraFlashLightEnabled

Migrate from 7.0 to 7.1

no changes required

Migrate from 2.1 to 7.0

  • Minimum Android SDK Version was raised to Android 4.4(19)
    • Update minSdkVersion to 19 in build.gradle or the manifest of your App.
  • Plugins API:
    • Plugin.h
      • deprecated:
        • void update(const std::list<RecognizedTarget>& recognizedTargets_). Use void update(const RecognizedTargetsBucket& recognizedTargetsBucket_) instead.
    • RecognizedTarget.h
      • deprecated class RecognizedTarget. Use ImageTarget instead.

Migrate from 2.0.1 to 2.1

Migrate from 1.4 to 2.0

  • Input Plugin:
    • deprecated:
      • notifyRawCameraFieldOfViewChanged no longer used
      • notifyDynamicCameraFieldOfViewChanged use getCameraFrameSettings->setFrameFieldOfView instead
      • getInputFrameColorSpace use getCameraFrameSettings->setInputFrameColorSpace instead
      • getInputFrameSize use getCameraFrameSettings->setInputFrameSize instead
  • WikitudeStartupConfiguration:
    • removed use NativeStartupConfiguration instead
  • new class NativeStartupConfiguration:
    • parameters are set by setters instead of as constructor parameters like in the WikitudeStartupConfiguration
  • removed Camera parameter from CameraManagerListener.onCameraOpened
  • Trackers:
    • deprecated:
      • ClientTracker and its associated classes use TargetCollectionResource and an ImageTracker instead
      • CloudTracker and its associated classes use CloudRecognitionService and an ImageTracker instead

Migrate from 1.3 to 1.4

  • WikitudeSDK introduces the new method clearCache which can be used to clear all SDK internal caches.

Migrate from 1.0 to 1.1

  • TrackerManager methods for creating a ClientTracker for 2D have changed from createClientTracker to create2dClientTracker
  • TrackerManager methods for creating a CloudTracker for 2D have changed from createCloudTracker to create2dCloudTracker