TGViewer
Dolgo.polo Dev | Денис Долгополов Dolgo.polo Dev | Денис Долгополов @dolgo_polo_dev · 2.18K subscribers
Post #122 3.54K
Как открыть URL в нативном приложении

Например, хотите дать возможность крутить казик прямо в вашем блокноте (осуждаю)

Для этого есть 5 вариантов:
• WebView
• GeckoView
• ChromeTabs
• TWA
• внешний браузер



WebView

Это обычная вьюшка, которая встраивается в вашу верстку

Плюсов много:
• можно отобразить хоть в диалоге, хоть на треть экрана
• можно контролировать каждый запрос (есть куча колбеков)
• можно передать любые куки и хедеры (в том числе токены пользователя, чтоб не заставлять пользователя заново авторизовываться)
• можно ограничить список ссылок, которые можно открывать
• можно настроить JS Bridge (вызывать нативный код прямо с сайта)


GeckoView

Это аналог WebView от Firefox

Сам не использовал, ничего сказать не могу. Интуиция подсказывает, что проблем будет больше, чем с WebView. Но API довольно обширное — это плюс. Если кто пользовался, поделитесь опытом/эмоциями, пожалуйста)


ChromeTab

ChromeTab — это Activity браузера Chrome, открытое поверх вашего приложения в вашей Task-e

Из плюсов:
• в ChromeTab доступен весь функционал браузера (кнопка "поделиться", поиск по странице...)
• общее с Chrome хранилище данных о юзере (если открыть ссылку, где юзер раньше авторизовывался, то он сразу окажется в своем аккаунте)
• поддерживает App Links (автоматический редирект в нативное приложение, если оно установлено)

Минусы есть:
• нельзя встроить в верстку
• колбеков практически нет, настройки минимальные
• можно передать только определенные хедеры/куки
• нельзя вытащить куки обратно


TWA (Trusted Web Activities)

Обертка над ChromeTab. Используется для связи PWA (progressive web app) и нативных возможностей приложения. Позволяет опубликовать PWA в Play Market.


Внешний браузер

Тут просто пуляем Intent с Intent.ACTION_VIEW в систему, а система уже находит приложение, которое этот URL может обработать

Из минусов:
• нельзя передать информацию о юзере, ему заново придется авторизовываться
• кнопка "назад" не вернет юзера в приложение, а будет листать сайт и отбрасывать юзера на главную браузера
  • 👍 17
  • 🦄 4
  • 🐳 1
More from @dolgo_polo_dev
  1. Jun 22, 2026Медиалента — то, что пользователь реально ощущает физически: скроллы, зумы, тапы. Любые ми…
  2. Jun 20, 2026👮‍♀️ Как VPN видит трафик всех приложений? технически VPN на андроид — это сервис внутри…
  3. Jun 13, 2026Дуров опять не старается 🍌🍌🍌 Пару месяцев назад команду телеграма ругали за то, что они…
  4. May 24, 2026🧬Может ли VPN ускорить интернет? Интуиция подсказывает — точно нет Добавляется лишний сер…
  5. May 22, 2026кто же знал, что основным выгодополучателем max 📲 окажется habr.com любая статья набирает…
  6. May 6, 2026вы снова не туда воюете сначала все пушили Compose типо верстать в 2 раза быстрее, можно с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →