Optimizely Swift SDK
此仓库包含了用于与 Optimizely Feature Experimentation 和 Optimizely Full Stack (旧版) 集成使用的 Swift SDK,适用于移动和 OTT。
Optimizely Feature Experimentation 是为产品开发团队提供 A/B 测试和功能管理工具,您可以在每一步实验。使用 Optimizely Feature Experimentation 可以让您的路线图上的每个功能都成为发现隐藏见解的机会。了解更多信息请访问 Optimizely.com,或查看 开发者文档。
Optimizely Rollouts 是面向开发团队的 免费功能标志。您可以在任何应用程序中轻松推出和撤销功能,而无需代码部署,减轻您路线图上每个功能的风险。
开始使用
使用 Swift SDK
请参阅 Swift SDK 的开发者文档获取有关开始使用 SDK 的详细说明。
需求
- iOS 10.0+ / tvOS 10.0+ / watchOS 3.0+
- Swift 5+
安装 SDK
请注意以下说明,其中 <platform> 用于表示您正在构建应用程序的平台。目前,我们支持 iOS
、tvOS
以及 watchOS
平台。
Swift 包管理器
在 Xcode 中使用 Swift 包管理器添加 Optimizely Swift SDK 依赖项
文件
->Swift 包
->添加包依赖
- 输入
https://github.com/optimizely/swift-sdk
。 - 接受默认规则(
版本: '升级至下一个主要版本'
)。
如果您在 Xcode 中添加 Optimizely swift-sdk 依赖项时与其他 swift 包存在名称冲突,也可以尝试使用其别名的仓库:"https://github.com/optimizely/optimizely-swift-sdk.git"
CocoaPods
- 将以下行添加到 Podfile
use_frameworks!
pod 'OptimizelySwiftSDK', '~> 3.10.2'
- 运行以下命令
pod install
有关 Cocoapods 的进一步安装说明: https://guides.cocoapods.org.cn/using/getting-started.html
Carthage
-
将以下行添加到Cartfile
github "optimizely/swift-sdk" ~> 3.10.2
-
运行以下命令
carthage update
-
将框架链接到您的项目。前往您的项目目标中的 Link Binary With Libraries 并从 Carthage/Build/<platform> 文件夹中拖拽以下内容
Optimizely.framework
-
为了确保在存档应用程序时正确复制与位码相关的文件和 dSYMs,您需要安装一个 Carthage 构建脚本
- 在目标中添加一个新的 Run Script 阶段
- 在脚本区域包含以下内容
/usr/local/bin/carthage copy-frameworks
- 将框架添加到 输入文件 列表
$(SRCROOT)/Carthage/Build/<platform>/Optimizely.framework
- 将复制的框架的路径添加到输出文件列表
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Optimizely.framework
- 在目标中添加一个新的 Run Script 阶段
关于 Carthage 的进一步安装说明: https://github.com/Carthage/Carthage
功能管理访问
要访问 Optimizely 控制台中的功能管理配置,请联系您的 Optimizely 客户成功经理。
使用 Swift SDK
示例
SDK 初始化和实验的示例代码
let optimizely = OptimizelyClient(sdkKey:"somesdkkey")
optimizely.start{ result in
do {
let variation = try optimizely.activate(experimentKey: "background_experiment", userId: "userId", attributes: ["doubleKey":5])
try optimizely.track(eventKey: "sample_conversion", userId: "userId")
} catch {
print(error)
}
}
请参阅 Optimizely 功能实验的 开发者文档,了解如何设置您的第一个 Swift 项目并使用 SDK。
贡献
请参阅贡献指南。
致谢
一方代码(OptimizelySwiftSDK下版权属于Optimizely, Inc.及其贡献者,许可协议为Apache 2.0。)
附加代码
本软件集成了以下开源项目的代码:
MurmurHash3:https://github.com/jpedrosa/sua/blob/master/Sources/murmurhash3.swift 许可协议(Apache 2.0):https://github.com/jpedrosa/sua/blob/master/LICENSE.txt 转换为Swift4。
SwiftLint:https://github.com/realm/SwiftLint 许可协议(MIT):https://github.com/realm/SwiftLint/blob/master/LICENSE 用于强制执行Swift风格和约定。
其他Optimizely SDKs
-
Flutter - https://github.com/optimizely/optimizely-flutter-sdk
-
JavaScript - https://github.com/optimizely/javascript-sdk