Из Телеграм не открывается другое приложение

15 апреля команда телеграм предоставила нам возможность разрабатывать веб ботов.

Теперь взаимодействие с ботами стало очень интерактивным, так как мы обладаем возможностью интегрировать в ботов полноценные веб-приложения.

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

Сперва, может показаться, что это не является проблемой, но на самом деле очень легко случайно закрыть веб-окно, так как оно не открывается на весь экран, а чтобы закрыть его, достаточно потянуть его вниз и мы теряем всё предыдущее состояние приложения.

В своём приложении я использую React, mobX и React Router Dom v6. Первое, что приходит в голову, это подписаться на изменение навигации и сохранять последнее значение в localStorage или cookies, я выбрал cookie, с временем жизни 10 минут.

Давайте посмотрим на код. Создаём location-provider.tsx

Как открыть доступ поверх всех окон для различных приложений на андроид 10


import React from «react» import < useLocation, useNavigate >from «react-router-dom» import Cookies from «js-cookie» interface LocationProviderProps < children: React.ReactNode >const LocationProvider: React.FC = (< children >) => < const location = useLocation() const navigate = useNavigate() React.useEffect(() =>< const currentLocation = Cookies.get(«location_app») if (!currentLocation) return navigate(currentLocation) >, []) React.useEffect(() => < const tenMinutes = new Date(new Date().getTime() + 10 * 60 * 1000) Cookies.set(«location_app», location.pathname, < expires: tenMinutes, >) >, [location]) return <> > export default LocationProvider

Импортируем его в App.tsx и оборачиваем наши роуты

import React from «react» import < BrowserRouter, Route, Routes >from «react-router-dom» import LocationProvider from «providers/location-provider» import < AppsPage >from «./pages/apps» import < DevelopersPage >from «./pages/developers» import < FavoritesPage >from «./pages/favorites» import < SearchPage >from «./pages/search» function App() < return ( > /> > /> > /> > /> > /> > /> ) > export default App

Еще по теме:  Как на ноутбуке скрыть архив в Телеграме

Отлично, теперь после закрытия и открытия веб приложения у нас будет открываться последняя страница, но!

Тут есть проблема, это то, что если при открытом приложении перейти на другую страницу через строку ввода URL, нас будет редиректить назад. Но у веб ботов нет адресной строки, значит на этом можно остановиться?

Да, если вам этого достаточно, то это будет работать в веб ботах. Но у вас будут проблемы при открытии вашего веб приложения вне веб ботов, например у вас есть онлайн магазин, вы бы хотели взаимодействовать с ним и в телеграм веб апп и просто как веб приложение доступное по адресу, что тогда?

Думаем дальше, в DOM API у объекта window есть event onbeforeunload , кажется это то, что нам нужно, будем сохранять последний URL перед закрытием веб приложения, пробуем.

Обновим наш location-provider.tsx

import React from «react» import < useLocation, useNavigate >from «react-router-dom» import Cookies from «js-cookie» interface LocationProviderProps < children: React.ReactNode >const LocationProvider: React.FC = (< children >) => < const location = useLocation() const navigate = useNavigate() React.useEffect(() =>< const currentLocation = Cookies.get(«location_app») if (!currentLocation) return navigate(currentLocation) >, []) React.useEffect(() => < window.onbeforeunload = (e: BeforeUnloadEvent) =>< e.preventDefault() const tenMinutes = new Date(new Date().getTime() + 10 * 60 * 1000) Cookies.set(«location_app», location.pathname, < expires: tenMinutes, >) > >, [location]) return <> > export default LocationProvider

Пробуем гулять по приложению через адресную строку, редиректа назад нет, отлично, так же сохраняется ссылка при закрытии вкладки с приложением, то что мы и хотели! Пробуем в телеграм, бац и тут это совсем не работает, почему?

Дело в том, что телеграм открывает браузерное окно в так называемом WebView, я не силен в разработке мобильных приложений, но знаю, что эта штука позволяет открывать браузер внутри мобильных приложений, но у них есть свои ограничения и это как раз одно из них.

Что тогда? Отличным решением будет вернуться к первому варианту, но включить кеширование только для телеграм веб апп. Давайте посмотрим на то, что у нас получилось.

Еще по теме:  Как пробить машину в Telegram

