Add augmented reality content to your app using the WebXR Device API (Mozilla's version).
This is intended to support the same content as Mozilla's iOS WebXR Viewer.
Install using the Apache Cordova command line:
cordova plugin add cordova-plugin-webxr
To quickly test some interactive AR content, set the default source in the project's config.xml to Mozilla's example site:
<content src="https://webxr-ios.webxrexperiments.com/" />
The source code for the examples can be found in Mozilla's webxr-ios-js repo
The plugin provides a set of a configurable options:
-
WEBXR_AUTHORIZATION: Sets what is shared with a page that uses the WebXR API
denied
: Shares no world sensing data & no videominimal
(default): Shares minimal world sensing data, but no videolite
: Shares one real world plane & enables face-based experiences, but no videoworldSensing
: Shares full world sensing data, but no videovideoCameraAccess
: Shares full world sensing data & video feed
-
GRAPHICS_FRAMEWORK: Specifies which graphics framework to use
-
CAMERA_USAGE_DESCRIPTION: Describes to user why camera access is required
- Default:
This app uses the camera for augmented reality
- Default:
To set these options, specify them when adding the plugin, e.g:
cordova plugin add cordova-plugin-webxr --variable GRAPHICS_FRAMEWORK=metal
Or add them within the plugin's tag in config.xml, e.g:
<plugin name="cordova-plugin-webxr" spec="^1.17.0">
<variable name="WEBXR_AUTHORIZATION" value="lite" />
</plugin>
Mozilla is in the process of aligning their version of the API with the official draft W3C spec. As such, some features are currently broken. This plugin will be updated as the API stabilizes.
-
iOS 12 / ARKit 2: The plugin only works with ARKit-compatible devices & requires an iOS Deployment Target ≥ 12.0. It will automatically set the project's target to 12.0, unless specified otherwise in config.xml.
-
Swift 4: The iOS source code assumes Swift 4.0. It will automatically install
cordova-plugin-add-swift-support
, if it is not already present. -
WKWebView: The plugin requires WKWebView. It will automatically install
cordova-plugin-wkwebview-engine
, if not already in use.
This plugin is based on the source for Mozilla's WebXR Viewer (webxr-ios@f820224)