Мы создаем приложение для платформы iOS и Android, которое зависит от веб-приложения, взаимодействующего через вызовы REST API. Веб-приложение имеет собственный пользовательский интерфейс для определения сущностей и размещено в трех средах для простого управления. test.mydomain.com для командного тестирования разработчиков и разработчиков; uat.mydomain.com для заинтересованных сторон проекта для проверки и mydomain.com для публичных конечных пользователей.
Любые сделанные изменения проходят цикл тестирования-> uat-> live после необходимых проверок и проверок.
Мобильное приложение также поставляется в трех вариантах - тест; UAT; жить. Сборка теста указывает на test.mydomain.com как конечную точку API и загружается на планшеты и телефоны разработчиками и тестерами через развертывание USB. Для uat используется либо testflight, либо его аналог для Android, а для живых - магазины приложений.
Когда отчет об ошибке приходит от общественности, мы хотим воспроизвести его с тестовыми данными, которые разработчики могут свободно размещать на test.mydomain.com. Однако приложение, загруженное из магазина приложений, будет указывать на действующий сервер mydomain.com в качестве конечной точки API. Конечно, мы могли бы взять точную исходную фиксацию для версии приложения, построить и протестировать, но я хотел бы, чтобы конечная точка API изменялась динамически в приложении, чтобы я мог протестировать множество сценариев.
Под словом «динамически» я подразумеваю, что я хочу изменить конечную точку API во время выполнения, например, через меню настроек. Недостатком является то, что это меню не должно быть доступно для обычного конечного пользователя, и я, хотя, чтобы защитить его паролем. Тогда пароль становится универсальным, и чтобы обойти это, мне нужно придумать какую-то другую логику.
Есть ли какая-нибудь лучшая идея о том, как я мог бы динамически / во время выполнения переключать конечную точку API, но в то же время не позволяя конечным пользователям использовать эту функцию? Я думал о решении Android выставить «Настройки разработчика», когда номер сборки нажимается 7 раз. Но хотя бы проверить здесь, прежде чем сделать это.