import React from «react» import < useLocation, useNavigate >from «react-router-dom» import Cookies from «js-cookie» interface LocationProviderProps < children: React.ReactNode >const LocationProvider: React.FC = (< children >) => < if (!window.Telegram.WebApp.initData.length) < return <> > else < return > > const LocationProviderInner: React.FC = (< children, >) => < const location = useLocation() const navigate = useNavigate() const redirectToLastPage = () => < const currentLocation = Cookies.get(«location_app») if (!currentLocation) return navigate(currentLocation) >React.useEffect(() => < if (location.key === «default») redirectToLastPage() Cookies.set(«location_app», location.pathname, < expires: new Date(new Date().getTime() + 10 * 60 * 1000), // 10 min >) >, [location.key]) return <> > export default LocationProvider

Теперь у нас кеширование будет работать только в том случае, если приложение запущено из телеграм веб бота.

Источник: habr.com

Как выйти из Телеграмма на компьютере

Выйти из Телеграмма на компьютере можно через настройки программы или через дистанционное завершение сеанса на телефоне. Обычное закрытие программы крестиком свернет приложение, но сеанс останется активным. Как полностью выйти из Телеграм на ПК, читайте в пошаговой инструкции.

Не забывайте выходить из аккаунта Телеграмм, если посторонние имеют доступ к компьютеру. Переписка окажется доступной посторонним, если программа открыта или не установлен пароль на вход в мессенджер.

Как выйти из аккаунта Telegram на ПК

Телеграмм в режиме онлайн отображается в трее. Трей – это правый нижний угол экрана в Windows. Если активных программ много, приложение не видно. Для выхода из мессенджера выполните три простых действия.

1. Нажмите на стрелочку в трее, чтобы открыть список активных программ.

список активных программ в трее

2. Найдите значок Telegram Desktop и щелкните по иконке правой кнопкой мыши.

3. В открывшемся меню выберите пункт «Закрыть Телеграмм».

выход из Telegram

Приложение полностью закроется, перестанут приходить сообщения, и вы получите статус offline.

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

Еще по теме:  Как правильно делать посты в Телеграм

Выход из Телеграмм через настройки

1. В окне с диалогами нажмите на три полоски в левом верхнем углу экрана и откройте меню.

вход в меню мессенджера

2. Перейдите в настройки программы.

переход к настройкам приложения

3. Нажмите на три вертикальные точки рядом с аватаркой и выберите пункт меню «Выйти».

выход из аккаунта через настройки

Если на работе, учебе или дома вы оставили Телеграм на компьютере открытым, и нет доступа к мессенджеру, закройте программу удаленно. Способ работает при использовании одного аккаунта на обоих устройствах.

Как выйти из профиля Телеграмм удаленно

1. Перейдите в настройки мессенджера. Для этого щелкните по иконке в правом нижнем углу на iPhone или выберите пункт меню «Настройки» на Android.

переход к настройкам на iPhone

2. Откройте раздел «Устройства». Здесь отображены все активные сеансы: входы с компьютера, мобильных гаджетов и Телеграмм Веб, если вы пользовались приложением в браузере.

раздел Устройства

3. Щелкните по красной строчке «Завершить все другие сеансы».

выход из приложения на всех устройствах

Неудобство последнего варианта: для входа в аккаунт Телеграм на компьютере потребуется запросить SMS или авторизоваться по QR-коду. Установите пароль на приложение и закрывайте мессенджер первым способом.

Источник: xn—-7sbabola9anna9berb0f7d.xn--p1ai

Не отображаются медиа файлы в Телеграм на Windows

date

12.08.2022

user

itpro

directory

Разное

comments

комментарий 21

Столкнулся со странным глюком десктопного клиента Telegram для Windows. При попытке открыть любой медиа файла (видео/фото) в Телеграм, окно просмотра Media Viewer открывается где-то в фоновом режиме и просмотреть содержимое на экране не удается.

Для решения проблемы нужно открыть настройки Телеграм, перейти в раздел Settings -> Advanced -> Angle Graphics Backend и изменить значение на Direct3D 11 или на Disabled.

Проблема судя по всему возникала из-за использования OpenGL.

просмотрщик telegram не отображает видео и фото

После этого нужно перезапустить клиент Телеграм и проверить, что встроенный медиа просмотрщик теперь отображает фото и видео файлы.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Читайте далее в разделе Разное

page

page

page

Используем удаленный рабочей стол Google Chrome для доступа к компьютерам и поддержки

Источник: winitpro.ru

Рейтинг
( Пока оценок нет )
Загрузка ...