Incorporar discourse em aplicativo móvel (glide)

Oi pessoal,

Provavelmente é uma configuração muito simples que estou ignorando, mas atualmente estou tentando incorporar o Discourse em um aplicativo móvel que criei no Glide (glideapps.com).

No entanto, quando tento incorporá-lo por meio de um componente WebView, ele diz que não tenho o acesso correto.

Acho que preciso colocar o domínio na lista de permissões, mas não consigo encontrá-lo nas configurações.

Obrigado!
Wouter

Você pode tentar permitir na lista de permissões em admin >> personalizar >> incorporação. Não tenho certeza do que o Glide está fazendo, no entanto, o Discourse pode funcionar perfeitamente em um webview regular (por exemplo, nosso próprio aplicativo DiscourseHub para iOS usa um webview).

2 curtidas

Hmm. Tentei isso, mas sem sucesso.

Apenas para registro. Seria possível que isso tenha algo a ver com eu estar em uma conta de teste e na sua solução hospedada?

Ou isso não deveria ser um problema?

Isso não deveria ser um problema. Acabei de testar seu site no aplicativo DiscourseHub e ele carrega corretamente lá. Isso parece ser um problema do Glide, e vejo que você já abriu um ticket lá, então espero que eles possam ajudar.

Você também pode tentar incorporar outros sites, como o meta, ou a comunidade do Glide (que também roda no Discourse). Se nenhum deles funcionar, então o problema está definitivamente do lado do Glide (seja um bug no Glide ou um problema com a forma como você está implementando isso).

Olá Penar,

Sim, foi exatamente isso que fiz. Nenhum deles funcionou no webview. Vou tentar resolver isso com o Glide.

Obrigado pelo feedback!

1 curtida

Olá Penar,

Recebi um feedback do Glide sobre o motivo pelo qual não está funcionando.

“Se você colocar essa URL (https://community.pelvic.app/) nesta ferramenta, ela indicará que existem configurações que impedem sua execução em um iFrame. O Webview é um wrapper para um iFrame.”

A primeira parte disso está correta: por padrão, bloqueamos o carregamento de sites Discourse em iframes. Isso protege seu site de vários riscos, desde truques de SEO até clickjacking (veja este para mais detalhes).

A segunda parte, porém, é estranha: webviews definitivamente não são iframes. Webviews são mini-navegadores que podem ser incorporados em aplicativos móveis e atuam como um navegador real. Um iframe é uma maneira de carregar uma página da Web dentro de outra. Acho que todo o aplicativo Glide é essencialmente uma página da Web, então talvez eles estejam usando iframes dentro do webview lá?

Temos uma configuração de site que pode ser alterada para permitir que seu site seja incorporado em um iframe, mas não recomendamos fazer isso, e há peculiaridades com o Discourse dentro de um iframe. Em outras palavras, podemos habilitar a incorporação por iframe para você, mas podem surgir problemas irreparáveis no futuro.

3 curtidas

Obrigado, Penar. Trouxe isso de volta ao Glide para ver se há uma solução fácil.

1 curtida

Olá Penar,

Não há necessidade de ativar isso para nós agora. Mas para completar este tópico, para qualquer pessoa que leia isso mais tarde. Este foi o feedback do Glide.

Usamos um iframe para alimentar nosso WebView. Essa é a única maneira de fazer isso funcionar em navegadores web. Ele tem razão ao dizer que muitos sites bloqueiam isso por motivos de segurança, mas é realmente o melhor que podemos fazer na web.

A comunidade do Discourse provavelmente está assumindo a capacidade do WebView de aplicativos nativos, o que, é claro, não podemos usar.

Para registro: o Glide é um aplicativo web progressivo, e não um aplicativo nativo.

Obrigado pela sua ajuda.

3 curtidas