制作游戏镜像
制作游戏镜像是在安卓云游戏场景中较为常见的一项任务,可以用于将游戏快速挂载到实例中使用。下面介绍如何使用 iPaaS 提供的开放接口来制作游戏镜像。
创建应用数据卷
应用数据卷用于存储手机游戏的 apk、热更等数据。
调用 VolumeService.CreateVolume
接口创建一个应用数据卷:
{
name,
volume_type: ultima.VolumeType.VOLTYPE_ANDROID_CONTAINER_APP_DATA,
volume_config: {
android_container_app_data: {
size,
system_volume_id,
package_name,
uid,
},
},
placement: { shape_name, datacenter },
}
创建完成后,记录返回的 volume_id
。
挂载应用数据卷到实例
我们选择任意一个实例,作为样板机使用,然后调用 AndroidContainerInstanceService.MountAppDataVolume
将游戏镜像以读写的方式挂载上去:
{
instance_id,
app_data_volume: {
volume_id,
mutable: true,
},
}
安装游戏
调用 AndroidContainerInstanceService.InstallApkAsync
来安装游戏 apk,这里可以指定一个 UID:
{
instance_id,
package_name,
uid,
url,
}
检查游戏并热更
通过 scrcpy 或者其他方式远程连入实例,检查游戏是否安装好。如果有热更,手动进行热更。
卸载应用数据卷
注意
请一定在完成镜像制作后,进一步操作之前,卸载应用数据卷,否则游戏数据可能得不到保存。
你可以调用 AndroidContainerInstanceService.UnmountAppDataVolume
以卸载应用数据卷。
你也可以调用 InstanceService.TerminateInstances
关闭并删除上文中提到的实例,这将自动卸载实例上所有的卷。