DynamicAppConfig
针对 Android 开发的者提示:JCenter 计划在 2021 年 5 月关闭。为了缓解这种情况,DynamicAppConfig 库从版本 1.4.1 开始已移至 Maven Central。请确保及时更新到最新版本。
一个有用的库,用于在一个应用程序构建中支持多种构建配置或全局设置。
例如:可以使用包含开发、测试、验收和生产配置的构建选择器制作一个构建。不需要为每个环境提供多个构建进行测试,所有这些都可以从一个构建中完成。
✓ 支持 iOS 和 Android
✓ 轻量级
✓ 无依赖
✓ 预备自动化测试
✓ 支持暗黑模式
✓ 在多个项目中得到验证
功能
- 可以使用 JSON(Android)或 plist 文件(iOS)配置几个应用程序配置
- 内置的应用程序配置选择屏幕
- 编辑应用程序配置以从应用内自定义它们
- 轻松访问当前选定的配置(或最后存储的选择)
- 分离跨越不同配置的全局设置
- 可以编写自定义插件,例如开发工具,通过选择菜单提供访问
- 可以禁用动态配置,以防止它们在分发(App Store)或 Google Play 构建
苹果iOS集成指南
本库可通过CocoaPods获取。要安装它,只需将以下任一行添加到您的Podfile中。
pod "DynamicAppConfig", '~> 1.4.1'
上述版本适用于Swift 5.0。对于旧版的Swift版本,使用以下版本:
- Swift 4.2: DynamicAppConfig 1.3.0
- Swift 4.1: DynamicAppConfig 1.2.0
- 其他Swift版本:老版本的AppConfigSwift库,可在此处找到。
安卓Android集成指南
在使用gradle时,库可以轻松导入到项目的build.gradle文件中。添加以下依赖项:
implementation 'com.crescentflare.dynamicappconfig:DynamicAppConfigLib:1.4.1'
以上适用于Android API级别14及以上。要支持旧版Android版本,请使用老版本的库,可在此处找到。
集成文档
有关如何进一步集成和使用本库的说明,可在wiki上找到。它包含iOS和Android的单独文档。
存储
当编辑现有配置或添加自定义配置时,更改将保存在设备的用户偏好设置(Android)或用户默认值(iOS)中。同时,也在此处存储最后选定的配置和全局设置。这确保了即使在应用程序重新启动的情况下也能记住正确的设置。当安卓应用程序在设备运行内存不足时静默关闭时,也能正确运行。
自动化测试
此库支持使用Espresso(用于Android)和UI测试(用于iOS)进行自动化测试。示例项目演示了如何在自动化测试脚本中修改配置。
安全
由于此库可以给予产品很多控制(通过使其设置可配置),因此需要注意防止任何代码(无论是选择菜单自身,还是像测试服务器和密码这样的JSON/plist配置数据)部署到Google Play或App Store。请查看示例项目获取更多信息。对于发布配置,它会禁用应用配置并在Android上在资产文件夹中放置一个空的配置json(对于该特定配置),或在iOS上仅排除plist文件。
示例
提供的示例展示了如何设置配置模型,定义配置设置并启动配置工具。它还包括了使用全局设置和自定义日志工具的演示。
状态
该库稳定,已在多个项目中使用。未来可能会添加改进。