Skip to Content
2. 游戏接入指南

游戏工作室接入指南

本指南面向游戏开发工程师,帮助您的网页游戏只需一套 API,便能在超级应用、加密钱包以及标准浏览器中流畅运行。

1. 安装

安装核心 SDK 包:

npm install @playsout/hybrid-sdk

2. 初始化

在您的应用生命周期中,应尽早初始化 SDK。

import { PHSDK } from "@playsout/hybrid-sdk"; // 初始化 SDK const sdk = await PHSDK.init({ appId: "com.yourstudio.game", // 如果处于 Web3 钱包环境,这里配置如何连接 injectedProviderKey: "ethereum", // 用于将您的游戏内商品与宿主计费系统映射 pay: { catalog: { version: "1.0", products: { "100_coins": { // EVM (区块链) 配置 networkId: 137, token: { address: "0x...", decimals: 6, symbol: "USDT" }, payee: "0x...", amount: "1000000", // 权益明细 entitlement: { id: "100_coins", type: "consumable", quantity: 1 } } } } } });

3. 检查可用能力

由于您的游戏可能会在简易浏览器 (仅具备基础能力) 或全功能超级应用 (具备基础+高级能力) 中运行,因此在使用特定功能前,最好检查环境是否支持:

const caps = sdk.runtime.getCapabilities(); if (caps.pay.purchase) { // 渲染内购商城 UI renderShopButton(); } else { // 环境不支持支付,隐藏购买按钮,或稍后提供 Web 结账渠道 hideShopButton(); }

4. 示例:登录与购买

您可以编写统一的业务流,无需关心用户实际使用的是 MetaMask 还是某款定制的安卓内置浏览器。

// 1. 获取标识符 if (caps.identity.signIn) { try { const identity = await sdk.identity.signIn(); console.log("当前登录账号:", identity.subject); } catch (e) { console.error("登录失败", e); } } else { // 回退:使用匿名访客 ID (静默模式) const identity = await sdk.identity.get(); console.log("访客 ID:", identity.subject); } // 2. 发起购买 if (caps.pay.purchase) { try { const result = await sdk.pay.purchase({ productId: "100_coins" }); if (result.status === "CONFIRMED") { console.log("购买成功!交易流水号:", result.transactionRef); await sdk.ui.toast("已添加 100 金币!"); } } catch (error) { console.error("支付异常:", error); } }