📘
DG Live
  • Introduction
    • 📗Introduction
  • Getting Started
    • 📗Getting Started
  • Marketplace
    • ⛏️Create a New NFT Collection
    • ⛏️Mint an Item in the Collection
    • 👮Metadata Standards
    • 💲Royalty Management
    • 🛍️Buying an item
    • 🛒Selling an item
  • Business Manager
    • 📗Getting Started
    • ⚙️Overview
    • 👱‍♂️Profile
    • 🏠Scenes
      • Scene implementation code
      • Scene Panorama
      • Scene Marketplace
        • Slots
        • Market panorama
      • Scene Scheduling
      • Scene Groups
      • Sharing a Scene
      • Deleting a Scene
    • 📈Market Analytics
    • 🔌API Auth
    • 📘API Reference
  • Developer Resources
    • 📊Marketplace Plugin
    • 🛒Marketplace SDK
      • ⚙️Installation
      • 📪Basic usage
    • 🌐Metaverse SDK
      • Basic Usage
      • Advanced Usage
    • 🔌API Reference
      • Marketplace Methods
      • Business Manager API
    • 📔Smart Contract Reference
      • Methods
        • Buy
        • Sell
        • Cancel
        • BuyForGift
        • isActive
        • getPrice
      • Events
        • Buy
        • Sell
        • Cancel
        • BuyForGift
  • Tutorials & Resources
    • 🏪Creating a metaverse store
      • Creating a Decentraland Scene
      • Create an account on the business manager
      • Place an item for sale
    • 🙌Sample Scene
  • Use Cases
    • ⏯️Exploring Use Cases
    • 🎨Digital Art Gallery in the Metaverse and Web
    • 🖥️NFT Gaming Platform
    • 🎮Virtual Concert Experience
    • 👔Fashion Industry and Virtual Avatars
Powered by GitBook
On this page
  1. Developer Resources
  2. Metaverse SDK

Advanced Usage

For more complex projects, the Metaverse SDK offers additional features and customization options to help developers achieve their desired outcomes. Some advanced usage scenarios include:

First you need to Import the SDK into your project.

import {
  DgWorldMarketplace,
  MarketplaceOptions,
} from "dg-world-marketplace-sdk";

Then while initializing the DgWorldMarketplace Class you have all of the following parameters:

const opts: MarketplaceOptions = {
 previewEnv: 'prod' as any,
    network: 'MATIC' as any,
    engine,
    zoneId: YOUR_ZONE_ID,
      debug: true,
        lang: {
         noFundsTitle: "No Funds",
         noFundsDesc: "Sorry, you do not have enough ICE",
         noFundsButton: "No Funds",
         approveIceTitle: "Approve ICE",
          approveIceDesc:
          "Authorize the Store contract to operate ICE on your behalf",
           approveIceWait: "Please wait. The transaction is being processed",
           approveIceRejected:"You need to authorize the Store contract to be able to buy this item",
           buyFor: "Buy for:",
           authorize: "Authorize",
           reject: "Reject",
           transactionProccessing: "Please wait. The transaction is being processed",
           purchaseSucceed:"Purchased succeed! You will need to refresh the page to see the wearable in your backpack.", 
           purchaseFailed: "Purchased failed. Please try again.",
            wait: "Wait",
            buy: "Buy",
            openPaymentLink: "Open Payment Link",
            nftNotAvailable: "NFT not available",
       },
};
const dgMarketplace = new DgWorldMarketplace(opts);

Keep in mind that the Decentraland SDK only supports one canvas. Therefore, if you want to use your own canvas instead of the one generated by the Marketplace SDK, you need to pass that canvas as a parameter when instantiating the Marketplace SDK.

const opts: MarketplaceOptions = {
// other options
  canvas: yourCanvasInstance
  }

After instantiating the class, we can listen to the different events that we want.

// emited when the sdk is ready to connect to the blockchain
dgMarketplace.on('web3Ready', () => {
  log('web3Ready')
})

// emited after the sdk connect to the websocket
dgMarketplace.on('websocketsReady', () => {
  log('websocketsReady')
})

// emited after the sdk fetch the variables
dgMarketplace.on('variablesReady', () => {
  log('variablesReady')
  log(dgMarketplace.getVariables())
})

// emited last, when all the sdk is ready
dgMarketplace.on('ready', () => {
  log('ready')
})

// emited when any error happens, notice that err could be null or undefined, depending on the error
dgMarketplace.on('error', (err) => {
  log(err)
})

PreviousBasic UsageNextAPI Reference

Last updated 1 year ago

🌐