首页 > 解决方案 > 在运行时切换移动应用程序中的 API 端点

问题描述

我们正在为 iOS 和 Android 平台构建一个应用程序,该应用程序依赖于通过 REST API 调用进行通信的 Web 应用程序。Web 应用程序有自己的用户界面来定义实体,并托管在三个环境中以便于管理。test.mydomain.com 用于开发和质量保证团队测试;uat.mydomain.com 供项目利益相关者验证,mydomain.com 供公共最终用户使用。

在必要的验证和确认之后,所做的任何更改都会经过 test->uat->live 循环。

该移动应用程序还提供三种口味 - 测试;uat;居住。测试构建指向 test.mydomain.com 作为 API 端点,并由开发人员和测试人员通过 USB 部署加载到平板电脑和手机上。对于 uat,使用 testflight 或其 Android 等价物,而对于实时,则使用应用商店。

当错误报告来自公众时,我们希望使用开发人员可以自由在 test.mydomain.com 中拥有的测试数据来重现它。但是,从应用商店下载的应用将指向实时服务器 mydomain.com 作为其 API 端点。当然,我们可以为应用程序版本、构建和测试获取确切的源提交,但我希望在应用程序中动态更改 API 端点,以便我可以测试许多场景。

动态这个词的意思是我想在运行时更改 API 端点,比如通过设置菜单。缺点是普通最终用户无法访问此菜单,我想用密码保护它。然后密码变得通用并规避我必须想出一些其他逻辑。

关于如何动态/在运行时切换 API 端点,但同时不允许最终用户使用此功能,是否有更好的想法?当构建号被点击 7 次时,我想到了 Android 的解决方案来公开“开发人员设置”。但是,尽管在这样做之前要检查这里。

标签: androidiosapidevelopment-environmentendpoint

解决方案


我们可以通过创建多个方案来动态切换 API 端点,并在每个方案中指定应用程序的端点,以便每次从选择方案中更改应用程序端点,而不是每次手动更改端点


推荐阅读