Заставить веб-браузер 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

Другие вопросы по тегам