gpt4 book ai didi

优化对象无效。失败 isFeatureEnabled

转载 作者:行者123 更新时间:2023-12-03 15:48:33 24 4
gpt4 key购买 nike

尝试将 React 和 JavaScript SDK 用于 Optimizely ,但在控制台中出现以下错误:

OPTIMIZELY: Optimizely object is not valid. Failing isFeatureEnabled.

关于我的设置的更多信息如下:

通过 Yarn 安装: yarn add @optimizely/react-sdk
应用容器中的导入语句:
import {
createInstance
} from '@optimizely/react-sdk'

渲染函数中的逻辑:
const optimizely = createInstance({
sdkKey: '<SDK_KEY>',
})

const enabled = optimizely.isFeatureEnabled('example_feature', 'user123');

我在 Chrome 控制台中收到此错误:
OPTIMIZELY: Optimizely object is not valid. Failing isFeatureEnabled.

最佳答案

当您调用 isFeatureEnabled 时,Optimizely 对象将记录该错误。在 SDK 成功加载您项目的 datafile 之前.发生这种情况的原因有以下几种。查看问题中提供的代码示例,看起来原因 #4 是最可能导致错误的原因,但以下是所有原因:

1. 错误的 SDK key

如果您将错误的 SDK key 传递给 createInstance ,SDK 将无法成功加载数据文件,您将收到此错误。

const optimizely = createInstance({
sdkKey: 'invalid-sdk-key'
})

2. 格式错误的数据文件

如果您将数据文件直接传递给 createInstance ,但传入的对象不是正确的数据文件格式,您将收到此错误:
const optimizely = createInstance({
datafile: { wrong: 'format' }
})

3. 无法访问的数据文件

确保您可以在 Web 浏览器中访问数据文件的 url: https://cdn.optimizely.com/datafiles/<Your_SDK_Key>.json .如果您收到 AccessDenied (403) 或 Not Found (404) 错误并且您的帐户是新帐户,请确保您在 Optimizely UI 中创建了一些内容,以便 Optimizely 被触发以创建和上传正确的数据文件。

如果在正在运行的应用程序的控制台中,您看到 403404对于对数据文件的请求,确保没有广告拦截器、防火墙或代理阻止 SDK 从 SDK 请求 Optimizely CDN 上的数据文件。

4. 不等Optimizely SDK准备好

即使您拥有正确的 SDK Key,并且 SDK 可以访问 Optimizely 的 CDN。如果您没有给 SDK 足够的时间来完成数据文件请求,您将尝试在 SDK 准备好之前使用它。

在 JavaScript SDK 中,这可以通过使用 onReady 来解决。方法:
const optimizely = createInstance({
sdkKey: 'valid-sdk-key',
});

optimizely.onReady().then(() => {
// optimizely is ready to use, with datafile downloaded from the Optimizely CDN
});

如果使用 <OptimizelyFeature> React SDK 的组件,然后是 <OptimizelyFeature>组件会自动等待直到 <OptimizelyProvider>在评估之前已成功加载数据文件 isFeatureEnabled .

关于优化对象无效。失败 isFeatureEnabled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60936096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com