Testes e Resultados no Projeto Finalizado - YouTuber Android App - Parte 13

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

Email inválido.
Blog /Android /Testes e Resultados no Projeto Finalizado - YouTuber Android App - Parte 13

Testes e Resultados no Projeto Finalizado - YouTuber Android App - Parte 13

Vinícius Thiengo
(2211)
Go-ahead
"O método consciente de tentativa e erro é mais bem-sucedido que o planejamento de um gênio isolado."
Peter Skillman
Prototipagem Android
Capa do curso Prototipagem Profissional de Aplicativos
TítuloAndroid: Prototipagem Profissional de Aplicativos
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
Acessar Curso
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Lendo
TítuloTest-Driven Development: Teste e Design no Mundo Real
CategoriaEngenharia de Software
Autor(es)Mauricio Aniche
EditoraCasa do Código
Edição1
Ano2012
Páginas194
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
Email inválido

Tudo bem?

Neste artigo vamos continuar com o projeto de aplicativo Android para YouTubers.

Porém nesta parte 13 vamos na verdade testar todas as telas e funcionalidades do app. Até porque o algoritmo do primeiro release foi todo finalizado.

Já lhe adianto que será preciso uma atenção especial nos testes de envio de notificações push ao app, pois um modelo bem restrito de preenchimento de notificação no Dashboard OneSignal deverá ser seguido.

Antes de prosseguir, saiba que:

A versão e-book (PDF 📙) do projeto completo está disponível somente para os inscritos da lista de e-mails 📧 do Blog.

Se você se inscrever ainda hoje é possível que o link do e-book esteja disponível na página de confirmação de sua inscrição na lista de e-mails do Blog.

A seguir os tópicos que estaremos abordando em mais este conteúdo do projeto de aplicativo Android para YouTubers:

O que já temos até aqui

Se você chegou no projeto somente agora, saiba que este não é o primeiro e nem mesmo o último artigo já publicado sobre essa proposta de aplicativo Android.

Todo o roteiro de construção do projeto está na listagem a seguir:

Para tirar o máximo proveito do projeto de aplicativo que foi desenvolvido... para isso é inteligente seguir cada um dos conteúdos na ordem apresentada na lista anterior.

Repositório

Para ter acesso a todos os códigos fontes do projeto já finalizado, entre no repositório GitHub dele em:

➙ GitHub do projeto de aplicativo Android para YouTuber.

Testes guiados

Antes de executar o aplicativo siga os passos:

  • Acesse o menu de topo do Android Studio;
  • Vá em "Build" e logo depois clique em "Clean Project";
  • Ao final do clean vá em "Build" novamente e agora clique em "Rebuild Project".

Agora sim execute o aplicativo em seu aparelho real de testes ou no emulador.

Aqui seremos bem práticos. Pois este já é o 13º conteúdo de todo o projeto e não queremos que fique ainda mais exaustivo.

Último vídeo

Primeiro os testes da tela de "Último vídeo" liberado em canal.

Abrindo no YouTube

Primeiro no app oficial do YouTube:

Abrindo o vídeo no app Android oficial do YouTube

Agora no site oficial do YouTube via navegador mobile:

Abrindo o vídeo no site oficial do YouTube

Novo conteúdo via swipe

Aplicando o movimento de swipe em tela, temos:

Aplicando o movimento de swipe em tela de 'último vídeo'

PlayLists

Agora a tela com PlayLists.

Abrindo no YouTube

Iniciando o teste no app oficial do YouTube:

Abrindo a PlayList no app Android oficial do YouTube

Assim no site oficial do YouTube via navegador mobile:

Abrindo a PlayList no site oficial do YouTube

Novo conteúdo via swipe

Agora aplicando o movimento de swipe em tela, temos:

Aplicando o movimento de swipe em tela de PlayLists

Redes sociais (sites)

Para as redes sociais, sites e todos os outros testes de telas que não envolvem notificações push ou dados carregados de servidores remotos...

... para esses precisaremos apenas verificar se:

  • Ou o app oficial é acionado;
  • Ou o app navegador mobile é aberto com o site correto.

Já lhe adianto que aqui nos nossos testes quase todos os resultados serão com a abertura dos sites oficiais via navegador mobile. Pois o ambiente de testes não tem todos aplicativos oficiais instalados.

