Skip to content

@web-engine-dev/monetization

Creator economy and monetization system for web-engine-dev.

Features

  • In-App Purchases: Virtual goods and currency
  • Subscriptions: Recurring payments
  • Ad Integration: Rewarded ads
  • Revenue Sharing: Creator payouts
  • Virtual Currency: Coins, gems, etc.
  • Bundles: Package deals

Installation

bash
npm install @web-engine-dev/monetization
# or
pnpm add @web-engine-dev/monetization

Quick Start

typescript
import { Monetization, PurchaseManager } from '@web-engine-dev/monetization';

// Initialize
const monetization = new Monetization({
  apiKey: 'your-api-key',
  gameId: 'my-game',
});

// Get products
const products = await monetization.getProducts();

// Make purchase
const result = await monetization.purchase('premium_pack');
if (result.success) {
  grantItems(result.items);
}

// Show rewarded ad
const reward = await monetization.showRewardedAd();
if (reward.completed) {
  grantCoins(reward.amount);
}

API Overview

Products

typescript
// Get all products
const products = await monetization.getProducts();

// Get by category
const cosmetics = await monetization.getProducts({
  category: 'cosmetics',
});

// Product info
const product = await monetization.getProduct('premium_pack');
console.log(product.name);
console.log(product.price);
console.log(product.description);
console.log(product.items);

Purchases

typescript
// Purchase product
const result = await monetization.purchase(productId);

if (result.success) {
  console.log('Purchased:', result.items);
} else {
  console.log('Failed:', result.error);
}

// Purchase history
const history = await monetization.getPurchaseHistory();

Virtual Currency

typescript
// Get balance
const balance = await monetization.getBalance('coins');

// Spend currency
await monetization.spend('coins', 100, 'bought_sword');

// Grant currency
await monetization.grant('coins', 50, 'daily_bonus');

Subscriptions

typescript
// Get subscription status
const sub = await monetization.getSubscription();

if (sub.isActive) {
  console.log('Premium until:', sub.expiresAt);
}

// Subscribe
await monetization.subscribe('monthly_premium');

// Cancel
await monetization.cancelSubscription();

Ads

typescript
// Check if ad available
const available = await monetization.isRewardedAdReady();

// Show rewarded ad
const result = await monetization.showRewardedAd();

if (result.completed) {
  grantReward(result.rewardAmount);
}

Proprietary software. All rights reserved.