Construa Um Aplicativo Android Completo Para YouTubers - Parte 1

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 /Construa Um Aplicativo Android Completo Para YouTubers - Parte 1

Construa Um Aplicativo Android Completo Para YouTubers - Parte 1

Vinícius Thiengo
(1176) (4)
Go-ahead
"A aprendizagem não é descobrir o que as outras pessoas já sabem, mas é resolver os nossos próprios problemas, para os nossos próprios fins, questionando, pensando e testando até que a solução seja uma nova parte de nossa vida."
Charles Handy
Kotlin Android
Capa do livro Mapas Android de Alta Qualidade - Masterização Android
TítuloMapas Android de Alta Qualidade - Masterização Android
CategoriasAndroid, Kotlin, Masterização, Especialização
AutorVinícius Thiengo
Edição
Ano2020
Capítulos11
Páginas166
Acessar Livro
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
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?

A partir deste conteúdo nós vamos, passo a passo, construir um aplicativo profissional Android por completo (ele já está pronto - isso na verdade é um mini-curso gratuito).

Quando digo profissional é porque vamos, ao final, poder coloca-lo na Google Play Store e também monetiza-lo.

Monetiza-lo?

Sim.

Principalmente porque o aplicativo terá como proposta resolver um problema que todos os YouTubers, independente do tamanho, enfrentam.

Ou seja, o app já terá desde o início um público alvo bem definido.

Animação do app Android para YouTuber que estaremos desenvolvendo

Note que diferente de outras séries de projetos Android aqui do Blog, está série já esta finalizada. Ao final de cada artigo você terá o link para o próximo.

Então se você estiver muito disposto, com tempo livre e um café ☕ 🍩 ao lado... é possível finalizar todo o projeto de aplicativo ainda hoje.

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.

É isso.

A seguir os tópicos que estaremos abordando neste primeiro conteúdo do projeto de aplicativo Android para YouTubers:

Estou iniciando no Android

Se você estiver apenas iniciando no desenvolvimento de aplicativos Android.

Então eu acho prudente que você primeiro (ou em paralelo ao projeto) consuma os dois conteúdos a seguir:

Com estes dois conteúdos você já saberá "qual" e "como" utilizar a principal ferramenta de desenvolvimento de aplicativos Android: o Android Studio IDE.

E também já saberá fazer ao menos um mínimo aplicativo Android utilizando a principal tecnologia de criação de apps mobile (utilizada em mais de 70% dos top aplicativos na Google Play Store): a linguagem Kotlin.

Não se limite! É possível seguir com o projeto enquanto você estuda o Android Studio e o Kotlin.

Como será a construção do projeto

Todo o projeto está dividido em duas macro partes:

Lado Estratégico 🧠

Tudo que vem antes até mesmo do início de um novo projeto no Android Studio IDE.

Aqui o nosso lado estratégico se resume a este primeiro conteúdo do projeto e também ao último conteúdo, onde também abordaremos o assunto Monetização.

Somente isso de "parte estratégica", pois o aplicativo em si é pequeno e não exige, por exemplo, o trabalho inicial com diagramas de classe.

Lado Tático 🛠

Aqui se inicia a codificação do projeto.

Confesso que seremos bem detalhistas, pois no final das contas estaremos construindo um framework que poderá ser utilizado para qualquer canal no YouTube.

Então se prepare para também ver junto aos códigos fonte inúmeros comentários.

Artigos do projeto

A seguir a lista de todos os artigos do projeto de aplicativo:

Repositório

Como é comum aqui no Blog, todos os projetos Android ficam disponíveis em repositórios GitHub.

Caso você queira acompanhar o projeto também em sua própria instalação do Android Studio, então você pode estar realizando o download do aplicativo pronto em:

GitHub do projeto de aplicativo Android para YouTuber.

Note que as chaves de API foram removidas, você terá que gerar as suas próprias, como apresentado em:

Problema a resolver

