MiniGameSdk - 小游戏统一SDK
现代化、类型安全的小游戏开发SDK,支持微信、抖音等多平台
已适配平台(必须)
| H5 | 微信小游戏 | Android原生 | iOS原生 | 抖音小游戏 | OPPO小游戏 | vivo小游戏 |
|---|---|---|---|---|---|---|
![]() |
![]() |
✘ | ✘ | ![]() |
✘ | ✘ |
统一API,多平台兼容
- 一套代码,多平台运行 - 支持微信小游戏、抖音小游戏、H5等平台
- 智能平台检测 - 自动识别运行环境,无需手动配置
- 优雅降级 - 不支持的平台自动使用模拟实现,保证代码不报错
现代化架构设计
- 策略模式 - 每个平台都是独立实现,易于维护和扩展
- 代理模式 - 统一的API入口,简化调用方式
- TypeScript支持 - 完整的类型定义,开发体验极佳
开箱即用的功能
- 广告系统 - 横幅、插屏、视频、自定义广告完整支持
- 平台API - 分享、登录、震动、导航等常用功能
- 前后台监听 - 监听游戏进入前后台
- 游戏圈 - 微信游戏圈完整对接
- 侧边栏 - 抖音侧边栏特色功能
- 推荐组件 - 微信推荐组件完整实现
极简的使用体验
// 广告调用 - 一行代码搞定
MiniGameSdk.Advert.showVideo(adId, (result, count) => {
if (result === AdVideoResult.ACCEPT) {
console.log(`获得${count}个奖励`);
}
});
// 平台API - 直接调用
MiniGameSdk.API.shareAppToFriends('来玩游戏吧!');
MiniGameSdk.API.showToast('操作成功');
// 推荐组件
await MiniGameSdk.API.showRecommend(
() => console.log('显示成功'),
(isRecommended) => console.log('用户操作:', isRecommended)
);
功能支持情况
完全支持 |
模拟实现 |
不支持
| 平台 | 广告 | 分享 | 登录 | 游戏圈 | 侧边栏 | 推荐组件 | 前后台监听 |
|---|---|---|---|---|---|---|---|
| 微信小游戏 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| 抖音小游戏 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| H5浏览器 | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
开发环境
- 引擎版本: Cocos Creator 3.8.7
- 编程语言: TypeScript
快速开始
export class GameManager extends Component {
start() {
// 显示横幅广告
MiniGameSdk.Advert.loadBanner('your-ad-id', { top: 50, left: 100, width: 300 });
MiniGameSdk.Advert.showBanner('your-ad-id');
// 显示视频广告
MiniGameSdk.Advert.showVideo('your-video-id', (result, count) => {
if (result === AdVideoResult.ACCEPT) {
// 给予奖励
this.grantReward(count);
}
});
}
}
详细文档
广告系统
横幅广告
// 加载横幅广告
MiniGameSdk.Advert.loadBanner(adId, {
top: 50, // 距离顶部像素
left: 100, // 距离左侧像素
width: 300 // 广告宽度
});
// 显示/隐藏
MiniGameSdk.Advert.showBanner(adId);
MiniGameSdk.Advert.hideBanner(adId);
视频广告
MiniGameSdk.Advert.showVideo(
adId, // 广告ID
(result: AdVideoResult, count: number) => { // 结果回调
switch (result) {
case AdVideoResult.ACCEPT: // 观看完成
console.log(`获得${count}个奖励`);
break;
case AdVideoResult.REJECT: // 用户取消
console.log('用户取消观看');
break;
case AdVideoResult.ERROR: // 播放错误
console.log('广告播放失败');
break;
}
},
this, // 回调上下文
3 // 最大观看次数
);
平台API
分享功能
// 分享给朋友
MiniGameSdk.API.shareAppToFriends(
'来玩这个游戏吧!', // 分享标题
'https://example.com/image.jpg', // 分享图片
'超好玩的小游戏', // 分享描述
'from=share', // 查询参数
() => console.log('分享成功') // 成功回调
);
用户登录
MiniGameSdk.API.login((code: string, anonymousCode: string) => {
console.log('登录码:', code);
console.log('匿名登录码:', anonymousCode);
// 发送到服务器进行验证
});
前后台监听
MiniGameSdk.AppVisible.watch((visible: boolean) => {
if (visible) {
console.log('应用进入前台');
} else {
console.log('应用进入后台');
}
});
微信特色功能
游戏圈
// 创建游戏圈入口
MiniGameSdk.GameClub.create(
GameClubIconStyle.GREEN, // 图标样式
{ top: 100, left: 50, width: 40, height: 40 }, // 位置和大小
'your-openlink' // 游戏圈链接
);
// 显示/隐藏
MiniGameSdk.GameClub.show();
MiniGameSdk.GameClub.hide();
推荐组件
// 显示推荐组件
await MiniGameSdk.API.showRecommend(
() => {
// 组件显示时回调
console.log('推荐组件显示');
},
(isRecommended: boolean) => {
// 组件关闭时回调
if (isRecommended) {
console.log('用户推荐了游戏');
// 给予奖励
}
}
);
抖音特色功能
侧边栏
// 检查侧边栏是否可用
MiniGameSdk.BytedanceSidebar.checkSideBar((available: boolean) => {
if (available) {
console.log('侧边栏可用');
}
});
// 监听侧边栏触发
MiniGameSdk.BytedanceSidebar.listenFromSidebar((triggered: boolean) => {
if (triggered) {
console.log('用户从侧边栏进入');
// 给予奖励
}
});
架构设计
目录结构
sdk/
├── interfaces/ # 接口定义
│ └── IPlatformSdk.ts # 平台SDK接口
├── base/ # 基础类
│ └── BasePlatformSdk.ts # SDK基类
├── platforms/ # 平台实现
│ ├── WechatSdk.ts # 微信SDK
│ ├── BytedanceSdk.ts # 抖音SDK
│ └── DefaultSdk.ts # 默认SDK
├── SdkManager.ts # SDK管理器
├── SdkProxy.ts # API代理
├── MiniGameSdk.ts # 主入口
└── Main.ts # 使用示例
说明
SDK架构图
代码示例参考**
Main.ts 文件
Main场景
高级配置
自定义平台适配
// 扩展新平台
export class CustomSdk extends BasePlatformSdk {
get platformName(): string {
return 'custom';
}
loadBanner = (adUid: string, style?: IADStyle): void => {
// 自定义实现
};
// 实现其他抽象方法...
}
更新日志
v1.0.0
- 首次发布
##技术支持
更多作品
联系作者
公众号
购买须知
本产品为付费虚拟商品,一经购买成功概不退款,请支付前谨慎确认购买内容。

完全支持 |
模拟实现 |
不支持



