Web Monetization API
The Web Monetization API allows you to lock or unlock content in your XRPackage based on whether a user has Web Monetization enabled or if they are a NFT owner of your XRPackage.
For a step-by-step guide on how to implement this API in your app, checkout Create An XRPackage.
Document.monetization
The browser exposes the document.monetization
DOM object that implements
EventTarget
and has a read-only state
property.
The object allows you to track Monetization events and see whether the user has web monetization enabled or is a NFT owner of your XRPackage.
document.monetization: EventTarget
document.monetization.state: 'stopped' | 'started'
States
Check the value of document.monetization.state
to see if a user is has web monetization enabled or is a NFT owner of your XRPackage.
stopped
The user is not currently an NFT owner of your XRPackage and does not have Web Monetization enabled.
document.monetization.state === 'stopped'
started
The user is an NFT owner of your XRPackage or has Web Monetization enabled and Webaverse is currently sending micropayments.
document.monetization.state === 'started'
Browser events
monetizationstart
Determine when Monetization has started by adding an event
listener for monetizationstart
to document.monetization
.
Event listener
function startEventHandler (event) {
console.log(event)
}
document.monetization.addEventListener('monetizationstart', startEventHandler)
monetizationstop
Determine when Monetization has stopped by adding an event listener for
monetizationstop
to document.monetization
.
Event listener
function stopEventHandler (event) {
console.log(event)
}
document.monetization.addEventListener('monetizationstop', stopEventHandler)