ConfigCat Swift SDK
ConfigCat Swift SDK为您的应用提供与ConfigCat的简单集成。
ConfigCat是一个功能开关和配置管理服务,它使您可以将发布与部署分离。您可以使用ConfigCat仪表板在功能部署后将其ON/OFF。ConfigCat允许您根据地区、电子邮件或其他任何自定义用户属性针对特定用户组。
ConfigCat是一种托管功能开关服务。管理前端、后端、移动、桌面应用中的功能开关。替代方案LaunchDarkly。管理应用+功能开关SDK。
入门
1. 安装包
CocoaPods
将以下内容添加到您的Podfile
target '<YOUR TARGET>' do
pod 'ConfigCat'
end
然后,运行以下命令安装您的依赖项
pod install
Carthage
将以下内容添加到您的Cartfile
github "configcat/swift-sdk"
然后,运行carthage update
命令,然后按照Carthage集成步骤将框架链接到您的项目中。
Swift 包管理器
您可以通过将其作为包依赖项添加到 Xcode 项目中来将 ConfigCat 添加到 Xcode 项目中。
如果您想在 SwiftPM 项目中使用 ConfigCat,只需在您的 Package.swift
文件中添加一个 dependencies
子句即可。
dependencies: [
.package(url: "https://github.com/configcat/swift-sdk", from: "9.4.0")
]
ConfigCat 控制台 获取您的 SDK 密钥
2. 前往3. 将 ConfigCat 模块导入您的应用程序
import ConfigCat
4. 创建 ConfigCat 客户端实例
let client = ConfigCatClient.get(sdkKey: "#YOUR-SDK-KEY#")
5. 获取您的设置值
client.getValue(for: "isMyAwesomeFeatureEnabled", defaultValue: false) { isMyAwesomeFeatureEnabled in
if isMyAwesomeFeatureEnabled {
doTheNewThing()
} else {
doTheOldThing()
}
}
// or with async/await
let isMyAwesomeFeatureEnabled = await client.getValue(for: "isMyAwesomeFeatureEnabled", defaultValue: false)
if isMyAwesomeFeatureEnabled {
doTheNewThing()
} else {
doTheOldThing()
}
6. 在应用程序退出时关闭客户端
client.close();
通过定位获取用户特定的设置值
使用此功能,您可以通过将 用户对象
传递到 getValue()
函数中,在应用程序中获取不同用户的不同的设置值。
有关定位的更多信息,请参阅此处。
let user = ConfigCatUser(identifier: "#USER-IDENTIFIER#")
client.getValue(for: "isMyAwesomeFeatureEnabled", defaultValue: false, user: user) { isMyAwesomeFeatureEnabled in
if isMyAwesomeFeatureEnabled {
doTheNewThing()
} else {
doTheOldThing()
}
}
示例/演示应用程序
轮询模式
ConfigCat SDK 支持三种不同的轮询机制,以从 ConfigCat 获取设置值。在下载最新的设置值之后,它们被存储在内部缓存中,然后所有请求都从那里提供。有关轮询模式和如何使用它们的更多信息,请参阅ConfigCat 文档。
敏感信息处理
前端的/移动 SDK 在用户的浏览器/设备上运行。SDK 从 ConfigCat 的 CDN 服务器下载一个 config.json 文件。此 config.json 文件的 URL 路径包含您的 SDK 密钥,因此 SDK 密钥以及您的 config.json 文件的内容(功能标志键、功能标志值、定位规则、% 规则)可能对用户可见。此 SDK 密钥为只读权限,它只允许下载您的 config.json 文件,但任何人都无法在您的 ConfigCat 账户中使用它进行任何更改。
如果您不想暴露SDK密钥或config.json文件的内容,我们建议仅在您的后端组件中使用SDK。您始终可以使用ConfigCat SDK创建一个后端端点,来评估特定用户的特性开关,然后从您的前端/移动应用程序调用该后端端点。
此外,我们建议在用于前端/移动SDK的特性开关的目标规则中使用机密目标比较器。
需要帮助?
贡献
欢迎贡献。有关更多信息,请阅读贡献指南。