appId + appKey 走在线鉴权。Web 禁止在前端 JavaScript 里嵌入 appKey。
原生(Android / iOS / macOS / Windows)
创建引擎时二选一:
优先级:
licenseToken 非空时,SDK 本地校验该 token,不会再用 appId / appKey 请求网络。
iOS / macOS
.lic 建议作为资源随包分发,运行时读取,不要写死在源码里。获取方式见下方 离线许可证。
Web
浏览器 SDK 没有appId / appKey 字段。引擎只接受 licenseToken,并在本地验签。请在 init() 之前由你的服务器向 Facebetter 换好 token。
推荐流程
- 控制台创建应用,绑定 Web 域名,拿到
appId/appKey(见 订阅服务) - 在你的后端保管密钥;对外提供一个接口(例如
POST /api/facebetter/auth) - 后端用密钥签名后请求
https://facebetter.pixpark.net/facebetter/v2/auth,把响应原文返回给页面 - 页面把该字符串传给
EngineConfig.licenseToken,再init()
demo/web/react)也是这套模式:前端见 src/fetchLicenseToken.js,服务端代理见 api/facebetter/auth.js。
前端
服务端代理(Node 示例)
把FB_APP_ID / FB_APP_KEY 放在环境变量里。下面可直接嵌进 Express / Fastify / 无服务器函数:
api/facebetter/auth.js。
上游请求字段
成功时上游返回 JSON(含
token 字段)。你可原样把响应文本交给 SDK,也可只抽出 token 字符串;两者 SDK 都接受。
离线许可证(仅原生)
控制台不再提供离线.lic 自助下载。如需离线授权,请联系销售或管理员:
- 邮箱:hello@facebetter.net(主题建议注明
[商务合作] 离线许可证) - 更多方式:联系我们
licenseToken / license_token。有效期与当前订阅一致;续费或改套餐后需重新申请并替换。
注意
- 离线许可证绑定控制台里配置的应用标识,不匹配会校验失败。
- 未过期:能力跟随订阅套餐。
- 已过期:引擎仍可初始化,能力回退到免费版(始终带水印,不含关键点回调)。续费后重新申请。
- Web 不能使用离线许可证,必须走在线 v2 鉴权。
引擎事件
通过onEngineEvent 监听授权和初始化结果:

