Aplicativo Android não usa mais o navegador dentro do app, abre o site no navegador completo

Por que o aplicativo Android mudou para abrir sites no navegador completo em vez de usar uma visualização de navegador dentro do aplicativo na versão 1.7.1?

Acho que este é o commit, já que ele remove o uso do ChromeCustomTab.

2 curtidas

O aplicativo agora também consegue travar na metade das vezes ao ser iniciado. É possível fazer o downgrade para uma versão anterior?

Lamentamos saber que o aplicativo está travando ao iniciar. Vou investigar isso. Você poderia me informar qual dispositivo está usando e qual versão do Android está instalada?

Como você mesmo apontou, a mudança para usar o navegador padrão em vez do ChromeCustomTab foi feita naquele commit de 2020; ela já deveria estar presente na versão anterior do aplicativo (acho que foi na 1.6.0). Fizemos essa alteração porque o ChromeCustomTab apresentava bugs e exigia que o Chrome estivesse instalado no dispositivo para funcionar. (Muitos usuários reclamavam da exigência do Chrome no aplicativo.)

Samsung Galaxy S9 executando a atualização de segurança do Android 10 de 1º de maio de 2021 (a mais recente disponível). Acredito que a falha ocorre quando o aplicativo fica em segundo plano por um tempo sem ser fechado explicitamente.

O commit data de após o lançamento da versão 1.6.0 (fevereiro de 2020, se https://apkpure.com/discoursehub/com.discourse/versions for confiável). O código removido já tratava de uma falha ao não usar ChromeCustomTab e abrir o link, ou o aplicativo não seria iniciado de forma alguma sem o Chrome instalado?

1 curtida

Obrigado, você está certo. A remoção do ChromeCustomTab foi feita na versão 1.6.2, que nunca chegou à produção (estava apenas no beta). Portanto, efetivamente, essa mudança é nova na 1.7.0. Veja também Discourse Hub doesn't open forums in their PWAs - #12 by md-misko para mais detalhes sobre o motivo da troca. Além de funcionar sem o Chrome, essa mudança também permite iniciar o PWA a partir do DiscourseHub.

Estou prestes a lançar uma versão beta com uma correção para o problema de travamento. Assim que estiver pronta, postarei o link aqui.

1 curtida

Ok, então a solução é instalar PWAs para cada fórum? Não, isso também não funciona; ainda abre a aba no Firefox (embora eu tenha criado o PWA com o Chrome). Preciso dizer que nunca achei a experiência da aba do Chrome lenta, certamente não em comparação com abrir o navegador completo. Voltar ao hub também foi rápido: basta puxar para baixo para revelar o X da aba do Chrome.

Sim, você pode escolher entre usar o PWA ou um navegador. Se não aparecer uma solicitação, você pode redefinir as configurações padrão. Nas configurações do seu Android, pesquise por “abrir links”, localize a URL do seu site e, em seguida, na página dele, clique em “Limpar padrões”. Após isso, ao acessar o DiscourseHub, uma solicitação aparecerá; se você tiver um PWA instalado, ela deve ser semelhante a esta:

Além disso, para o problema de travamento, por favor, tente a versão 1.7.2 no canal de lançamento beta - https://play.google.com/store/apps/details?id=com.discourse

1 curtida

Não tenho uma conta do Google, então não consigo acessar o canal beta (uso o Aurora Store, que parece não ter suporte a isso).

Limpei as configurações padrão do Firefox e agora recebo a solicitação, mas ela mostra apenas navegadores, não o PWA.

E o PWA do Chrome também não me envia notificações. Deixa pra lá, desativar e reativar fez com que uma fosse enviada. Algumas investigações e leituras adicionais em Add to homescreen banner on Android - #62 by Falco indicam que a parte do WebAPK não está funcionando para mim, já que é isso que vincula as intenções para as URLs do site, e não vejo um novo ícone na gaveta de aplicativos ou nas configurações do aplicativo.

1 curtida

Acabei de testar adicionar seu site como um WebAPK no meu celular e funcionou, embora tenha levado um tempo. Testando com outros sites, parece que o servidor de criação de WebAPK do Google está um pouco lento no momento, mas esperar alguns minutos funcionou para mim.

1 curtida

A versão 1.7.2 do aplicativo já está em produção na Google Play Store (não tenho certeza de quão rápido o Aurora Store verá a atualização, no entanto).

A Aurora Store utiliza a Play Store, apenas sem exigir uma conta do Google no seu telefone (ela usa uma conta anônima para obter um token).

O que talvez explique por que o WebAPK não funciona para mim, caso seja necessário que uma conta do Google seja criada nos servidores do Google.

Ou talvez seja porque o Chrome chama a Google Play para instalar o WebAPK chromium/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java at main · chromium/chromium · GitHub, o que exige uma conta do Google.

Portanto, para atender às reclamações dos usuários sobre a instalação do Chrome, vocês removeram o ChromeCustomTab e passaram a adotar um fluxo de trabalho baseado em WebAPKs, que exigem o Chrome (ou o navegador Samsung) e uma conta do Google para funcionar corretamente. Assim, a solução tornou-se menos acessível. Além disso, existe uma maneira de usar a implementação de abas personalizadas do navegador padrão, já que cerca da metade dos meus aplicativos recebe uma versão “Powered by Firefox” em vez da versão do Chrome.

1 curtida

Fiz algumas investigações sobre isso e encontrei o seguinte:

https://git.tt-rss.org/fox/tt-rss-android/src/branch/master/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java#L97

e aqui está uma implementação que usa corretamente as abas personalizadas do Firefox no meu dispositivo:

Então, você poderia re-adicioná-la com essa detecção extra, o que removeria corretamente a dependência do Chrome e tornaria o aplicativo útil novamente?

O problema é que eu gostaria de dar aos usuários uma escolha. Voltar ao CustomTabs (e corrigir a limitação do Chrome) não oferece escolha aos usuários; impõe a guia personalizada o tempo todo. Assim, um usuário que deseja abrir o site no navegador ou em um PWA fica sem alternativas. Não podemos voltar a isso.

No entanto, vou verificar se consigo encontrar uma maneira de adicionar a guia personalizada in-app como uma opção ao lado de navegadores e PWAs. É um pouco complicado, não tenho certeza se é 100% viável, mas vou tentar.

Pode levar um pouco de tempo para eu chegar a essa tarefa, mas avisarei quando tiver uma versão beta testável.

3 curtidas

Consegui um tempo no fim de semana e acabei de lançar uma versão atualizada do aplicativo Android (1.7.3) que permite aos usuários voltar a usar abas personalizadas. Há um novo botão no canto inferior direito da tela que exibe uma tela de configurações onde você pode fazer a troca. Me avise como ficou assim que você conseguir atualizar.

3 curtidas

Não consigo ver o aplicativo atualizado no Google Play. Ele ficou retido para aprovação pelo Google ou algo assim?

1 curtida

Deveria estar lá hoje, desculpe por isso (a interface da Play Store padrão é uma implantação gradual).

Funcionando conforme o esperado: com a configuração ativada, recebo uma aba do Chrome, e com ela desativada, o navegador completo é iniciado. Obrigado pela atualização tão rápida :slightly_smiling_face:

1 curtida

Esta versão corrigiu os travamentos, mas a nova versão 1.7.3 está travando constantemente para mim novamente.

Estou no canal beta; essas versões estão sincronizadas entre o beta e a produção na Play Store?

[edit]: ao definir “abrir sites no navegador integrado”, os sites com PWA ativado ainda abrem como aplicativos separados (o que é esperado), mas os travamentos são menos frequentes (quase nunca ocorrem), enquanto ao desmarcar essa opção, o aplicativo trava toda vez.