Vamos iniciar com a tela de redes.

Com está tela aberta e acionando alguma opção, temos:

Abrindo a conta de usuário correta no site oficial do GitHub

Grupos exclusivos

Com a área de grupos aberta e acionando alguma opção, temos:

Abrindo o convite de grupo correto no site oficial do WhatsApp

Livros

Com a área de livros do autor do canal aberta e acionando alguma opção, temos:

Abrindo o livro no site oficial dele

Cursos

Com a área de cursos do canal aberta e acionando alguma opção, temos:

Abrindo o curso no site oficial da Udemy

Contatos comerciais

Com a área de contatos comerciais aberta e acionando alguma opção, temos:

Abrindo o contato comercial no app oficial do Gmail

Aqui também é possível utilizar Mapas de Alta Qualidade para endereços físicos.

Certamente eu recomendo essa postura em app caso haja locais físicos. Pois é algo que agrega ainda mais valor ao projeto com algumas poucas 5-6 linhas de código a mais.

Sobre o canal

Por fim, a mais simples das telas que não consomem dados de servidor remoto. A tela Sobre o canal:

Tela Sobre do canal YouTube vinculado ao app

Modelo de notificação no OneSignal

Aqui vamos primeiro entender como as notificações deverão ser criadas para que quando entregues ao app o resultado seja como definido em protótipo estático.

Primeiro, entre em sua conta OneSignal, login.

Criando um template de notificação

A partir da área de apps no Dashboard OneSignal, siga:

  • Clique no App criado na fase de vinculação do OneSignal ao projeto;

Área de apps no Dashboard OneSignal

  • Clique em "New Push";

Área de mensagens de app no OneSignal

  • Na próxima tela clique em "Templates";

Acessando a área de templates de mensagens no OneSignal

  • Na tela seguinte clique em "NEW PUSH TEMPLATE";

Acessando a área de criação de um novo template de mensagem push no OneSignal

Na próxima tela, "New Message Template", siga o preenchimento dos formulários como a seguir:

  • No formulário "Name":
    • No campo "TEMPLATE NAME (REQUIRED)" coloque o valor "Novo vídeo no canal".

Definindo o nome do novo template

  • No formulário "Message":
    • No campo "TITLE" coloque o valor "Novo vídeo no canal";
    • No campo "MESSAGE" coloque o valor "Acabei de liberar um novo vídeo no canal."

Definindo os título e mensagem padrão de notificação em novo template

  • Em "Platform Settings", no formulário "Send to Google Android" (deixe ele ativado):
    • No campo "CATEGORY" selecione a opção "(Created In App)";
    • No campo "LOCAL CHANNEL ID" coloque o valor "new_channel_video".

Definindo a categoria e o channel id da classificação de notificação no novo template

  • Em "Advanced Settings", no formulário "ADDITIONAL DATA":
    • Adicione o campo "video";
    • Adicione o campo "title";
    • Adicione o campo "description".

Definindo os campos necessários em notificação do novo template

  • No formulário "PRIORITY":
    • Selecione a opção "High".

Definindo que a notificação de novo template é uma de alta prioridade

  • No formulário "TIME TO LIVE":
    • No único campo deste formulário coloque um valor em segundos que pode ser de até três dias (este é o valor padrão). Não recomendo menos do que uma hora. Para o canal Vinícius Thiengo utilizaremos o valor de um dia, ou seja, 86400 segundos. Coloque este 86400 no campo do formulário.

Definindo o tempo de vida push message no servidor de notificações do Google (FCM)

  • Em "Schedule":
    • No formulário "DELIVERY" mantenha a opção "Begin sending immediately" selecionada;
    • No formulário "PER-USER OPTIMIZATION" mantenha a opção "Send immediately" selecionada.

Definindo como enviar e com que otimização de envio a notificação do novo template deve ser criada

  • Por fim, clique em "SAVE".

Agora temos um template que vai facilitar consideravelmente o momento de criar uma nova notificação.

Note que dos campos que preenchemos no momento da criação do template, desses campos somente um formulário não pode ser mudado em nada.

