Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
@wonder-partners/ar-button
Advanced tools
A web component to easily display 3D models in native AR across browsers and mobile devices
A web-component to display a 3D model in augmented reality using the native Quick Look on iOS and Scene Viewer on Android. Heavily inspired by model-viewer and @leoncvlt/ar-button.
<!-- Import the component -->
<script src="https://unpkg.com/@wonder-partners/ar-button@1.0.0/main.min.js" type="module"></script>
<!-- Default stylesheet (optional) -->
<link rel="stylesheet" href="https://unpkg.com/@wonder-partners/ar-button@1.0.0/styles.css" />
<!-- Use it like any other HTML element -->
<ar-button src="https://your.model.glb" ios-src="https://your.model.usdz">
View in your space
</ar-button>
src
The URL to the 3D model for Android platform. Only glTF/GLB models are supported.
title
A name for the model. If present, it will be displayed in the UI. The name will be truncated with ellipses after 60 characters.
fallback-url
When the Google app is not present on the device, or the device is not compatible with AR Core this is the URL that the browser will navigate to.
occlusion
If present, turns object blending feature on. If omitted, set object blending feature to off.
link
A URL for an external webpage. If present, a button will be surfaced in the UI that intents to this URL when clicked.
ios-src
The URL to the 3D model for iOS platform. Only USDZ models are supported.
checkout-title
A name for the model. If present, it will be displayed in the UI. Only works if supplied alongside checkout-subtitle, price, and call-to-action attributes.
checkout-subtitle
If present, it will be displayed in the UI. Only works if supplied alongside checkout-subtitle, price, and call-to-action.
price
If present, it will be displayed in the UI. Only works if supplied alongside checkout-subtitle, price, and call-to-action. AR Quick Look displays the subtitle and price separated by a comma below the title. Price should include the currency symbol.
call-to-action
If present, display this text as a button the quick look default UI. Only works when supplied alongside checkout-title, checkout-subtitle and price. You should also supply an URL to link (see above).
ios-link
A URL for an external webpage. If left empty, the button will navigate to the previous page.
canonical-web-page-url
If present, this URL will be used inside the native Share button of AR QuickLook.
allows-content-scaling
If set to 0, disables the pinch scaling feature. If omitted, default to 1 (pinch scaling feature enabled).
You can initialize any ar-button
programmatically with JavaScript.
deferred
attribute to your ar-button
component:<ar-button id="my-ar-button" deferred>View in your space</ar-button>
init()
function:import { init } from 'https://unpkg.com/@wonder-partners/ar-button@1.0.0/main.min.js';
const arButton = document.getElementById('my-ar-button');
init({
element: arButton,
iosConf: {
src: 'https://github.com/leoncvlt/ar-button/raw/master/assets/Astronaut.usdz',
checkoutTitle: 'My Product',
checkoutSubtitle: 'This is my product description',
callToAction: 'Buy',
canonicalWebPageURL: 'https://google.com',
allowsContentScaling: false,
price: '$100',
link: 'https://google.com',
},
androidConf: {
src: 'https://github.com/leoncvlt/ar-button/raw/master/assets/Astronaut.glb',
title: 'My Product',
link: 'https://google.com',
fallbackURL: 'https://google.com',
occlusion: false,
},
});
When initializing an ar-button
programmatically, you need to pass a configuration object to the init()
function:
{
element: Element,
iosConf?: {
src: string,
checkoutTitle?: string | undefined,
checkoutSubtitle?: string | undefined,
callToAction?: string | undefined,
canonicalWebPageURL?: string | undefined,
allowsContentScaling?: boolean | undefined,
price?: string | undefined,
link?: string | undefined,
} | undefined,
androidConf?: {
src: string,
title?: string | undefined,
link?: string | undefined,
fallbackURL?: string | undefined,
occlusion?: boolean | undefined,
} | undefined,
}
Q: Why can't I see my custom action in AR Quick Look?
R: Make sure that at least the checkout-title
, checkout-subtitle
(can be an non-breaking space) and call-to-action
attributes are correctly filled.
Q: Why can't I open AR on iOS within Chrome based browsers?
R: There is a false negative when checking AR Quicklook compatibility on chrome based browsers. For now, we just bypass the check entirely on those browsers to ensure compatibility. See the official bug report here: https://bugs.webkit.org/show_bug.cgi?id=239135
[1.0.3] 2023-03-23
allows-content-scaling
attribute on iOS unexpected behavior.FAQs
A web component to easily display 3D models in native AR across browsers and mobile devices
The npm package @wonder-partners/ar-button receives a total of 134 weekly downloads. As such, @wonder-partners/ar-button popularity was classified as not popular.
We found that @wonder-partners/ar-button demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.