Closed ricardopoppi closed 6 years ago
@ricardopoppi estávamos pensando na implementação desta feature e explorando as possibilidades. Definimos que a melhor abordagem seria toda vez que a pessoa passa pelo inbox puxarmos as notificações e assim atualizar o número abaixo com a quantidade. Pelo que entendemos as notificações de fato vao aparecer apenas pelo push, e de não terão uma forma de exibição dentro do app, confere?
opa @danielhmarinho pontos pra gente ponderar: (1) todas as notificações vem via push mas também refletem na inbox (2) se adotarmos essa abordagem, fiquei pensando que pode gerar inconsistencias, pois se eu recebi dois pushes e não fui na inbox ainda, meu "sininho" estará zerado.
O que acha?
@ricardopoppi (1) esse ponto vai ocorrer mesmo, todas vao vir pelo push e vao estar la na pagina de notificações. Só quis dizer que não vai existir um card por exemplo mostrando a notificação, apenas o push mesmo. (2) ai teriamos um problema, pq a gente teria que ficar fazendo requisições o tempo todo da pagina pra saber se atualizou as notificações ou em um caso mais extremo um socket só pra ver isso. Talvez possamos burlar isso fazendo requisições nos momentos que sabemos que podem ocorrer push. Ex: Ao finalizar uma missão, ao entrar na mesma(a notificação de conversation). Os alertas gerias e criaçãod e missão podem vir quando ele acessa o inbox. O que acha?
@danielhmarinho massa, #tmj no (1)
sobre o (2) gostei! como o push já resolve o desafio de realtime, essa inteligencia de fazer a leitura nesses momentos chave minimiza bem os casos de eventuais "inconsistências"! mto bom. Sistematizando então os momentos em que a leitura poderia acontecer: (i) finalizar missão (pode ter trofeu) (ii) entrar em missão (pode ter push de conversation) (iii) entrar no inbox (pode ter nova missão no app) (iv) entrar em minhas missões (posso estar querendo saber o que fazer e pode ter nova missão) (v) entrar no perfil (posso estar querendo ver os troféus)
Sistematizei suas sugestões e incluí mais duas pra sua avaliação.
@ricardopoppi acho que esses são os pontos cruciais onde podem acontecer push. Enquanto desenvolvo vou pensando se existe mais algum ponto e qualquer coisa menciono aqui!
@luizapeixe preciso dos svgs dos icones desta página de notificações. Você poderia subir?
subi lá, @danielhmarinho -> https://drive.google.com/drive/folders/1_-5zo9m7dRiGfLML5ZInQOgJnqomBaIV?usp=sharing
são todos o assets que começão com icon_alerts-(...).svg
@parrahenri @luizapeixe ainda precisamos responder a pergunta do escopo extra no corpo da issue sobre as notificações de novas frases: "quando essas notificações de comentários para opinar devem ser enviadas? podemos especificar como uma opção para o admin da missão enviar apenas para aqueles que aceitaram ou concluíram a missão?"
a duvida é quando os usuários receberão novas frases criadas pra uma missão independentemente da autoria desses comentários, é isso?
Acho melhor começarmos com comentários do admin. O admin pode selecionar SEU comentário (que é atrelado a alguma missão) E clicar para gerar notificação pra todos responderem. Cada comentário do ADMIN só pode ser "pushado" uma vez
Que acha dessa regra?
Blz, acho que disparo manual vía admin a melhor opção mesmo. Só que será por uma via diferente da msg aberta de admin, pois essa msg precisa disparar o gatilho das frases. Vou orientar assim.
--
Ricardo Poppi Whatsapp/Telegram: +55 61 9 9531 9531 Skype: rpoppi77 www.instituto.cidadedemocratica.org.br http://www.cidadedemocratica.org.br
@danielhmarinho atualizei o corpo da issue com as especificações das notificações para opinar nos comentários da missão:
"Implementar notificações de comentários para opinar. Essas notificações são disparadas pelo admin, por missão, para todos os usuários que aceitaram ou concluíram a missão. O local de disparo pode ser o admin de msgs, onde o admin escolhe a missão. O texto padrão para essa notificação fica um pouquinho diferente do que está nos wireframes, sendo: "Há opiniões disponíveis na missão NOME DA MISSÃO. Vote agora mesmo!""
@ricardopoppi finalizando os detalhes da tela de notificações e pensei na possibilidade ativar ou desativar notificações de um tipo diretamente pela notificação. é uma feature realmente necessária? Temos um painel com configurações pra que ele possa fazer esses ajustes. Além de ter uma complexidade grande para ser feito nós teríamos que atualizar as notificações do usuário na mesma hora que ele selecionasse essa opção, para que não tivesse inconsistência nos outros cards de notificação, o que poderia causar estranheza ao usuário.
@danielhmarinho essa opção de desativar notificações se refere apenas ao push e não afeta a exibição da notificação no inbox de notificações. Mais ou menos como o facebook faz. Do texto no corpo da issue:
"A opção "desativar notificações" abrange a categoria de notificações. Essa desativação apenas inibe o recebimento do push pelo usuário, mas a notificação segue sendo gravada e exibida normalmente na inbox de notificações;"
Isso afeta de que maneira sua pergunta?
@ricardopoppi não muda muito o contexto. Pq quando a pessoa apertar la eu vou ter que redesenhar os cards de notificação de qualquer maneira pra refletir a requisição. Só estou achando meio redundante existir essa opção e um painel ainda pra remover. De nenhuma forma então o usuário vai remover as notificações do inbox? Outro ponto que surgiu foi aquela conversa sobre a pessoa entrar na pagina e as notificações do tipo trofeu ou admin ja serem dadas como lidas. O que tenho percebido dos aplicativos no geral é que independente da notificação a pessoa tem que clicar nle apra ela sumir. O que podemos fazer nesse caso é nao redirecionar a pessoa para o trofeu por exemplo. O que acha?
@danielhmarinho, respondendo: "De nenhuma forma então o usuário vai remover as notificações do inbox?" Isso, o inbox sempre tem todas.
Sobre o controle de leitura das notificações, me parece que o que faz mais sentido é que o status de leitura da API (onesignal, por exemplo) se reflita de alguma maneira na inbox. Ou seja, sempre que um usuário clicar no push, o status de leitura se reflita na inbox. Se ele não clicou, ela continua como não lida lá. Além disso, o ideal seria que o push de nova missão levasse para a missão e o de troféu levasse para a galeria (que foi desenhada para instigar os usuários a querer ganhar novos trofeus). Assim como o push de votação leva pra interna da missão com a modal de opinião e o push de admin leva para o link que o admin inserir no momento do envio. Acho que assim fica padronizada a interação o que acha?
@ricardopoppi Lendo todos esses pontos achos que temos um padrão sim! Minha única duvida ainda é quando determinar que a notificação foi lida pelo inbox (alem do fator push). Posso padronizar pra que todas elas sejam através do click? (retirando aquela parte de que só do usuário entrar na página as notificações de admin e de troféu seriam dadas como lidas) ou continuamos ainda com esse comportamento?
E acabamos não decidindo se aquele ponto de em cada notificação ter a possibilidade de desativar o push ou não. Como disse é algo complexo de fazer e na minha visão fica um pouco redundante com o painel
Ah perfeito:
1) sobre a determinação da notificação lida, creio que padronizar pelo click, via push OU inbox resolve sim. Por mim tá decidido. Não precisamos implementar aquela parte das notificações dadas como lidas da versão inicial pois acho que ficou sem sentido mesmo)
2) sobre desativar o push em cada notificação, acho que é uma feature importante pois permite ao usuário desativar mais facilmente, mesmo que redundante com o painel. Foi pensada pra gente evitar perder usuários por excesso de notificações. Porém, peço sua avaliação, se for atrasar muito, podemos colocar isso como escopo extra e retomar somente após o painel entrar em produção. O que acha?
fechando essa. a única coisa que ficou faltando do escopo das notificações é a implementação da api do push, que tem issue específica #94
[x] Criar a "inbox" de notificações/alertas. Wireframe da inbox. Características dessa inbox dentro do escopo mínimo do planejamento de fase 2:
[x] Implementar a tela de configurações das notificações permitindo habilitar/desabilitar e permitindo acesso aos dados pessoais pela campanha
[x] Escopo extra: