preStartGameWithPkgPath:options:completion:
预启动游戏(通过本地文件路径)
该方法允许开发者通过指定的本地文件路径(如 .zip 包)开启预启动流程。它集成了文件校验、解压、环境初始化以及游戏脚本的后台执行。通过此接口,即使游戏资源不在 SDK 默认缓存目录中,也能实现游戏的后台预热。
方法声明
objectivec
/**
Pre-start game using a local file path.
@param pkgPath the local path.
@param options Configuration object containing the local path and verification metadata.
@param completion Called when the pre-start operation finishes.
@return An instance of id<SUDOPGameTask> to track the pre-start task.
*/
+ (id<SUDOPGameTask>)preStartGameWithPkgPath:(NSString *)pkgPath
options:(SUDOPGamePackageOptions *)options
completion:(nullable SUDOPGameOperationCompletion)completion;注意:此处参数应为
SUDOPGamePackageOptions *类型,用于传递路径及版本校验信息。
参数说明
| 参数名 | 类型 | 必传 | 描述 |
|---|---|---|---|
| pkgPath | NSString * | 是 | 本地绝对路径 pkgPath |
| options | SUDOPGamePackageOptions * | 是 | 包含本地绝对路径 path、appGameID、版本号及 fid 校验信息的配置对象。 |
| completion | SUDOPGameOperationCompletion | 否 | 异步预启动完成后的回调。成功后,游戏实例已在后台运行。 |
返回值
返回一个遵循 id<SUDOPGameTask> 协议的对象,开发者可用于追踪任务状态或在必要时强制中断预热逻辑。
运行行为
- 资源处理:SDK 检查路径有效性,并根据
options.fid校验包体。校验通过后,如果尚未解压,则执行解压操作。 - 静默执行:启动游戏运行时(Runtime),加载首屏所需的脚本、纹理和配置文件。
- 就绪状态:游戏逻辑运行至“可显示”阶段(通常是首屏渲染指令已准备好),触发
completion回调。
代码示例
objc
SUDOPGamePackageOptions *options = [[SUDOPGamePackageOptions alloc] init];
NSString * pkgPath = @"/path/to/your/game_package.zip";
options.appGameID = @"game_888";
options.version = @"1.2.0";
options.fid = @"checksum_value";
[SUDOP preStartGameWithFilePath:pkgPath options:options completion:];注意事项
- 路径权限:请确保 iOS 应用对
pkgPath指向的目录具有读取权限(通常建议放在Documents或Library/Caches下)。 - 资源清理:若预启动后长时间未调用
startGame,游戏实例会持续占用 CPU 和内存。建议在用户放弃进入游戏时,通过 Task 或uninitialize释放资源。 - 版本一致性:
appGameID必须与包内的配置文件一致,否则可能导致启动失败。