初始化开发工具包

云眼About 4 min

初始化开发工具包

本主题介绍如何在应用程序中初始化 Eyeofcloud React Native SDK。

使用该方法初始化 React Native SDK 并实例化 ReactSDKClient 类的实例。每个客户端对应于表示特定环境的项目状态的数据文件。createInstance

版本

SDK v2.2.0 及更高版本

描述

该方法接受配置对象来配置云眼灰度实验。createInstance

某些参数是可选的,因为 SDK 提供默认实现,但开发者可能希望为生产环境覆盖这些参数。例如,开发者可能希望覆盖这些内容以设置错误处理程序记录器以捕获问题,设置事件调度程序以管理网络调用,以及设置用户配置文件服务以确保粘性分桶。

参数

下表列出了 React 中的必需参数和可选参数(通过传入 Config 对象创建)。类由这些字段组成)。

参数

类型

描述

数据文件
可选

字符串

表示项目的 JSON 字符串。必须至少提供一个 sdkKey 或数据文件。

sdk密钥
可选

字符串

与项目中的环境关联的键。必须至少提供一个 sdkKey 或数据文件。

事件调度程序
可选

对象

用于管理网络调用的事件处理程序。

记录器可选

对象

用于记录问题的记录器实现。

错误处理程序
可选

对象

用于处理错误的错误处理程序对象。

用户配置文件服务
可选

对象

用户配置文件服务。

数据文件选项
可选

对象

具有用于自动数据文件管理的配置的对象。可以具有(布尔值)、(字符串)和(数字)属性。autoUpdate``urlTemplate``updateInterval

默认决定选项
可选

数组

Array of EyeofcloudDecideOption enums.当使用此参数构造 Eyeofcloud 客户端时,它会设置默认的 decide 选项,这些选项将应用于在 Eyeofcloud 客户端的生命周期内进行的所有 Decide 调用。此外,还可以将选项传递给各个 Decide 方法(不会覆盖默认值)。有关决定选项的详细信息,请参阅云眼决策选项

返回

实例化 Eyeofcloud 类的实例。

在 React SDK 中,你可以提供其中之一或两者兼而有之。 sdkKey``datafile

  • 仅使用 SDK 密钥初始化时,将自动下载数据文件
  • When initializing with just the datafile, the SDK will use the given datafile.
  • When initializing with both the SDK key and datafile, the SDK will use the given datafile to start, then download the latest version of the datafile in the background.

Instantiate using datafile

You can instantiate with a hard-coded datafile. If you don't pass in an SDK key, the Eyeofcloud Client will not automatically sync newer versions of the datafile. Any time you retrieve an updated datafile, just re-instantiate the same client. The hardcoded datafile can be a JSON or a valid JSON string.
To get the hardcoded datafile, copy the datafile JSON string from the app. Typically you'd want to copy the datafile string at the latest point possible pre-release.

React

import * as eyeofcloudReactSDK from '@eyeofcloud/react-sdk'; // Instantiate an Eyeofcloud client const eyeofcloud = eyeofcloudReactSDK.createInstance({ datafile: eyeofcloudDatafile, })

Instantiate using SDK key

To instantiate using SDK Key, obtain the SDK Key from your project's settings page, then pass as a string property in the options object you pass to the method.sdkKey``createInstance

React

import * as eyeofcloudReactSDK from '@eyeofcloud/react-sdk'; // Instantiate an Eyeofcloud client const eyeofcloud = eyeofcloudReactSDK.createInstance({ sdkKey: '<Your_SDK_Key>', });

When you provide the , the SDK instance downloads the datafile associated with that . When the download completes, the SDK instance updates itself to use the downloaded datafile.sdkKey``sdkKey

Instantiate offline with SDK key

The React Native SDK provides out-of-the-box datafile caching to support fast initialization and offline mode. This means you can initialize using the SDK key even when there is no Internet connectivity. Once downloaded, the datafile is stored in the cache on the user's device. When the SDK is initialized the next time, it uses the datafile from the cache if available and resolves the ready promise. It then continues to load the latest datafile from the server. This results in faster SDK initialization.

Render an with a client and user EyeofcloudProvider

To use React SDK components inside your app, render an as the parent of your root app component. Provide your Eyeofcloud Feature Experimentation instance as the prop, and a object:EyeofcloudProvider``eyeofcloud``user

React

import { EyeofcloudProvider, createInstance } from '@eyeofcloud/react-sdk' const eyeofcloud = createInstance({ datafile: eyeofcloudDatafile, }); class AppWrapper extends React.Component { render() { return ( <EyeofcloudProvider eyeofcloud={eyeofcloud} user={{id: '<Your_User_Id>'}}> <App /> </EyeofcloudProvider> ); } }

Notes

Customize datafile management behavior

To customize datafile management behavior, provide a object property inside the object passed to . The table lists the supported customizable options.datafileOptions``options``createInstance

autoUpdate

boolean

When true, and was provided in options, automatic updates are enabled on this instance. The default value is .sdkKey``createInstance``false

updateInterval

启用自动更新后,这将控制更新间隔。单位为毫秒。允许的最小值为 1000(1 秒)。默认值为 300000 毫秒(5 分钟)。

网址模板

字符串

用于构建 SDK 将从中请求数据文件的 URL 的格式字符串。的实例将替换为 .如果未提供,SDK 将从云眼 cdn 请求数据文件。%s``sdkKey

下面的示例演示如何自定义数据文件管理行为。

React

import { createInstance } from '@eyeofcloud/react-sdk'; const eyeofcloud = createInstance({ sdkKey: '<Your_SDK_Key>', datafileOptions: { autoUpdate: true, updateInterval: 600000, // 10 minutes in milliseconds urlTemplate: 'http://localhost:5000/datafiles/%s.json', }, });

源文件

包含 React SDK 实现的语言/平台源文件位于 index.tsopen in new window

Last update:
Contributors: “zhangweixue”