Exatamente o formulário "ADDITIONAL DATA", com os campos "video", "title" e "description". Campos que representam respectivamente os dados de URL, título e descrição de um novo vídeo.

Esses campos não podem ser alterados, pois na configuração atual do aplicativo a notificação somente será criada em bandeja de notificações Android se houverem pelo menos os campos "video" e "title" preenchidos em notificação.

O campo "description" é sempre opcional.

Outro ponto importante:

Todos esses campos de template foram preenchidos para aumentar a probabilidade de entrega de cada notificação a todos os aparelhos que têm o app do canal instalado.

É isso. Vamos criar a primeira notificação.

Criando notificações

A partir da área de apps no Dashboard OneSignal, siga:

  • Clique no App criado na fase de vinculação do OneSignal ao projeto;
  • Clique em "New Push";
  • Na próxima tela clique em "Templates";
  • No template de notificação que foi criado anteriormente, clique em "OPTIONS" e logo depois em "New Message";

Selecionando template para nova notificação push

  • Com o template aberto, vá direto ao formulário "ADDITIONAL DATA" e coloque os dados de um novo vídeo ao menos nos campos "video" e "title";

Definindo os valores dos campos video, title e description de uma nova notificação push

  • Ao final do template clique em "CONFIRM";
  • Por fim, na caixa de diálogo que surgir, clique em "SEND MESSAGE".

Confirmação de nova notificação push via Dashboard OneSignal

O roteiro desta seção, "Criando notificações", é o exato mesmo roteiro que você ou o seu cliente YouTuber deverá seguir quando quiser informar aos usuários do app sobre um novo vídeo no canal.

No caso de ser um cliente seu, recomendo que você faça dois pequenos vídeos para ele:

  • Um mostrando como criar o template;
  • Outro mostrando como criar uma nova notificação partindo do template.

Facilite as coisas para o cliente 😁.

Os dois tipos de vídeos recomendados anteriormente, juntos, possivelmente não terão mais do que um 1 minuto e 30 segundos.

Testando as notificações

A criação de cada notificação em Dashboard OneSignal será omitida aqui.

Mas o processo é exatamente o mesmo apresentado na seção Criando notificações.

Aplicativo aberto

Enviando uma nova notificação com o app aberto:

Notificação push sendo entregue ao app enquanto o aplicativo está em foreground

Aplicativo fechado

Enviando uma nova notificação com o app fechado:

Notificação push sendo entregue ao app enquanto o aplicativo está em background

Note que se o aplicativo não estiver nem mesmo na pilha de apps em background...

... neste caso é possível que o Firebase Cloud Messaging (FCM), em poucos aparelhos específicos, não entregue a notificação em alguns momentos.

Infelizmente até o momento da construção do primeiro release deste nosso projeto nós não tínhamos controle sobre isso:

Se o FCM vai ou não entregar todas as notificações aos aparelhos com o nosso aplicativo instalado.

Mas o sistema OneSignal, com maestria, entrega todas as mensagens ao FCM... depois é com ele!

Então é isso.

Testes finalizados.

Assinatura do aplicativo

Provavelmente este é um ponto que você estava esperando no conteúdo do projeto, certo?

Mas felizmente a documentação oficial tem um passo a passo completo, e em português, mostrando qual a melhor maneira e como assinar qualquer aplicativo Android e assim disponibiliza-lo na Google Play Store.

Vou deixar essa parte com a documentação oficial, basta acessar o link a seguir:

➙ Assinar o app Android.

De qualquer forma, vou deixar algumas poucas dicas finais em relação a assinatura do aplicativo:

  • Aplique ofuscação Proguard no código para dar o mínimo de segurança aos fontes dele;
  • Se o aplicativo for assinado sem utilizar a chave do Google (algo comum), então não deixe de colocar o arquivo keystore gerado em algum lugar de fácil acesso e que não possa ser perdido. Esse arquivo será essencial para as novas versões do app;
  • Preferencialmente coloque o aplicativo na conta do cliente (YouTuber) na Play Store. Pois caso futuramente ele queira o app na conta dele, mas o app estava na sua... então ele começará do zero em termos de "usuários com o aplicativo instalado";
  • Com o aplicativo ficando ou não na conta Play Store do YouTuber cliente, se o acordo (contrato) não for um acordo de aluguel de serviço, então não deixe de enviar ao cliente todo o projeto (código fonte) a ele.

Já é possível nos próximos releases

Com o app finalizado... na verdade nós finalizamos o primeiro release.

E se você chegou até este ponto acompanhando cada trecho de código do projeto você certamente deve ter percebido scripts que podem ser melhorados.

Alguns desses trechos são óbvios e eu confesso que muito devido ao tempo para liberar logo o projeto eu os deixei como estão.

Então o que eu achei como óbvio que já pode ser adicionado (ou removido) nos próximos releases vou deixar a seguir:

➙ Funcionando também em landscape

Neste primeiro release o app funciona somente em portrait, na vertical. Mas é "pouco elegante" tirar do usuário a possibilidade de utilizar o aplicativo Android também em landscape, na horizontal.

Sendo assim, já em um próximo release é prudente ter toda a configuração de funcionamento também em landscape.

ViewPager no conteúdo

É possível melhorar o modo de navegação do menu principal adicionando os fragmentos dentro de um ViewPager.

Desta forma o movimento de swipe lateral vai permitir ao usuário navegar pelas telas não somente com um toque em opção de menu.

Utilizar o MVVM ou o MVP

Passar a utilizar algum padrão de arquitetura bem aceito pela comunidade de desenvolvedores Android, para melhor separar os conceitos e facilitar ainda mais a manutenção de todo o projeto.

Apesar de hoje o código estar todo auto-comentado e fisicamente bem divido (organização dos pacotes), nenhum padrão de arquitetura está sendo utilizado, algo comum e apreciável hoje na industria mobile, Android.

O MVVM tende a ser a melhor opção, pois é o padrão apresentado na documentação oficial Android junto com os componentes de arquitetura nativos da plataforma.

Mas a própria documentação oficial deixa claro que o MVVM não é o melhor padrão, é apenas mais um padrão de arquitetura.

 Utilizar inúmeras chaves de API

Para o problema de limite baixo da YouTube Data API é possível criar um algoritmo que faz uso de inúmeras chaves de API.

Desta forma, se uma chave falhar devido ao limite já alcançado, o algoritmo simplesmente troca de chave e tenta a requisição backend com a próxima.

Mas já tenha em mente que é provável que dezenas de chaves sejam necessárias por projeto de aplicativo.

Porém a consistência de dados atuais em app será bem maior do que quando utilizando apenas uma chave de desenvolvedor Google.

É isso.

Próximo conteúdo

Com os testes, os resultados e a apresentação de dicas para assinatura de app Android e códigos de próximos releases.

Com isso, podemos então partir para um dos pontos mais esperados de todo o projeto de aplicativo: colocar um outro canal em app.

Segue o link para acesso ao próximo conteúdo:

➙ Nós Temos Um Framework Em Mãos - Parte 14.

Já quero lhe parabenizar se você chegou até aqui seguindo o passo a passo de cada conteúdo.

Esse é um comportamento "fora da curva" e que mostra que você está sim preocupado em aumentar a sua performance como desenvolvedor profissional Android.

Então é isso.

Descanse um pouco 🎭 🐶. Tome um café ☕ 🥯 🥛. E...

... te vejo na Parte 14 do projeto.

Se houverem dúvidas ou dicas deste 13º conteúdo do aplicativo, então deixe nos comentários que logo eu lhe respondo.

Não esqueça de conhecer também o meu canal no YouTube (caso você ainda não conheça) e...

... não deixe de se inscrever na 📩 lista de e-mails para também garantir a versão em PDF não somente deste projeto de aplicativo Android, mas também de cada novo "conteúdo mini-curso".

Abraço.

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
Email inválido

Relacionado

Lottie API Para Animações no AndroidLottie API Para Animações no AndroidAndroid
Android About Page API Para Construir a Tela SobreAndroid About Page API Para Construir a Tela SobreAndroid
SelectionTracker Para Seleção de Itens no RecyclerView AndroidSelectionTracker Para Seleção de Itens no RecyclerView AndroidAndroid
Porque e Como Utilizar Vetores no AndroidPorque e Como Utilizar Vetores no AndroidAndroid

Compartilhar

Comentários Facebook

Comentários Blog

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...