远程配置

请使用 Yandex Games SDK 中的 getFlags() 方法来获取远程配置标志(Remote Config)。我们建议在游戏启动时请求一次标志。

示例

1const ysdk = await YaGames.init();
2
3const flags = await ysdk.getFlags(); // 该方法返回一个包含标志的对象。
4
5// 在游戏逻辑中可以添加条件:
6if (flags.difficult === 'hard') {
7    // 启用高难度。
8}

本地配置

提示

始终在游戏代码中添加本地标志配置,以防无法从服务器获取远程配置(例如,由于互联网连接问题)。

要添加本地配置(一个平面对象,值为字符串),需要在 getFlags() 方法的附加参数中的 defaultFlags 字段中传递它。最终获得的对象是远程和本地配置的合并。远程配置的优先级更高。

示例

1const ysdk = await YaGames.init();
2
3const flags = await ysdk.getFlags({ defaultFlags: { difficult: 'easy' } });
4
5if (flags.difficult === 'easy') {
6
7}

客户端参数

如果您的游戏存储玩家数据(已通关卡、经验、应用内购买等),则可以在远程配置中使用这些数据。有关如何根据条件配置标志的详细信息,请参阅步骤1. 创建标志配置

客户端参数需要以数组形式在getFlags()方法的clientFeatures字段中传递。

示例

 1const ysdk = await YaGames.init();
 2
 3const player = await ysdk.getPlayer();
 4
 5const payingStatus = player.getPayingStatus();
 6
 7// 请求包含用户付费活跃状态客户端参数的标志。
 8const flags = await ysdk.getFlags({
 9    clientFeatures: [
10        { name: 'payingStatus', value: payingStatus }
11    ]
12});

getFlags() 方法的签名和接口

 1interface IFlags {
 2    [key: string]: string;
 3}
 4
 5interface IClientFeature {
 6    name: string;
 7    value: string;
 8}
 9
10interface IGetFlagsParams {
11    defaultFlags?: IFlags;
12    clientFeatures?: IClientFeature[];
13}
14
15function getFlags(getFlagsParams: IGetFlagsParams = {}): IFlags {}

备注

技术支持团队将协助您将已完成的游戏发布到 Yandex 游戏平台。关于开发和测试方面的具体问题,其他开发人员将在Discord 频道中进行回答。

如果您遇到 Yandex Games SDK 方面的问题或有其他问题想要咨询,请联系支持部门:

写入聊天信息
上一篇
下一篇