Заставить веб-браузер Messenger не открывать новую вкладку
Можно ли сохранить поток пользователей в веб-представлении мессенджера?
Мой пользовательский поток:
- Кнопка открывает веб-вид
- Пользователь заполняет несколько полей для аутентификации
- Пользователь перенаправлен на оплату - открывается в новой вкладке
- Платежный сайт перенаправляет пользователя обратно на первоначальный хост
По какой-то причине браузеры имеют тенденцию очищать localStorage, что нарушает мой код при окончательном перенаправлении (я сохраняю токен авторизации в localStorage для доступа к бэкенду). Я думаю, что мои проблемы будут решены, если браузер Messenger не откроет новую вкладку.
На мобильных устройствах все работает отлично.
1 ответ
Да, можно запускать веб-просмотры в мессенджере с помощью Messenger Extensions (SDK). Вы должны внести в белый список домены и вернуть параметры заголовка:
X-Frame-Options: ALLOW-FROM https://www.messenger.com/
X-Frame-Options: ALLOW-FROM https://www.facebook.com/
Тем не менее, есть некоторые неподдерживаемые функции для Интернета, которые доступны только для мобильного Messenger:
- webview_height_ratio
- webview_share_button
- Кнопки навигации назад
- Название диалога
- Закрытие веб-просмотра с помощью перенаправления URL
- getUserID()
- платежи
Как вы упомянули сайт оплаты, это все еще может быть проблемой. Более подробную информацию о расширениях Messenger вы можете найти здесь: Документы Facebook Messenger SDK и в этой статье: Веб-просмотры в Messenger.com