Встраивание дискурса в мобильное приложение (Glide)

Привет, ребята,

Скорее всего, это очень простая настройка, которую я упускаю, но сейчас я пытаюсь встроить Discourse в мобильное приложение, которое я создал в Glide (glideapps.com).

Однако при попытке встроить его через компонент WebView появляется сообщение, что у меня нет прав доступа.

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

Спасибо!
Ваутер

Вы можете попробовать добавить в белый список в разделе администрирования >> Настроить >> Встраивание. Однако я не уверен, что именно делает Glide. Discourse может работать отлично в обычном веб-представлении (например, наше собственное приложение DiscourseHub для iOS использует веб-представление).

Хм. Пробовал это, но безрезультатно.

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

Или это не должно быть проблемой?

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

Вы также можете попробовать встроить другие сайты, например Meta или сообщество Glide (которое также работает на Discourse). Если ни один из них не заработает, то проблема точно на стороне Glide (либо баг в Glide, либо ошибка в вашей реализации).

Привет, Пенар,

Да, я сделал именно это. Ни один из них не работал в веб-представлении. Я попробую разобраться в этом вместе с Glide.

Спасибо за обратную связь!

Привет, Пенар,

Я получил от Glide обратную связь о том, почему это не работает.

«Если вы введёте этот URL (https://community.pelvic.app/) в этот инструмент, он покажет, что у сайта есть настройки, запрещающие запуск в iFrame. WebView — это обёртка для iFrame».

Первая часть этого утверждения верна: по умолчанию мы блокируем загрузку сайтов Discourse в iframes. Это защищает ваш сайт от различных рисков, от манипуляций с SEO до кликджекинга (подробнее см. здесь).

Вторая часть, однако, кажется странной: вебвью — это определённо не iframes. Вебвью — это мини-браузеры, которые можно встраивать в мобильные приложения; они функционируют как полноценные браузеры. Еслиrame — это способ загрузки одной веб-страницы внутри другой. Я полагаю, что всё приложение Glide по сути является веб-страницей, поэтому, возможно, они используют iframes внутри вебвью?

У нас есть настройка сайта, которую можно переключить, чтобы разрешить встраивание вашего сайта в iframe, но мы не рекомендуем этого делать, так как при использовании Discourse внутри iframe возникают определённые особенности. Иными словами, мы можем включить возможность встраивания через iframe для вас, но в будущем могут возникнуть проблемы, которые невозможно будет исправить.

Спасибо, Пенар. Возвращаю этот вопрос к Glide и посмотрю, есть ли простое решение.

Привет, Пенар,

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

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

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

К сведению: Glide — это прогрессивное веб-приложение, а не нативное.

Спасибо за помощь.