GameMaker Quick Start
本页提供两种最小验证方式:
- 运行官方示例:使用发布包自带的示例工程完成验证
- 接入自有工程:按最小调用顺序接入 runtime
当前首期覆盖:
- 正版校验
- 实名认证与防沉迷状态
- 成就解锁
- 成就进度上报
暂不覆盖房间、实时通信和 RPC。
- 已经下载并解压
igp-gamemaker-sdk-0.0.6.zip - 本机已安装并可启动 IGP 桌面客户端
- 如需验证自有游戏的成功流程,需已获得 IGP 分配的
appId - GameMaker runtime 通过
igp_init(...)初始化 - 如需验证实名认证与防沉迷,后台已选择“启动拦截”或“游戏内实名”;GameMaker 当前主要用于读取和刷新状态
1. 运行官方示例
Section titled “1. 运行官方示例”- 使用 GameMaker 打开
samples/gamemaker/windows-auth-achievements/project/IGP.WindowsAuthAchievements.yyp - 按 F5 运行
- 确认界面上的以下状态是否开始刷新:
InitializedConnectionAuthorizationLatest resultLatest errorLatest event
- 按 F1 触发一次成就解锁
- 按 F2 上报一次 50% 进度
2. 接入自有工程的最小调用顺序
Section titled “2. 接入自有工程的最小调用顺序”Create 事件
Section titled “Create 事件”global.igp_app_id = YOUR_APP_ID;global.igp_sdk_enabled = true;
if (global.igp_sdk_enabled && !igp_init(global.igp_app_id, { desktop_auto_attach: true})){ show_debug_message("IGP init failed");}Step 事件
Section titled “Step 事件”if (!global.igp_sdk_enabled){ exit;}
igp_update();
var evt = igp_poll_event();while (!is_undefined(evt)){ show_debug_message("IGP event: " + string(evt.type)); evt = igp_poll_event();}
if (keyboard_check_pressed(vk_f1)){ igp_unlock_achievement("YOUR_ACHIEVEMENT_KEY", "", 0, global.igp_app_id);}
if (keyboard_check_pressed(vk_f2)){ igp_report_achievement_progress( "YOUR_PROGRESS_ACHIEVEMENT_KEY", 50, "", "", 0, global.igp_app_id);}Clean Up 事件
Section titled “Clean Up 事件”igp_shutdown();3. 最小验收标准
Section titled “3. 最小验收标准”在桌面客户端可用、appId 正确、成就项已配置的前提下,至少确认以下结果:
igp_init(...)返回trueConnection不再持续停留在disconnectedAuthorization会从pending进入一个明确结果authorized_onlineauthorized_offlinefailed
- 触发 F1 或 F2 后,
Latest result或Latest event有更新
4. 下一步
Section titled “4. 下一步”Quick Start 完成后,按目标能力继续:
- 按功能查看引擎示例:按功能使用 SDK
- 确认基础启动流程:启动与连接
- 接入正版校验:正版校验
- 接入实名认证与防沉迷:实名认证与防沉迷
- 接入成就:成就
- 完成完整检查:联调与测试
- 将文件加入自有工程:GameMaker 安装
- 排查状态和错误:GameMaker 调试
- 查询底层导出函数:GameMaker Native Bridge
- 查看示例目录内容:Windows 正版校验与成就示例