Se você acompanha o mínimo possível algum canal do YouTube você provavelmente já deve ter notado alguma reclamação de ao menos um YouTuber sobre o sistema de notificações da plataforma.

YouTube não está entregando as notificações

Não é incomum encontrar canais com milhões de seguidores e com apenas algumas milhares de visualizações por vídeo.

Sem falar que existem canais que contam com milhões de seguidores, milhões de visualizações, monetizam bem e mesmo assim não têm um mínimo aplicativo Android para aumentar ainda mais a eficácia de todo o business.

Ou seja, dependem que possíveis patrocinadores entrem nas redes sociais do canal para conseguir encontrar pelo menos um e-mail comercial.

Veja que não estou nem mesmo mencionando os canais que não têm e-mail comercial, dependem do "direct". Algo que é ainda mais crítico para a eficiência monetária do canal.

Em resumo, temos a possibilidade de resolver os seguintes "problemas" com o nosso projeto de aplicativo:

  • Notificações de "novo vídeo" não sendo entregues (este é o problema central que nosso app vem resolver);
  • Não centralização dos contatos comerciais do canal;
  • Não centralização de todas as redes do canal para facilitar que um seguidor fiel continue com o YouTuber em diferentes redes.

Mesmo com foco no problema principal (notificações não entregues)... ainda é possível resolver ao menos os outros dois problemas citados na listagem anterior.

Proposta do aplicativo

O aplicativo terá como alvo principal atacar o problema de notificações não entregues.

Vamos até mesmo trabalhar redundância em código de acesso a dados de novo vídeo para tentar garantir ao máximo que os usuários seguidores do canal sejam informados sobre um novo vídeo.

Thiengo: tentar?

Sim.

Durante a construção de todo o projeto vamos chegar ao momento de configurar toda a estrutura de notificações do app.

E neste ponto estarei lhe mostrando problemas que até o momento da construção deste conteúdo nós desenvolvedores não temos ferramentas para resolver.

Vamos literalmente entender a diferença entre o "mundo ideal" (o que a documentação oficial prega) e o "mundo real" (o que realmente acontece).

Mas aqui já posso lhe dar um spoiler:

Mesmo com a configuração "ideal" de notificação push e redundância via WorkManager... mesmo com isso alguns usuários vão receber notificação vez ou outra.

Voltando à ideia do aplicativo...

... para resolver os outros problemas além das notificações não entregues...

... ele também terá informações extras que ajudem ao máximo o YouTuber a conseguir crescer e consequentemente rentabilizar ainda mais o negócio digital dele.

Informações de todos os contatos comerciais e das outras redes e produtos do YouTuber.

Fluxo principal de funcionamento

Aqui nesta parte estratégica do projeto é prudente já definir ao menos o fluxo de funcionamento do algoritmo que resolverá o problema principal proposto em projeto.

Problema de notificações não entregues.

O fluxo será como a seguir:

➙ O app terá um algoritmo rodando em background para verificação de um novo vídeo disponível em canal (ou novas PlayLists) e ainda não disponível no aplicativo do YouTuber.

➙ Verificado que há um vídeo (ou PlayLists) não disponível ainda em app, então é realizada a persistência desse novo conteúdo em banco de dados local no aplicativo.

➙ Esse algoritmo em background será intervalado de acordo com a frequência de novos vídeos no canal do YouTuber.

➙ O YouTuber terá (é isso mesmo, "terá") que também gerar uma notificação push no sistema de notificações redundante configurado em app. Pois assim é ainda mais certo que as notificações serão entregues ao máximo de seguidores possível.

Para entender melhor a redundância necessária nessa proposta de aplicativo, a seguir o fluxograma do algoritmo que rodará em background:

Fluxograma do funcionamento em background do app

E então o fluxograma do algoritmo que funcionará com base na notificação gerada na "unha" pelo YouTuber:

Fluxograma do funcionamento do sistema de notificações do app

