Выпуск остановлен: как обслуживать две версии приложения
После проблемы обновления владельцу бизнеса нужен ответ на конкретный вопрос: смогут ли клиенты открыть принятый заказ и выполнить следующее действие? Решение по выпуску и решение по обслуживанию требуют разных доказательств. Начните с установленных сборок, нужных операций и фактического ответа сервера.

Сначала уточните механизм магазина
Google Play staged rollout относится к обновлениям. Остановка прекращает дальнейшую выдачу версии в этом выпуске; уже обновившиеся пользователи остаются на ней. Доля распространения сама не увеличивается. Google: staged rollout.
Apple phased release распределяет автоматические обновления за семь дней. При этом любой пользователь может скачать обновление вручную. Паузами можно суммарно использовать 30 дней; продолжение идёт с остановленного дня. Apple: phased release.
Для рабочего разбора отдельно запишите платформу, статус распространения, наблюдаемые сборки и используемый серверный контракт. Контракт здесь означает согласованные поля и смысл ответа. Снимок кабинета магазина подтверждает только свою часть картины. Не подменяйте им проверку клиентского действия и не предполагайте автоматический возврат установленной программы к прежней версии.
Измерьте именно затронутую работу
Дальше рассматривается вымышленный Android-сценарий без реальных устройств и заказчиков. В выбранный момент в контрольной группе зафиксированы 100 установок: 80 используют A10, 20 — A11. За отдельное фиксированное окно A10 создала 10 заказов, A11 — 40. Получилось 50 заказов. Это заданные учебные наблюдения, а не обещание магазина или рыночная статистика.
Доля A11 среди установок: 20 ÷ 100 = 20%. Доля её заказов в данном окне: 40 ÷ 50 = 80%. Поэтому малый размер группы не показывает малую долю операционной работы. Один клиент может создавать несколько заказов; эти доли отвечают на разные вопросы и не требуют равенства.
В учебном сценарии staged rollout остановлен; 20 установленных A11 остаются предметом поддержки.
В реальном разборе запишите границы выборки и времени. Если сборка у части обращений неизвестна, оставьте отдельную группу «не установлено». Не распределяйте её между старыми и новыми по желаемому проценту. Для приоритета полезны виды затронутых действий, а не только число скачиваний.
Постройте матрицу клиент × сервер
Зададим намеренно несовместимые учебные условия. A10 показывает обещанное время выдачи только из поля pickup_at. A11 понимает только pickup_window. Сервер S0 возвращает первое поле, S1 — второе. Каталог, заказ и обещание одинаковы; меняется представление, которое умеет читать программа. Это вымышленный протокол, а не описание SABSUS.
Для проверки предложен переходный Scompat: он выдаёт обе формы с одним согласованным смыслом. Само появление двух названий полей ещё не принимает реализацию: проверяются значения и экранное обещание. В таблице «да» означает только выполнение заданного условия чтения; весь заказ требует дальнейших проверок.
| Сборка | S0: pickup_at | S1: pickup_window | Scompat: обе формы |
|---|---|---|---|
| A10 | Да | Нет | Да, после проверки |
| A11 | Нет | Да | Да, после проверки |
Возврат сервера к S0 помогает A10, но лишает A11 нужного поля. Поэтому поручение «откатить сервер» недостаточно. Техническая команда предлагает проверенное продолжение для обеих поддерживаемых сборок либо явно ограничивает затронутую новую операцию согласованным способом. Для уже принятых заказов нужен отдельный доступный путь.
| S0 | S1 | Scompat | |
|---|---|---|---|
| A10 | Да | Нет | После проверки |
| A11 | Нет | Да |
Вымышленный контракт и отдельные доли установок и заказов.
Проследите один принятый заказ через обновление
Возьмём учебный O318, принятый в A10 до переключения. Покупатель затем открывает его в A11. По нашему заданному правилу подтверждённое обещание — выдача в 16:30 выбранной даты и часового пояса. Новый экран должен сохранить этот смысл; расширение до произвольного интервала нельзя молча считать эквивалентным.
Исполнитель заранее определяет представление обеих форм. Например, контрольная запись содержит одну и ту же точку времени в каждой; это специальное допущение теста, а не универсальный способ преобразования интервала. Добавьте случай, где интервал действительно шире: старая сборка должна получить согласованное поведение или явное ограничение, а не выдуманное точное обещание.
В продолжении через веб или поддержку найдите тот же O318 с разрешённым доступом к записи. Проверьте дату, место, состав и состояние. Не создавайте новый заказ и не предлагайте повторную оплату вместо поиска исходного. Доступность страницы ещё не подтверждает такой маршрут: его проходят на учебной записи до рекомендации клиентам.
Обычная свежая установка не воспроизводит весь случай. Нужна последовательность «принят заказ → изменена сборка → открыт существующий заказ». Отдельно проверьте новое оформление, повторный вход и возвращение после паузы. Сохраняйте ожидаемый и фактический результат, чтобы несовпадение не растворилось в общей отметке «приложение работает».
Дайте поддержке различимые случаи
Для обращения достаточно минимального набора: платформа, сборка, неудавшееся действие, безопасный идентификатор заказа и наблюдаемый результат. Не просите пароль, платёжные реквизиты или полный снимок личной истории. Если версию невозможно определить, оператор следует согласованному пути уточнения, а не угадывает её по внешнему виду.
Разделите «не видно времени», «не найден заказ» и «не удаётся создать новый». Они могут требовать разных ответственных. В инструкции укажите проверенный способ продолжения и ограничения по часам работы. Не обещайте немедленное исправление через магазин, пока нет подтверждённого результата соответствующего процесса.
Закройте инцидент по клиентским результатам
- Обе поддерживаемые сборки проходят чтение принятого заказа и согласованный путь нового оформления.
- Преобразование времени сохраняет обещание; непредставимый случай обработан явно.
- Продолжение открывает исходную запись без второго заказа и повторной оплаты.
- Для неизвестных сборок обозначены пределы проверки и ответственный.
- У переходного решения есть условие завершения и план для оставшихся старых клиентов.
Назначьте дату следующего решения и требуемые свидетельства. Удалять переходный путь по одному календарному сроку рискованно: сначала сопоставьте фактическую поддержку, открытые заказы и согласованные условия. Если один сценарий ещё не проверен, зафиксируйте ограничение именно этого сценария вместо общего объявления о завершении.
Для клиентского приложения SABSUS передайте матрицу и O318 исполнителю. Возможность управлять выпуском, ограничивать операцию, собирать версии и поддерживать переходный контракт проверяется отдельно. Материал не подтверждает наличие таких средств в конкретной конфигурации. Подготовка первого выпуска разобрана в отдельном чек-листе; здесь принимается обслуживание разных установленных сборок.
Источники и продолжение
Первоисточники проверены 17 октября 2026 года. Сборки, серверные контракты, количества и O318 вымышлены. Рабочие приложения и аккаунты магазинов не проверялись; выпуск не менялся.