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
host?: HostConfig, // 原生 App 构建:标题栏、FRVR 登录
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:
详见 同意。Web 上一般要选一个 CMP:
FRVR.config.consent = {
providerName: 'tcfv2', // or 'cookiepro'
config: {},
};
详见 云端存储:
FRVR.config.cloudStorage = {
playerStorage: { env: 'production' },
};
给「在游戏周围绘制 UI 并负责登录」的宿主用的选项,目前指 FRVR 的原生 App 构建。见宿主 UI。
FRVR.config.host = {
titlebar: false, // 在游戏显示之前隐藏宿主的标题栏
};
| 字段 | 作用 |
|---|
titlebar | false 隐藏宿主的标题栏。默认:构建自身的设置。 |
auth | false 让游戏忽略宿主的 FRVR 会话,保留自己的。 |
storageSandbox | 宿主共享会话期间,FRVR.localStorage 按玩家隔离。false 表示玩家之间共享。传入带 globalKeys / globalKeyPrefixes 的对象可列出要共享的 key。 |
设置 FRVR.config.iap = { enabled: false } 可以为某个构建关闭内购:此时 FRVR.iap.isReady() 一直为 false。
部分渠道接受嵌套在 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 不会生效。