Partilhar via


Recursos do tvOS e armazenamento de dados no Xamarin

Este artigo aborda o trabalho com recursos e armazenamento de dados persistente em um aplicativo Xamarin.tvOS.

Limitações de recursos do tvOS

Ao contrário dos dispositivos iOS, a nova Apple TV fornece armazenamento local persistente extremamente limitado para aplicativos ou dados do tvOS. Para itens muito pequenos (como preferências do usuário), seu aplicativo tvOS ainda tem acesso a NSUserDefaults um limite de 500 KB de dados. No entanto, se o aplicativo Xamarin.tvOS precisar manter maiores quantidades de informações, ele deverá armazenar e recuperar esses dados do iCloud.

Além disso, o tvOS limita o tamanho de um aplicativo da Apple TV a 200MB. Se seu aplicativo exigir recursos além desse tamanho, eles precisarão ser empacotados e carregados usando Recursos sob Demanda (até 2 GB adicionais). Dadas essas limitações, é fundamental que você programe corretamente o download de ativos adicionais para fornecer a melhor experiência para os usuários do seu aplicativo. Para obter mais informações, consulte o Guia de recursos sob demanda da Apple.

Downloads não persistentes

Cada aplicativo tvOS recebe um diretório de cache temporário para o qual seus recursos e ativos adicionais são baixados. Esse diretório será preservado enquanto o aplicativo ainda estiver em execução. No entanto, como a Apple TV precisa liberar espaço para outros aplicativos ou uso do sistema, esse cache pode ser excluído.

Como resultado, seu aplicativo não pode confiar que o conteúdo baixado anteriormente esteja disponível na próxima vez que for iniciado. Seu aplicativo Xamarin.tvOS deve sempre verificar a existência dos recursos necessários e baixá-los conforme necessário.

Importante

Embora você tenha a capacidade de baixar outros ativos e recursos conforme necessário, a Apple alerta contra o consumo de todo o espaço no cache do seu aplicativo, pois isso pode levar a resultados imprevisíveis.

Gerenciando recursos

Como dito acima, devido ao armazenamento limitado e não persistente de informações disponíveis para aplicativos tvOS, essas restrições exigem um planejamento cuidadoso para criar uma ótima experiência de usuário para seu aplicativo Xamarin.tvOS.

Armazenamento de dados do iCloud

Como o armazenamento na Apple TV é limitado, além de haver armazenamento local persistente muito limitado, seu aplicativo não tem garantia de que qualquer informação baixada anteriormente estará disponível na próxima vez que for executada.

Como resultado, seu aplicativo Xamarin.tvOS deve armazenar todos os dados do usuário em um Repositório de Dados do iCloud. A Apple fornece duas opções de armazenamento de dados baseadas no iCloud para as suas aplicações tvOS:

  • iCloud Key-Value Storage (KVS) - Para pequenas informações (menos de 1MB) que seu aplicativo pode exigir (como preferências do usuário), você pode usar o iCloud KVS Storage. Os dados do KVS do iCloud são sincronizados automaticamente com a nuvem e todos os dispositivos do usuário que executam o mesmo aplicativo. Para obter mais informações, consulte a seção Armazenamento de Chave-Valor do nosso documento Introdução ao iCloud ou a documentação Projetando para Dados de Valor-Chave da Apple no iCloud .
  • CloudKit - Para o armazenamento de informações maiores (maiores que 1MB), use o CloudKit Framework da Apple. Ao contrário do iCloud KVS Storage, os dados do CloudKit podem ser compartilhados entre todos os usuários do seu aplicativo (além de serem privados para um único usuário). Para obter mais informações, consulte nossa documentação de Introdução ao CloudKit ou o Início Rápido do CloudKit da Apple.

Importante

A Apple fornece ferramentas para ajudar os desenvolvedores a lidar adequadamente com o GDPR (Regulamento Geral sobre a Proteção de Dados) da União Europeia.

Recursos sob demanda

Os Recursos sob Demanda fornecem conteúdo e ativos do aplicativo (separados do pacote de aplicativos), que são hospedados na App Store e baixados conforme exigido pelo seu aplicativo. Até 2 GB adicionais de dados podem ser servidos usando recursos sob demanda. Eles permitem que o download inicial do aplicativo seja menor (os aplicativos tvOS são limitados a um máximo de 200MB), enquanto ainda fornecem ativos ricos conforme necessário.

Quando um aplicativo tvOS solicita Recursos sob demanda, o sistema gerenciará automaticamente o download e o armazenamento desse conteúdo para o diretório de cache do aplicativo. Seu aplicativo deve aguardar que esse conteúdo seja baixado e disponibilizado para que ele possa continuar.

Esses recursos podem continuar a ser armazenados em cache na Apple TV durante várias inicializações do seu aplicativo, acelerando assim o ciclo de inicialização. No entanto, seu aplicativo não pode depender de qualquer conteúdo baixado anteriormente estar disponível na próxima vez que for iniciado. Consulte a seção Downloads não persistentes acima para obter mais detalhes.

Você usa o Xcode para criar pacotes de conteúdo relacionado (como todos os ativos para o nível 2 do jogo) associados a uma determinada Tag de Recurso. Posteriormente, seu aplicativo solicitará o Recurso sob Demanda especificando essa Marca de Recurso. Seu aplicativo deve apresentar uma interface do usuário para o usuário informando que o conteúdo está sendo baixado. Para obter mais informações, consulte o Guia de recursos sob demanda da Apple.

Importante

Deve-se tomar cuidado para encontrar o equilíbrio certo entre o número de vezes que o aplicativo precisa baixar Recursos sob Demanda e o tamanho dos downloads individuais. O usuário pode ficar frustrado com seu aplicativo se a jogabilidade for interrompida constantemente para baixar novos conteúdos ou se um único download levar muito tempo.

Resumo

Este artigo abordou as limitações de tamanho, recursos e armazenamento de dados colocadas em um aplicativo Xamarin.tvOS pelo sistema tvOS. Ele apresentou opções para contornar essas limitações e sugestões para criar uma ótima experiência do usuário para seu aplicativo.