Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Criando aplicativos para a nova Apple TV

Criando aplicativos para a nova Apple TV

Apresentação realizada no Digital Day SP

Salmo Junior

August 07, 2016
Tweet

More Decks by Salmo Junior

Other Decks in Technology

Transcript

  1. Salmo Junior Mineiro, Chapter Leader do CocoaHeads BH, dev iOS

    desde 2011, corinthiano, viajante e viciado em queijo. [email protected] @salmojr
  2. Agenda » Overview » Interação com Usuário » Design Guidelines

    » Focus API » On-Demand Resources » TVMLKit » Dicas
  3. Apple TV » Lançamento Set/2015 » Novo S.O. (tvOS) »

    Experiência personalizada » Acessibilidade » Developer Tools » App Store
  4. Hardware » 64-bit com processador A8 » 32 GB ou

    64 GB » 2 GB de RAM » 1080p » HDMI
  5. tvOS Desenvolvimento » SDK separado » 64-bit com bitcode »

    Universal Purchase » Não suporta as versões anteriores
  6. tvOS Experiência de uso » Interação baseada em foco »

    Utilizacão em família » Device compartilhado
  7. tvOS Armazenamento de dados » Armazenamento local limitado » Não

    há garantia que as informações vão continuar no device » A pasta Documents existe, mas não tem permissão de escrita
  8. Navegação » Use gestos para dar fluidez » Implemente de

    voltar através do botão Menu » Não exiba opção de Voltar » Dar preferência para navegação horizontal » Use a navegação padrão dos componentes
  9. Foco e Seleção » Deixe nítido qual item está selecionado

    » Implemente comportamento para diferentes status » Nunca mostre um cursos
  10. Carregando conteúdo » Mostre sua tela o mais rápido possível,

    não faça o usuário esperar até que todo o conteúdo seja carregado
  11. Autenticação » Retarde ao máximo o sign-in » Evite o

    input de texto » Mantenha suporte a multiplos perfis
  12. Top Shelf Faça uso dos conteúdos dinâmicos » Atalhos »

    Exibir favoritos » Mostrar conteúdo atrativo » Não usar para propagandas e ofertas com preços
  13. Top Shelf Conteúdo dinâmico - Banners » Necessário entre 3

    e 8 imagens » Textos somente dentro da imagem » Scroll automático entre os banners
  14. New Siri Remote Botões » Implemente o comportamento esperado para

    cada botão » Volume, Siri e Home são botões restritos
  15. Design Guidelines Otimize seus assets para tela grande » Desenvolva

    para resolução de 1920x1080 » Assets somente @1x » Teste suas imagens na TV
  16. Design Guidelines Mantenha seu conteúdo principal distante das bordas »

    60 píxeis para Top e Bottom » 90 píxeis para os lados
  17. Design Guidelines Mantenha distância entre elementos. Com UIKit e Focus

    API, elementos de UI ficam maiores ao receber o foco.
  18. Design Guidelines Mostre partes de elementos escondidos » Indique sempre

    que existe mais conteúdo fora area da tela, facilitando assim o acesso pelo usuário.
  19. Design Guidelines Faça uso de Grids » Fácil de encontrar

    conteúdo a distância » Rápido de navegar com o controle
  20. Design Guidelines Parallax Use parallax para tornar itens com foco

    ainda mais responsiveis a interação do usuário. Extensões: » .lsr » .lcr
  21. Design Guidelines Parallax Tools » Parallax Previewer para macOS »

    Parallax Exporter Plug-In para Adobe Photoshop » Xcode
  22. Design Guidelines Criando imagens LSR pelo Xcode » Adicione seus

    PNGs no Assets Catalog e organize- os usando o menu esquerdo » É possível adicionar um arquivo LSR direto ao projeto » E também exportar a imagem para o formato LSR
  23. Design Guidelines Criando imagens LCR pelo Xcode Para usar parallax

    em imagens fora do Bundle da app, é preciso converte-las para o formato .lcr Basta usar a layerutil command-line tool que vem instalado junto com o Xcode. xcrun —-sdk appletvos layerutil —-c filename.lsr
  24. Design Guidelines Ícone » Crie ícones com apenas um foco

    de atenção » Mantenha o background simples » Use texto somente quando for essencial ou parte do logo » Mantenha as bordas do ícone quadradas
  25. Design Guidelines Ícone É preciso prover dois tamanhos de ícones

    » Apple TV Home Screen » 400 X 240 px » App Store » 1280 X 768 px
  26. Design Guidelines Ícone Seu ícone deve ter entre 2 e

    5 camadas para dar a sensação de profundidade e vitalidade quando estiver em foco.
  27. Focus API Conjunto de métodos e propriedades que padronizam a

    interação do usuário com aplicativos para tvOS, evitando que cada desenvolvedor implemente comportamentos customizados.
  28. Focus API » UIButton » UIControl » UISegmentedControl » UITabBar

    » UITextField » UISearchBar » UITableViewCell » UICollectionViewCell
  29. Focus API Como verificar se um elemento pode receber foco

    UIButton().canBecomeFocused() // true UILabel().canBecomeFocused() // false collectionView(_:canFocusItemAtIndexPath:) tableView(_:canFocusRowAtIndexPath:)
  30. Focus API Como verificar qual elemento está em foco myButton.focused

    // true or false UIScreen.mainScreen().focusedView // possibly nil
  31. Focus API UIFocusEnvironment Protocol // tvOS 9 var preferredFocusedView: UIView?

    // tvOS 10 var preferredFocusEnvironments: [UIFocusEnvironment]
  32. Focus API UIFocusEnvironment Protocol func setNeedsFocusUpdate() func updateFocusIfNeeded() func shouldUpdateFocus(in:

    UIFocusUpdateContext) -> Bool func didUpdateFocus(in: UIFocusUpdateContext, with: UIFocusAnimationCoordinator)
  33. Focus API Restaurar o foco // tvOS 10 public class

    UIViewController : ... { public var restoresFocusAfterTransition: Bool }
  34. On-Demand Resources Recurso lançado no iOS 9 que permite armazenar

    conteúdo na App Store, separado do bundle da aplicação. Conteúdo baixado somente quando necessário.
  35. On-Demand Resources Por que usar? » Aplicativo disponível para uso

    em poucos segundos » Armazenamento remoto de arquivos raramente usados » Armazenamento remote de arquivo in-app purchase
  36. On-Demand Resources Por que usar para tvOS? » App de

    no máximo 200mb para a App Store » tvOS não permite armazenamento local de dados » Device conectado 100% do tempo
  37. On-Demand Resources Os arquivos podem ser divididos em 3 tipos

    de tags » Initial install » Prefetch » On demand
  38. On-Demand Resources Boas práticas » Tente criar tags de no

    máximo 64mb » Baixe sempre com antecedência » Descarte os arquivos quando não forem mais necessários
  39. On-Demand Resources Use a classe NSBundleResourceRequest para » Requisitar/Descartar tags

    » Atualizar a prioridade dos downloads » Acompanhar progresso de download » Receber notificação de falta de espaço em disco
  40. TVMLKit Fluxo de uma aplicação Client-Server Para garantir que todas

    últimas alterações estejam visiveis para o usuário, adicione sempre Cache- Control:no-cache no header de response da sua requisição HTTP.
  41. Dicas Dark Appearence » Adote os dois modos » Adicione

    imagens diferentes caso necessário » Somente a partir do tvOS 10