Migration
Migrate from 6.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.
- Update
- Plugins API:
- Plugin.h
- deprecated:
void update(const std::list<RecognizedTarget>& recognizedTargets_)
. Usevoid update(const RecognizedTargetsBucket& recognizedTargetsBucket_)
instead.
- deprecated:
- RecognizedTarget.h
- deprecated class
RecognizedTarget
. UseImageTarget
instead.
- deprecated class
- Plugin.h
Migrate from 6.0 to 6.1
ArchitectView
:- deprecated:
- added:
registerPlugin(Plugin plugin, PluginManager.PluginErrorCallback pluginCallback)
registerNativePlugins(String libraryName, PluginManager.PluginErrorCallback pluginCallback)
registerNativePlugins(String libraryName, String pluginName, PluginManager.PluginErrorCallback pluginCallback)
addArchitectJavaScriptInterfaceListener
PluginManager
- added:
- JS API:
- deprecated js->platform communication with document.location("architectsdk://")
- added new api
AR.platform.sendJSONObject
for js->platform communication. The object passed with sendJSONObject can be received withArchitectJavaScriptInterfaceListener.onJSONObjectReceived
Migrate from 5.3 to 6.0
- Java API:
- Plugins:
Plugin.java
got moved fromcom.wikitude.architect.plugins
tocom.wikitude.common.plugins
- ArchitectView as parameter of Plugin removed
- JniRegistration function name has to be changed to Java_com_wikitude_common_plugins_internal_PluginManagerInternal_createNativePlugins
- Input Plugin:
- deprecated:
notifyRawCameraFieldOfViewChanged
no longer usednotifyDynamicCameraFieldOfViewChanged
usegetCameraFrameSettings->setFrameFieldOfView
insteadgetInputFrameColorSpace
usegetCameraFrameSettings->setInputFrameColorSpace
insteadgetInputFrameSize
usegetCameraFrameSettings->setInputFrameSize
instead
- deprecated:
- StartupConfiguration:
- removed use
ArchitectStartupConfiguration
instead - moved
StartupConfiguration.CameraPosition
toCameraSettings.CameraPosition
- removed use
- new class
ArchitectStartupConfiguration
:- parameters are set by setters instead of as constructor parameters like in the StartupConfiguration
- ArchitectView:
- moved
ArchitectView.CameraFocusMode
toCameraSettings.CameraFocusMode
- deprecated:
- member
getSdkVersion
use staticgetSDKVersion
instead
- member
- moved
- Plugins:
- JS API:
- The JS API is fully backwards compatible with SDK 5
- Positioning:
- AR.Drawable these changes affect all Drawables (e.g. AR.ImageDrawable, AR.Model):
- removed:
roll
userotate.z
orrotate.global.z
insteadtilt
userotate.x
orrotate.global.x
insteadheading
userotate.y
orrotate.global.y
instead
- deprecated:
rotate.tilt
userotate.x
orrotate.global.x
insteadrotate.heading
use rotate.y orrotate.global.y
insteadrotate.roll
userotate.z
orrotate.global.z
instead
- removed:
- AR.Drawable2D:
- removed:
scaling
usescale.x
andscale.y
instead
- deprecated:
offsetX
usetranslate.x
ortranslate.global.x
insteadoffsetY
usetranslate.y
ortranslate.global.y
instead
- removed:
- AR.Drawable these changes affect all Drawables (e.g. AR.ImageDrawable, AR.Model):
- Trackers:
- removed:
AR.Tracker
AR.Trackable2DObject
:- getDistance
- height
- width
- deprecated:
AR.ClientTracker
useAR.TargetCollectionResource
with anAR.ImageTracker
insteadAR.CloudTracker
useAR.CloudRecognitionService
with anAR.ImageTracker
insteadAR.Trackable2DObject
useAR.ImageTrackable
insteadAR.Trackable2DObject
:onEnterFieldOfVision
useonImageRecognized
insteadonExitFieldOfVision
useonImageLost
instead
- removed:
- AR.ActionRange:
- removed:
- geoLocation
- positionX
- positionY
- width
- removed:
Migrate from 5.2 to 5.3
- ArchitectView
- New method
isDeviceSupported(Context, StartupConfiguration.Features)
) which returns aMissingDeviceFeatures
object containing if device features are missing and a message describing which device features are missing.
- New method
Migrate from 4.1 to 5.0
- Projects now require Android 4.0+
Migrate from 4.0 to 4.1
ArchitectView
ArchitectView.ArchitectConfig
has been replaced by the new classStartupConfiguration
ArchitectView.ARMode
has been replaced by the new interfaceStartupConfiguration.Features
- the method
getSupportedARModeForDevice()
has been renamed togetSupportedFeaturesForDevice()
) - the method
getVersionNumber()
has been renamed togetSdkVersion()
)
The Wikitude SDK 4.1 introduces a new file format for target collections (wtc). In order to unleash the full power of the new Wikitude SDK 4.1 read this section and re-generate your targets. The old format is deprecated and will be removed in future versions.
Migrate from 3.3 to 4.0
- Make sure to set the required permissions for your application when using the new
AR.context.hardware.flashlight
API. - Starting with Wikitude SDK 4.0 a valid license key is mandatory for starting the SDK. An empty license key will block the SDK. A free trial key can be generated on the license page (free account required).
- The Wikitude SDK 4.0 introduces a new file format for target collections (wtc). In order to unleash the full power of the new Wikitude SDK 4.0 read this section and re-generate your targets.
In Version 4.0 of our SDK, we changed the initialization procedure, and we open the camera immediately when the ArchitectView is initialized, to improve the overall performance. You should not call
Camera.open()
afterArchitectView.onCreate()
, if you need any information about the camera, you can open (and then close) it before initializing the ArchitectView.Any other operation on the camera when the ArchitectView is active is actually "undefined behaviour" and was not supposed to work even in previous SDK versions.
Migrate from 3.2 to 3.3
The SDK is compatible with Android 4.4, so we recommend to update ADT to the latest version and set the target SDK version to '19' in your Android Manifest XML file.
Migrate from 3.1 to 3.2
ArchitectUrlListener
and SensorAccuracyChangeListener
are now inner interfaces of the ArchitectView
class. Update your imports in your Android code accordingly to get rid of compile time errors (ArchitectUrlListener
becomes ArchitectView.ArchitectUrlListener
).
Migrate from 3.0 to 3.1
Image Recognition and Tracking
The image recognition engine of Wikitude SDK 3.1 has been updated resulting in shorter time interval to successfully recognize a target image. As a consequence the format of the digital footprint of target image has changed. The format is backward compatible. Developers still can use target collections (.wtc) generated with Wikitude SDK 3.0 (prior to 27th August 2013) together with the SDK 3.1 and vice versa.
However we recommend to generate your target collections again in the Target Manager Tool and update the files when you are using Wikitude SDK 3.1
HTML Drawables
Developers using HTML Drawables in projects prior to Wikitude SDK 3.1 and like to upgrade to 3.1 need to define the viewportHeight
similar to the already defined viewportWidth
. In addition HTML Drawables do not have to be created as static or dynamic anymore. All are created as dynamic ones.
Migrate from 2.0 to 3.0
Wikitude SDK version 3.0 introduces Wikitude's own image recognition and tracking solution and removes support for the Vuforia Plugin.
If you are not using image recognition features in your app you only need to update the jar file and are good to go.
In case you are making use of image recognition features and want to switch from 2.0 to 3.x version remove any Qualcomm/Vuforia related assets (QCAR.so, QCAR.lib) from your project.
Also the READ_PHONE_STATE
permission is no longer required in your AndroidManifest.xml.
Find a step-by-step guide about how to convert your existing target collection from Vuforia to Wikitude here.
Upgrading targets for SDK 6.0 (and later)
The Wikitude SDK 6.0 introduces an updated format for the target collection. The new format improves the recognition phase significantly. The updated format is not backward compatible with Wikitude 5.x (and prior) and can not be used in projects using Wikitude SDK 5.x or prior.
However you can use wtc-4.1 formats with the Wikitude SDK 6.0, although we strongly recommend to updated to the newest (wtc-5.0) version.
To use the new format you need to re-create your target collection in the target manager and download the .wtc
file under the Download 6.0
link. Put this .wtc
file in your app and replace the previous one.
Wikitude SDK 3.x | Wikitude SDK 4.0 | Wikitude SDK 4.1 | Wikitude SDK 5.0 | Wikitude SDK 5.1-5.3 | Wikitude SDK 6.0 | |
---|---|---|---|---|---|---|
wtc 3.x | supported | supported | supported | not supported | not supported | not supported |
wtc 4.0 | not supported | supported | supported | not supported | not supported | not supported |
wtc 4.1 | not supported | not supported | supported | supported | supported | supported |
wtc 5.0 | not supported | not supported | not supported | not supported | not supported | supported |
Upgrading targets for SDK 4.1
The Wikitude SDK 4.1 introduces an updated format for the target collection. The new format improves the recognition phase considerably. The updated format is not backward compatible with Wikitude SDK 3.x, 4.0 and can not be used in projects using Wikitude SDK 3.x or Wikitude SDK 4.0.
However you can use wtc-3.x and wtc-4.0 formats with the Wikitude SDK 4.1, although we strongly recommend to updated to the newest (wtc-4.1) version.
To use the new format you need to re-create your target collection in the target manager and download the .wtc
file under the Download 4.1
link. Put this .wtc
file in your app and replace the previous one.
Migrating targets from SDK 1.x
If you have been using a dataset from the Qualcomm Vuforia target management, please follow these steps to convert your ARchitect World to the new approach:
- Create a new project with the Wikitude target management tool and upload your targets (see instructions above)
- Create a target collection and store it in the same location as the previously used dataset
- In your ARchitect World, update the
AR.ClientTracker
initialization to point to the URL of your new target collection