2016-09-22 2 views
0

Мы разрабатываем приложение Phonegap (эта проблема применима для всех мобильных платформ, родных или гибридных), которые должны взаимодействовать с набором веб-сервисов, которые также были разработаны нами.Как я могу переключаться между тестовыми, UAT и производственными серверами, к которым подключается приложение для Android?

Мы используем тестовые, UAT и производственные/серверы для веб-сервисов. Время от времени для экспериментальных или для отладочных целей нам нужно, чтобы наше мобильное приложение переключалось между этими серверами.

Для этого мы должны изменить URL-адрес веб-серверов, переключив его с сервера live на тестовый сервер и перекомпилируйте приложение. Мы хотим сделать это без перекомпиляции приложения. Время от времени мы должны воспроизводить определенные сценарии, связанные с приложением с клиентом, и поэтому мы используем этот подход. Для обеспечения точности мы не хотим перекомпилировать код только для переключения серверов.

Трюков, что у меня есть следующие:

  1. Есть настраиваемый параметр, который может быть отредактирован пользователем мобильного приложения, где URL сервера может быть изменен с живого на тестовый сервер. Недостаток: я не хочу, чтобы конечные пользователи возились с этим или даже знали URL сервера. Для этого я делаю длительные обходные пути, которые нежелательны.
  2. У нас может быть приложение, просматривающее URL-адрес из известного текстового файла из файловой системы мобильного телефона, которое пользователь может редактировать для переключения. Опять же, хотя и не явный, недостатки вышеуказанного метода все еще присутствуют.
  3. Поскольку я подключаю мобильное приложение через Wi-Fi, я могу перенаправить цель в настройку маршрутизатора. Но для этого требуется сотрудничество с другими отделами, и он будет терпеть неудачу, если его часто просят.
  4. Изменение файла etc/hosts на мобильном телефоне для перенаправления адресата. Недостаток требует привилегий root, и я еще не готов к запуску.

Мой вопрос: Какова стратегия развития, которая следует в таких ситуациях, когда я хочу, мобильное приложение для переключения URL своего сервера без перекомпиляции и пользователь обеспечивая ввод?

Update: Поскольку приложение может быть выпущен для живого использования, я не могу играть с переадресацией на сервере, как это будет влиять на всех пользователей. У меня есть перенаправление, которое произойдет только для моей команды/тестировщиков для той же версии приложения, которая используется одновременно с живыми пользователями.

ответ

0

Рассмотрите проверку сервера времени выполнения. Используйте статический сервер api, который возвращает запрошенный путь сервера (тест, производство, UAT и т. Д.)

Приложение в init делает этот вызов api. И сохраните разработанный путь сервера для использования во время работы