此仓库包含 Swift SDK,用于 Optimizely Feature Experimentation 和 Optimizely Full Stack (legacy),适用于移动设备和 OTT。
Optimizely Feature Experimentation 是一款 A/B 测试和功能管理工具,专为产品开发团队设计,使您能够在每个阶段进行实验。使用 Optimizely Feature Experimentation 可以让您 roadmap 上的每个功能都成为发现隐藏洞察的机会。请访问 Optimizely.com 了解更多信息,或查看开发者文档。
Optimizely Rollouts 是面向开发团队的免费功能标志。您可以轻松地在任何应用程序中推出和回滚功能,而无需代码部署,从而降低 roadmap 上每个功能的风险。
请参阅 Swift SDK 开发者文档,获取有关开始使用 SDK 的详细说明。
请注意,以下 <platform> 用于表示您构建应用程序的平台。目前,我们支持 iOS
、tvOS
和 watchOS
平台。
在 Xcode
中使用 Swift Package Manager 添加 Optimizely Swift SDK 的依赖项
File
-> Swift Packages
-> Add Package Dependency
https://github.com/optimizely/swift-sdk
。Version: 'Up to Next Major'
)。如果您在将 Optimizely swift-sdk 依赖项添加到 Xcode 时与其他 swift 包发生名称冲突,您也可以尝试使用其别名仓库:“https://github.com/optimizely/optimizely-swift-sdk.git”。
use_frameworks!
pod 'OptimizelySwiftSDK', '~> 5.1.0'
pod install
关于 Cocoapods 的更多安装说明:https://guides.cocoapods.org.cn/using/getting-started.html
将以下行添加到 Cartfile
github "optimizely/swift-sdk" ~> 4.1.0
运行以下命令
carthage update
将 frameworks 链接到您的项目。转到您的项目目标的 Link Binary With Libraries,并从 Carthage/Build/<platform> 文件夹中拖入以下内容
Optimizely.framework
为确保在归档您的应用程序时复制正确的 bitcode 相关文件和 dSYM,您需要安装 Carthage 构建脚本
/usr/local/bin/carthage copy-frameworks
$(SRCROOT)/Carthage/Build/<platform>/Optimizely.framework
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Optimizely.framework
关于 Carthage 的更多安装说明:https://github.com/Carthage/Carthage
要访问 Optimizely 仪表板中的功能管理配置,请联系您的 Optimizely 客户成功经理。
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 Feature Experimentation 开发者文档,了解如何设置您的第一个 Swift 项目并使用 SDK。
请参阅 CONTRIBUTING。
第一方代码(在 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 风格和约定。
Flutter - https://github.com/optimizely/optimizely-flutter-sdk
JavaScript - https://github.com/optimizely/javascript-sdk