远程配置
请使用 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 方面的问题或有其他问题想要咨询,请联系支持部门: