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-sdkCDN(示例)
<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 AppRoadmap(Phase 2)
- Native 宿主支付(Web2 / IAP)
- 宿主账号登录
- Secure Storage(native)
- Server-side Entitlements
- Paymaster / Gas Sponsored TX
- NFT / On-chain Entitlements