Skip to Content
1. 快速开始

Getting Started

Playsout Hybrid SDK(PHSDK)是一套面向 Web3 钱包 App WebView 的网页游戏运行与支付 SDK。游戏只需接入一套 JS API,即可在不同钱包 App 中完成:

  • 钱包登录(地址身份)
  • ERC20 支付购买
  • 权益发放与恢复(Phase 1:本地)
  • 钱包切链 / 账户变更感知

Phase 1(v0.1)特点

  • 无需宿主编写 native 代码
  • 依赖钱包注入的 window.ethereum(EIP-1193)
  • 支付方式为 ERC20 转账
  • 适合单机或弱后端 Web3 游戏

适用场景

✅ 适合:

  • Web3 钱包 App 内嵌网页游戏(WebView)
  • ERC20 代币支付(USDC / USDT / 自定义 Token)
  • 单机游戏(本地存档)
  • 轻后端游戏(链上交易即事实)

⚠️ Phase 1 不适合:

  • 法币支付 / IAP
  • 宿主账号体系登录
  • 强防刷、高价值道具(需要后端或 native)

安装

NPM

npm install @playsout/hybrid-sdk

CDN(示例)

<script src="https://cdn.playsout.io/phsdk/v0.1/phsdk.min.js"></script>

调试场景:如果宿主只提供 WebView + window.ethereum,可先注入 mock bridge(调试用):

<script src="/path/to/bridge.mock.js"></script>

初始化

import { PHSDK } from "@playsout/hybrid-sdk"; const sdk = await PHSDK.init({ pay: { productMapping: { /* 见 Examples */ }, }, });

productMapping 是 Phase 1 的关键:游戏前端不允许随意传金额;所有价格、Token、链信息由配置决定。

发起购买(最小示例)

const result = await sdk.pay.purchase({ productId: "coin_pack_1" }); console.log(result.status, result.txHash);

返回 status

  • REJECTED:用户拒签
  • SUBMITTED:交易已广播,等待确认
  • CONFIRMED:至少 1 个区块确认
  • FAILED:交易失败(revert / status=0)

推荐:能力检测

const caps = await sdk.env.getCapabilities(); if (!caps.modules.pay.purchase) alert("Payment not supported in this wallet");

支持的钱包环境

任何注入 EIP-1193 provider 的钱包 App WebView(window.ethereum),例如:

  • MetaMask Mobile
  • OKX Wallet
  • Bitget Wallet
  • Trust Wallet
  • 其它兼容钱包

架构(简化)

Game (H5) Playsout Hybrid SDK (JS) Adapter (EIP-1193) window.ethereum Wallet App

Roadmap(Phase 2)

  • Native 宿主支付(Web2 / IAP)
  • 宿主账号登录
  • Secure Storage(native)
  • Server-side Entitlements
  • Paymaster / Gas Sponsored TX
  • NFT / On-chain Entitlements