跳转到内容

配置

FRVR.config 是一个普通对象,你必须在 FRVR.init() 之前设置好。只有 gameId 是严格必填,其余都是模块相关、可选的。

FRVR.config = {
  gameId:   string,          // REQUIRED. Your FRVR game identifier.

  ads?:     AdsConfiguration,
  iap?:     IAPProviderConfig,
  auth?:    AuthProviderConfig,
  tracker?: TrackerConfig,
  consent?: ConsentProviderConfig,

  storage?:     StorageConfiguration,
  cloudStorage?: CloudStorageConfiguration,

  social?:     SocialConfig,
  navigation?: NavigationConfig,

  crossplay?: CrossplayConfiguration,
  channels?:  Record<string, unknown>,   // per‑channel overrides
  shield?:    { xmlPath: string, cssPath: string },  // Facebook Instant only
};

你的游戏在 FRVR 上的标识。它被数据分析、排行榜、锦标赛、商店、特性、通知等几乎所有模块使用。在顶层设一次即可;某个模块若需要覆盖,可以在自己的配置里再写一个 gameId

FRVR.config.gameId = 'basketball';

详见 数据分析。典型结构:

FRVR.config.tracker = {
  appVersion: '1.2.3',
  appBuild:   '4567',
  analyticsProviders: {
    metapixel: { pixelId: 'PIXEL_ID' },
  },
};

详见 广告。多数渠道会自动配 provider,你一般顶多写到这种程度:

FRVR.config.ads = {
  autoInit: true,
  throttling: { [FRVR.ads.AdType.INTERSTITIAL]: { minInterval: 60 } },
};

详见 内购。商品目录是必给的:

FRVR.config.iap = {
  catalog: {
    COINS_100: { label: '100 coins', storeId: 'com.mygame.coins_100' },
    COINS_500: { label: '500 coins', storeId: 'com.mygame.coins_500' },
  },
};

详见 登录。多数游戏给个空对象就够 —— 当前激活的渠道会替你挑合适的 provider:

FRVR.config.auth = {};

详见 同意。Web 上一般要选一个 CMP:

FRVR.config.consent = {
  providerName: 'tcfv2',   // or 'cookiepro'
  config: {},
};

详见 云端存储:

FRVR.config.cloudStorage = {
  playerStorage: { env: 'production' },
};

部分渠道接受嵌套在 channels 下的渠道专属字段:

FRVR.config.channels = {
  'facebook-instant': { /* … */ },
  'google-play':      { /* … */ },
};

哪些字段会被读取,见 渠道参考

永远在 SDK 加载完成之后、FRVR.init() 之前。本地用 dev 渠道;生产渠道包由 FRVR 在每次发版时帮你注入:

<script src="https://cdn.frvr.com/sdk/frvr-sdk.min.js"></script>
<script src="https://cdn.frvr.com/sdk/frvr-channel-dev.min.js"></script>
<script>
  FRVR.config = { gameId: 'my-game', /* … */ };
  FRVR.init();
</script>

init() 之后再设 FRVR.config 不会生效。