
Комментарии 1
Похожая боль была с Telegram Mini App, только не для native handoff, а для переходов между web app, ботом и внешними страницами. Самый неприятный вывод: Telegram Mini App лучше считать не одним WebView, а набором разных рантаймов с разной политикой жестов пользователя, открытия ссылок и возврата обратно.
Для таких flow я бы закладывал не один универсальный deeplink, а матрицу сценариев: платформа, клиент Telegram, источник запуска, ожидаемый fallback и способ повторить действие вручную. Особенно полезно логировать не только факт клика, но и platform/client/version из initData плюс выбранную ветку flow. Потом хотя бы понятно, где ломается логика: в Telegram, браузере, регистрации scheme handler или в native app.
Еще кажется важным держать copy/manual fallback как нестыдный основной сценарий, а не как аварийную кнопку. Если iOS или Linux не открыли схему, пользователь должен за один тап получить токен/ссылку и понятную инструкцию, без ощущения, что он попал в техническую ошибку.
Дисклеймер: я делаю продукт в Telegram Mini App, поэтому смотрю на это через призму onboarding и возврата пользователя. Статья полезная: такие platform-specific детали обычно всплывают слишком поздно, когда уже кажется, что весь основной продукт готов.
Почему custom URI schemes в Telegram Mini Apps ведут себя по-разному на Android, iOS и Desktop