Thiengo, acho que o passo "O YouTuber terá (...) que também gerar uma notificação (...)" será desconfortável a ele, não?

Na verdade não.

Primeiro porque o YouTuber que investir no app trata o projeto dele como um negócio e assim ele vai levar a sério.

Segundo porque a outra opção é ainda mais crítica em termos de esforço aplicado por parte do YouTuber, ou seja, nós desenvolvedores teríamos que utilizar o Firebase Cloud Messaging (FCM) na unha e criar um dashboard para o YouTuber gerar as notificações.

Algo menos inteligente do que utilizar um serviço de notificações com uma interface amigável a qualquer pessoa e também com uma expertise de sistema de notificações push muito provavelmente maior do que a nossa de desenvolvedor Android profissional.

Ok, Thiengo. Mas e a YouTube Data API? Não é possível manter o serviço de background apenas consultando ela?

Até seria...

... se não houvesse uma limitação "rídicula" de requisições possíveis por dia.

Mas sobre isto falaremos mais quando chegarmos ao ponto de configurarmos em projeto a YouTube Data API (ou YouTube API V3).

O que colocar em primeiro release (requisitos)

Isso: primeiro release.

Está informação é muito importante principalmente se você nunca desenvolveu um projeto de software por completo.

Pois algumas melhorias "óbvias" ficarão para futuros releases do projeto de aplicativo.

Por exemplo:

Devido ao tamanho e simplicidade do projeto foi enxergado como desnecessário utilizar muitos dos componentes de arquitetura Android e também algum padrão de arquitetura (MVP, MVVM, ...).

O projeto é realmente pequeno, enxuto, porém não vamos perder em qualidade. Algumas coisas deverão ser respeitadas mesmo que ainda no primeiro release.

Vamos, de maneira simples (que é o necessário) listar alguns requisitos deste projeto em primeiro release:

A apresentação do "último vídeo" disponível em canal deverá ser a parte de destaque do app.

Todos os outros conteúdos (redes sociais, contatos comerciais, ...) poderão estar presentes. E se presentes deverão ser de fácil acesso (menu principal).

Apesar de ser simples, o app deverá ter características (design) de um aplicativo moderno.

As notificações deverão enfatizar o novo vídeo disponível e serem bem completas, incluindo a apresentação do banner (thumb) do vídeo.

Todos os conteúdos acionáveis deverão invocar os aplicativos ou sites corretos para processamento da informação. Exemplo:

o vídeo, quando acionado, será aberto no app nativo do YouTube ou no site do YouTube no navegador Web do aparelho. Esse último (navegador Web aparelho) quando o app nativo não estiver instalado.

 Para o primeiro release o app pode estar disponível a partir do Android Lollipop, API 21. Desta forma o código final do projeto tende a ser mais enxuto, sem necessidade de código de compatibilidade com versões muito antigas do Android.

 Os códigos, mesmo que com ou não o uso de padrão de arquitetura, devem ser escritos de maneira auto-comentada para que a leitura deles seja fácil.

 A divisão física dos pacotes do projeto também deverá estar bem definida.

 Todas as configurações especificas de canal YouTube do app deverão ser bem definidas e divididas para que seja fácil e rápida a adaptação de um canal para o outro - como se fosse um framework.

Esses são os requisitos para este primeiro release.

Se você quiser adicionar mais, minha recomendação é:

Primeiro desenvolva por completo o projeto proposto, sem "julgamentos". Depois adicione (ou remova) o que você achar necessário.

Canal que será utilizado

Para a construção do projeto nós utilizaremos o meu canal: Vinícius Thiengo.

Mas ainda como parte deste projeto de aplicativo vamos aplicar a mudança de canal em app para que o projeto em si seja um negócio, business, para você, o desenvolvedor Android que vai utiliza-lo.

Desta forma você saberá como rapidamente vender o mesmo projeto de app para inúmeros YouTubers sem perder incontáveis horas na atualização do projeto.

Protótipo estático

