跳转到内容

GameMaker Quick Start

本页提供两种最小验证方式:

  • 运行官方示例:使用发布包自带的示例工程完成验证
  • 接入自有工程:按最小调用顺序接入 runtime

当前首期覆盖:

  • 正版校验
  • 实名认证与防沉迷状态
  • 成就解锁
  • 成就进度上报

暂不覆盖房间、实时通信和 RPC。

  • 已经下载并解压 igp-gamemaker-sdk-0.0.6.zip
  • 本机已安装并可启动 IGP 桌面客户端
  • 如需验证自有游戏的成功流程,需已获得 IGP 分配的 appId
  • GameMaker runtime 通过 igp_init(...) 初始化
  • 如需验证实名认证与防沉迷,后台已选择“启动拦截”或“游戏内实名”;GameMaker 当前主要用于读取和刷新状态
  1. 使用 GameMaker 打开 samples/gamemaker/windows-auth-achievements/project/IGP.WindowsAuthAchievements.yyp
  2. F5 运行
  3. 确认界面上的以下状态是否开始刷新:
    • Initialized
    • Connection
    • Authorization
    • Latest result
    • Latest error
    • Latest event
  4. F1 触发一次成就解锁
  5. F2 上报一次 50% 进度

2. 接入自有工程的最小调用顺序

Section titled “2. 接入自有工程的最小调用顺序”
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");
}
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);
}
igp_shutdown();

在桌面客户端可用、appId 正确、成就项已配置的前提下,至少确认以下结果:

  1. igp_init(...) 返回 true
  2. Connection 不再持续停留在 disconnected
  3. Authorization 会从 pending 进入一个明确结果
    • authorized_online
    • authorized_offline
    • failed
  4. 触发 F1 或 F2 后,Latest resultLatest event 有更新

Quick Start 完成后,按目标能力继续: