“Adicionar à Tela de Início” (A2HS) é um recurso do iOS desde o lançamento original do iPhone. Mas nunca ficou muito claro para os usuários como fazer isso (ou por que alguém deveria).
Em breve no iOS 16.4, o iOS suportará notificações push, mas não para qualquer site. Ele só funciona quando você “instalou” o aplicativo da web como um “app” via A2HS.
Então! Acho que faria sentido o Discourse explicar aos usuários como fazer A2HS e, em seguida, se inscrever para notificações push.
No iOS 16.4, para se inscrever para notificações push, você precisa:
Role para revelar a barra de URL
Toque no botão Compartilhar (sem rótulo) (a caixa com uma seta para cima)
Role a Folha de Compartilhamento para revelar o botão A2HS (e não é nada óbvio que a folha é rolável!)
Toque em “Adicionar à Tela de Início”
Toque no botão “Adicionar” no canto superior direito (preferencialmente sem renomear o aplicativo)
Retorne à sua Tela de Início, encontre o novo ícone do aplicativo que você acabou de criar (que pode estar em uma Tela de Início secundária, então você pode ter que procurá-lo pelo nome, por exemplo, “Meta”) e toque nele
Faça login novamente. (O PWA A2HS não compartilha cookies com o Safari, então se você fizer login com o Facebook, também terá que fazer login com o Facebook do zero, incluindo autenticação de dois fatores e “Confiar Neste Navegador”.)
Toque no banner para se inscrever para notificações push
Isso será extremamente difícil para os usuários descobrirem!
O Discourse deve fornecer um link explicando como fazer A2HS e se inscrever para notificações push, preferencialmente incluindo um tutorial em vídeo mostrando como fazer isso, passo a passo.
Pior ainda, acho que não pode ser apenas um tutorial em vídeo. Muito depende se você está fazendo isso no iPhone ou iPad, se o seu dispositivo tem um botão Home ou não, etc.
Ainda assim, acho que um recurso como este ajudaria muito no onboarding de usuários para notificações push.
Como a Apple desativou o evento beforeinstallprompt, isso é realmente bastante complexo em sua plataforma.
Isso será um problema para todos os web apps, então podemos aprender com o que outros estão fazendo e tentar usar algo que seja familiar para os usuários.
Pessoas ansiosas para começar a promover isso podem experimentar um componente de tema para ajudar seus usuários a encontrar a funcionalidade.
Talvez um passo intermediário para testar as águas seja um componente de tema?
Ele exibe algum tipo de diálogo dispensável que o orienta sobre como fazer isso? Acho que as perguntas em aberto são:
O iOS pode detectar que está em PWA vs. não PWA?
Quais seriam os mecanismos para “lembrar as pessoas de PWA”? (quanto tempo esperar? com que frequência incomodar? Você exige que as pessoas sejam TL1, por exemplo?)
Sim, e já temos um método para isso em sniff-caps.
Já existe um banner no Android que é acionado para TL1+.
Clicar em “não” é persistido no armazenamento local.
O principal problema aqui é que a Apple foi trazida para cá contra a sua vontade, então clicar em “instalar” não acionará uma instalação, mas tudo o que podemos fazer é mostrar um modal com um tutorial de como funciona. Não há consenso na comunidade sobre a aparência do modal.
Essa é uma ideia errônea comum. A flag de recurso “Push API” não faz nada no 16.4. A Push API funciona pronta para uso, habilitada por padrão no iOS 16.4 (mas apenas depois que você A2HS).
(Especulo que a flag de recurso talvez um dia habilite o Web Push diretamente no Safari, sem A2HS, mas esse recurso não existe hoje, então ativar/desativar a flag não faz nada.)
Vá em frente e experimente! Você receberá um push, mesmo com a flag desabilitada.
Não se esqueça de seguir todas as etapas que documentei acima. Toque no PWA A2HS, faça login lá e, em seguida, ative as notificações através do banner. Você deverá receber um push de teste imediatamente.
Como já apuramos em o outro tópico que essa configuração não se refere a Web Push e, na verdade, está em vigor em configurações experimentais desde o iOS 15.4.
Após o PWA ter sido adicionado, os usuários só precisam fazer login novamente e, em seguida, habilitar as notificações de seu perfil dentro do PWA.
Uma área de resistência que tenho aqui é que o aplicativo Discourse Hub ainda é um pouquinho superior ao PWA
Vários sites em um
Notificações push para todos os nossos clientes hospedados
Não é necessário fazer login uma segunda vez devido ao protocolo de transferência de autenticação
Compartilhar link no rodapé em vez de apenas voltar/avançar
Mais fácil de instalar (argumentavelmente)
Dito isso… este é um ótimo progresso, com certeza! É super utilizável
Esse tipo de coisa solidifica que o experimento com o aviso e o ensino barulhentos deve estar em um componente de tema (com um modo opcional para ensinar sobre o hub versus ensinar sobre o pwa). Também me faz pensar se podemos ensinar o Hub apenas a depender de notificações push da web também para auto-hospedado…
Na minha opinião, a única vantagem que o Discourse Hub tem no momento é que é mais fácil de (aprender a) instalar. O Discourse Hub é um aplicativo, e todo mundo sabe como instalar um aplicativo. No Hub, você teria que colar o URL do fórum, mas há uma interface guiando você pelo processo. Enquanto o processo A2HS do iOS é… não detectável. (Daí este tópico!)
“Vários sites em um” é, na verdade, uma desvantagem para o meu gosto. (Mas, se você estiver interessado nisso, agora é possível reescrever o Discourse Hub como um PWA! )
“Notificações push para todos os nossos clientes hospedados” se aplica igualmente ao Web Push, certo? E mesmo clientes não hospedados recebem push instantâneo com o Web Push do iOS 16.4, enquanto quando eu adicionava fóruns não hospedados ao Discourse Hub do iOS, ele tinha que verificar periodicamente meus fóruns não hospedados, introduzindo atrasos.
“Não há necessidade de fazer login uma segunda vez”… Eu apenas uso “Entrar com a Apple” e diria que a experiência é igualmente boa para o Web Push A2HS como era no Discourse Hub. Eu clico em Login, a Apple escaneia meu rosto e eu entro.
“Compartilhar link no rodapé” Tenho certeza de que nunca usei isso!
Sim, mais ou menos, perderíamos um pouco do “chrome”, a “colapsar” para a visualização de tudo (triângulo para baixo) teria que ser implementada em outro lugar. Acho que você não tem controle sobre os botões no rodapé?
Além disso, isso é uma caixa de Pandora, pois precisaríamos verificar quais sites permitimos no “web hub” e quais não são permitidos, o que introduzirá trabalho regular, dado que existem mais de 37 mil sites por aí.
Sim… idealmente, a Apple nos daria APIs apenas para usar o push da web de aplicativos, para que não dependêssemos mais de sermos um árbitro de notificações.
Na verdade, estamos parcialmente bloqueados aqui até que alteremos algumas coisas de autenticação internas. Se você tiver o 2fa ativado, não poderá usar a autenticação de terceiros. Não permitimos ambos e internamente temos uma política de que todas as contas de funcionários têm 2fa ativado tanto no dev quanto no meta. Mudaremos isso… mas não esta semana.
Lançamos um componente de tema oficial hoje que será exibido para usuários iOS no iPhone ou iPad, incentivando-os a instalar o Fórum em sua tela inicial como um PWA.
Continuei a conversa no tópico do componente de tema. Concordo que parece mais sensato que o texto padrão mencione que o A2HS é necessário para notificações push.