【问题标题】:How can I switch between test, UAT and production servers to which my Android app connects to?如何在我的 Android 应用程序连接到的测试、UAT 和生产服务器之间切换?
【发布时间】:2016-09-22 10:03:32
【问题描述】:

我们正在开发一个 Phonegap 应用程序(这个问题适用于所有移动平台,原生或混合),它需要与一组同样由我们开发的 Web 服务进行交互。

我们将测试、UAT 和生产/实时服务器用于 Web 服务。有时出于实验或调试目的,我们需要我们的移动应用在这些服务器之间切换。

为此,我们必须修改 Web 服务器的 URL,将其从实时服务器切换到测试服务器并重新编译应用程序。我们希望在不重新编译应用程序的情况下进行此切换。有时我们必须重现应用程序与客户的某些场景,因此我们使用这种方法。为了确保准确性,我们不想仅仅为了切换服务器而重新编译代码。

我的技巧是:

  1. 具有可由移动应用程序用户编辑的可配置设置,其中服务器的 URL 可以从实时服务器更改为测试服务器。缺点:我不希望最终用户摆弄这个甚至知道服务器的 URL。为此,我做了一些不可取的冗长解决方法。
  2. 我们可以让应用程序从移动设备文件系统中的已知文本文件中读取 URL,用户可以对其进行编辑以进行切换。同样,即使不明确,上述方法的缺点仍然存在。
  3. 由于我通过 Wi-Fi 连接移动应用程序,我可以在我的路由器设置中重定向目标。但这需要其他部门的合作,如果经常被要求就会失败。
  4. 修改移动设备中的etc/hosts 文件以重新路由目的地。缺点是需要root权限,我还没准备好root。

我的问题: 在这些情况下,我希望移动应用在不重新编译且用户提供输入的情况下切换其服务器的 URL,遵循什么开发策略?

更新: 由于该应用程序可能已发布以供实时使用,因此我无法在服务器上使用重定向,因为它会影响所有用户。对于实时用户同时使用的同一版本的应用程序,我只能为我的团队/测试人员进行重定向。

【问题讨论】:

    标签: android mobile production-environment


    【解决方案1】:

    考虑运行时服务器检查。 使用返回设计的服务器路径(测试、生产、UAT 等)的静态服务器 api

    应用程序在初始化时进行 api 调用。并保留设计的服务器路径以供运行时使用

    【讨论】:

    • 如果测试人员在 UAT 中发现错误并想尝试在生产中重现该错误 - 如何将应用从 UAT 动态重新配置到生产或反之亦然?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    相关资源
    最近更新 更多