Por fim a parte que considero mais importante no lado estratégico de um projeto Android, principalmente um projeto desenvolvido de maneira solo, com somente um desenvolvedor.

A seguir o protótipo estático do projeto app YouTuber para, a princípio, o canal YouTube Thiengo:

Tela de abertura (Splash Screen)

Tela de abertura (Splash Screen).

Tela de Último vídeo liberado em canal

Tela de Último vídeo liberado em canal.

Tela das redes do canal

Tela das redes do canal.

Tela de PlayLists canal

Tela de PlayLists canal.

Tela de Grupos exclusivos do canal

Tela de Grupos exclusivos do canal.

Tela Sobre o canal

Tela Sobre o canal.

Tela com os Livros do canal

Tela com os Livros do canal.

Tela com o Curso do canal

Tela com o Curso do canal.

Tela com os Contatos comerciais do canal

Tela com os Contatos comerciais do canal.

Notificação de novo vídeo

Notificação de novo vídeo.

Notificação em bandeja de notificações

Notificação em bandeja de notificações.

Notificação expandida

Notificação expandida.

 

Note que com exceção da tela de "Último vídeo liberado", todas as outras telas são intercambiáveis e pode haver em projeto ainda mais (ou menos) telas.

Vídeo

Abaixo a versão em vídeo deste conteúdo inicial, lado Estratégico, de nosso app Android para YouTubers:

Próximo conteúdo

Foi o que eu disse anteriormente: o projeto já está pronto.

Banner do aplicativo Android que será construído

E no próximo artigo nós já vamos entrar no lado tático, iniciar um novo projeto no Android Studio IDE e começar a codificação:

Início do Lado Tático e Barra de Topo Personalizada - Parte 2.

Todos os links de Fontes e a Conclusão final eu vou deixar no último artigo desta série.

Então é isso.

Espero que você siga até o final com o projeto. Será ao menos mais um app completo para o seu portfólio de desenvolvedor.

Te vejo na Parte 2.

Se houverem dúvidas ou dicas já nesta parte inicial do projeto, 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 emails 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
Como Impulsionar o App Android - Compartilhamento NativoComo Impulsionar o App Android - Compartilhamento NativoAndroid
Android Mobile-Commerce, Apresentação e Protótipo do ProjetoAndroid Mobile-Commerce, Apresentação e Protótipo do ProjetoAndroid
Porque e Como Utilizar Vetores no AndroidPorque e Como Utilizar Vetores no AndroidAndroid

Compartilhar

Comentários Facebook

Comentários Blog (4)

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...
05/09/2020
Thiengo,
sempre bom acompanhar teus projetos.
Tua didática é show, tenho aprendido bastante, mesmo que de forma interrompida, "Por minha causa". ESpero agrora iniciar e ir até o final deste projeto.
Abraços
Responder
Vinícius Thiengo (0) (0)
06/09/2020
Luiz, tudo bem?

Excelente.

Confesso que este é o primeiro projeto completo que disponibilizo passo a passo no Blog.

E já estou me movimentando para também liberar um conteúdo somente com técnicas para monetizar este projeto.

Até porque parte da proposta dele é essa: monetizar com o público YouTubers.

Uma dica: não deixe de obter a versão em PDF deste projeto.

Ela também é gratuita e, para mim, a formatação é bem melhor. Facilita o entendimento e implementação de todo o projeto.

É isso.

Surgindo dúvidas, pode enviar.

Abraço.
Responder
17/08/2020
Ainda contando com o termino do ecommerce \o.
Responder
Vinícius Thiengo (1) (0)
17/08/2020
John, tudo bem?

Como falei para o Aroldo (na área de comentários Facebook)...

... estou sentindo que por "pressão comunitária" eu terei que terminar esse projeto do mobile-commerce.

Mesmo que seja liberando um e-book dele desenvolvido por completo.

Quem sabe... por hora ele está pausado.

É isso.

Surgindo dúvidas, pode enviar.

Abraço.
Responder