Melhores práticas de atividades de usuários

Este guia descreve as práticas recomendadas para criar e atualizar as Atividades do Usuário. Para obter uma visão geral do recurso Atividades do Usuário no Windows, consulte Continuar a atividade do usuário, mesmo entre dispositivos. Ou confira a seção Atividades do Usuário do Project Rome para as implementações de Atividades em outras plataformas de desenvolvimento.

Observação

A partir de julho de 2021, os usuários que têm o histórico de atividades sincronizado em seus dispositivos Windows por meio de sua MSA (Conta Microsoft) não terão mais a opção de carregar novas atividades na Linha do Tempo. Eles ainda poderão usar a Linha do Tempo e ver seu histórico de atividades (informações sobre aplicativos, sites e arquivos recentes) em seu computador local. As contas conectadas ao AAD não serão impactadas.

Quando criar ou atualizar atividades do usuário

Como cada aplicativo é diferente, cabe a cada desenvolvedor determinar a melhor maneira de mapear ações dentro do aplicativo para atividades do usuário. Suas Atividades de Usuário serão exibidas na Cortana e na Linha do Tempo, que se concentram em aumentar a produtividade e a eficiência dos usuários, ajudando-os a voltar ao conteúdo que visitaram no passado.

Diretrizes gerais

  • Registre uma única atividade para um grupo de ações de usuário relacionadas. Isso é especialmente relevante para playlists de música ou programas de TV: uma única atividade pode ser atualizada em intervalos regulares para refletir o progresso do usuário. Nesse caso, você terá uma única Atividade de Usuário com vários Itens de Histórico representando períodos de envolvimento em vários dias ou semanas. O mesmo se aplica a atividades baseadas em documento nas quais o usuário faz progressos graduais em seu aplicativo.
  • Armazene dados do usuário na nuvem. Se você quiser dar suporte a atividades entre dispositivos, precisará verificar se o conteúdo necessário para reengatar essa Atividade está armazenado em um local de nuvem. Atividades específicas do dispositivo aparecerão na Linha do Tempo no dispositivo em que a atividade foi criada, mas podem não aparecer em outros dispositivos.
  • Não crie Atividades para ações que os usuários não precisarão retomar. Se o aplicativo for usado para concluir operações simples e pontuais que não persistem status, você provavelmente não precisará criar uma Atividade do Usuário.
  • Não crie Atividades para ações concluídas por outros usuários. Se uma conta externa enviar uma mensagem ao usuário ou @mencioná-la em seu aplicativo, você não deverá criar uma Atividade para isso. Esse tipo de ação é melhor atendido pelas Notificações da Central de Ações.
    • Cenários de colaboração são uma exceção: se vários usuários estiverem trabalhando na mesma atividade juntos (como um documento Word), haverá casos em que outro usuário fez alterações após o usuário. Nesse caso, talvez você queira atualizar a Atividade existente para refletir as alterações feitas no documento. Isso envolveria a atualização dos dados de conteúdo existentes da Atividade do Usuário sem criar um novo Item de Histórico.

Diretrizes para tipos específicos de aplicativos

Embora cada aplicativo seja diferente, a maioria dos aplicativos se enquadrará em um dos seguintes padrões de interação.

  • Aplicativos baseados em documento — crie uma atividade por documento, com um ou mais itens de histórico refletindo períodos de uso. É importante atualizar sua Atividade conforme as alterações são feitas no documento.
  • Jogos — Crie uma atividade para cada jogo salvo ou mundo. Se o jogo der suporte a apenas uma única sequência de níveis, você poderá publicar novamente a mesma Atividade ao longo do tempo, embora queira atualizar os dados de conteúdo para mostrar o progresso ou as conquistas mais recentes.
  • Aplicativos utilitários – se não houver nada em seu aplicativo que os usuários precisem sair e retomar, você não precisará usar as Atividades do Usuário. Um bom exemplo é um aplicativo simples como Calculadora.
  • Aplicativos de linha de negócios — existem muitos aplicativos para gerenciar tarefas ou fluxos de trabalho simples. Crie uma atividade para cada fluxo de trabalho separado acessado por meio de seu aplicativo (por exemplo, relatórios de despesas seriam cada uma atividade separada, para que o usuário pudesse clicar em uma Atividade para ver se um relatório específico foi aprovado).
  • Aplicativos de reprodução de mídia — crie uma atividade por agrupamento lógico de conteúdo (como uma playlist, um programa ou um conteúdo autônomo). A questão subjacente para os desenvolvedores de aplicativos é se cada parte do conteúdo (episódio de TV, música) conta como conteúdo autônomo ou parte de uma coleção. Como regra geral, se o usuário optar por reproduzir uma coleção ou conteúdo sequencial, a coleção como um todo será a atividade. Se eles optarem por reproduzir uma única parte do conteúdo, essa parte do conteúdo será a atividade. Veja as diretrizes mais específicas abaixo.
    • Música: Álbum/Artista/Gênero — se o usuário selecionar um Álbum, Artista ou Gênero e hits tocarem, essa coleção será a atividade; não escreva uma Atividade separada para cada música. Para coleções curtas, como um único álbum ou coleções que estão sendo reproduzidas em uma ordem aleatória, talvez não seja necessário atualizar a Atividade para refletir a posição atual do usuário. Para uma longa reprodução sequencial, como um álbum ou playlist, gravar sua posição dentro do álbum pode fazer sentido.
    • Música: playlists inteligentes — aplicativos que reproduzem músicas em uma ordem aleatória devem gravar uma única Atividade para essa playlist. Se o usuário reproduzir a playlist uma segunda vez, você criará registros de histórico adicionais para a mesma Atividade. A gravação da posição atual do usuário na playlist não é necessária porque a ordenação é aleatória.
    • Série de TV — Se o aplicativo estiver configurado para reproduzir o próximo episódio após a conclusão do atual, você deverá escrever uma única Atividade para a série de TV. Ao reproduzir os vários episódios em várias sessões de exibição, você atualizará sua Atividade para refletir a posição atual da série, e vários registros de histórico serão criados.
    • Filme — Um filme é uma única parte do conteúdo e deve ter seu próprio registro histórico. Se o usuário parar de assistir ao filme parcialmente, é desejável registrar sua posição. Quando quiser retomá-lo no futuro, a Atividade poderá retomar o filme de onde parou ou até mesmo perguntar ao usuário se ele deseja retomar ou começar no início.

Design de atividade do usuário

As Atividades do Usuário consistem em três componentes: um URI de ativação, dados visuais e metadados de conteúdo.

  • O URI de ativação é um URI que pode ser passado para um aplicativo ou experiência para retomar o aplicativo com um contexto específico. Normalmente, esses links assumem a forma de manipulador de protocolo para um esquema (por exemplo, "my-app://page2?action=edit"). Cabe ao desenvolvedor determinar como os parâmetros de URI serão tratados pelo aplicativo. Consulte Manipular ativação de URI para obter mais informações.
  • Os dados visuais, que consistem em um conjunto de propriedades obrigatórias e opcionais (por exemplo: título, descrição ou elementos de Cartão Adaptável), permitem que os usuários identifiquem visualmente uma Atividade. Veja abaixo as diretrizes sobre como criar visuais de Cartão Adaptável para sua Atividade.
  • Os metadados de conteúdo são dados JSON que podem ser usados para agrupar e recuperar atividades em um contexto específico. Normalmente, isso assume a forma de http://schema.org dados. Veja abaixo as diretrizes sobre como preencher esses dados.

Diretrizes de design do Cartão Adaptável

Quando As atividades aparecem na Linha do Tempo, elas são exibidas usando a estrutura cartão adaptável. Se o desenvolvedor não fornecer um Cartão Adaptável para cada Atividade, a Linha do Tempo criará automaticamente uma cartão simples com base no nome/ícone do aplicativo, no campo Título necessário e no campo Descrição opcional.

Os desenvolvedores de aplicativos são incentivados a fornecer cartões personalizados usando o esquema JSON de Cartão Adaptável simples. Consulte a documentação cartões adaptáveis para obter instruções técnicas sobre como construir objetos de Cartão Adaptável. Consulte as diretrizes abaixo para criar Cartões Adaptáveis em Atividades do Usuário.

  • Usar imagens
    • Use uma imagem exclusiva para cada Atividade, se possível. O nome e o ícone do aplicativo serão exibidos automaticamente ao lado do cartão da Atividade; imagens adicionais ajudarão os usuários a localizar a Atividade que estão procurando.
    • As imagens não devem incluir texto que o usuário deve ler. Esse texto não estará disponível para usuários com necessidades de acessibilidade e não poderá ser pesquisado.
    • Se a imagem não contiver texto e puder ser cortada para cerca de uma taxa de 2:1, você deverá usá-la como uma imagem de plano de fundo. Isso resulta em uma atividade em negrito cartão que se destacará na Linha do Tempo. A imagem será escurecido ligeiramente para garantir que o texto permaneça visível no cartão e você será incentivado a usar apenas o Nome da Atividade nesse caso, pois um texto menor pode se tornar difícil de ler.
    • Se a imagem não puder ser cortada para 2:1, você deverá colocá-la no Cartão de Atividade.
      • Se a taxa de proporção for Quadrada ou Retrato, ancore a imagem no lado direito do cartão sem margens.
      • Se a taxa de proporção for Paisagem, ancore a imagem no canto superior direito do cartão.
  • Cada atividade é necessária para fornecer um Nome de Atividade, que sempre deve ser mostrado.
    • Esse nome deve ser exibido no canto superior esquerdo do cartão usando a opção de texto em negrito grande. É importante que o nome seja facilmente reconhecível, pois essa é a única parte que os usuários verão quando a atividade for mostrada em cenários da Cortana. Mostrar o mesmo nome na Linha do Tempo torna mais fácil para os usuários procurar um grande número de Atividades.
  • Use o mesmo estilo visual para todas as atividades do seu aplicativo, para que os usuários possam localizar facilmente as atividades do aplicativo na Linha do Tempo.
    • Por exemplo, As atividades devem usar a mesma cor da tela de fundo.
  • Use informações de texto suplementar com moderação.
    • Evite preencher o cartão com texto e use apenas informações complementares que ajudam os usuários a encontrar a atividade certa ou reflete informações de estado (como o progresso atual em uma tarefa específica).

Diretrizes de metadados de conteúdo

As Atividades do Usuário também podem conter metadados de conteúdo, que o Windows e a Cortana usam para categorizar Atividades e gerar inferências. Em seguida, as atividades podem ser agrupadas em torno de um tópico específico, como um local (se o usuário estiver pesquisando férias), objeto (se o usuário estiver pesquisando algo) ou ação (se o usuário estiver comprando um produto específico em diferentes aplicativos e sites). É uma boa ideia representar os substantivos e os verbos envolvidos em uma atividade.

No exemplo a seguir, o JSON de metadados de conteúdo, seguindo os padrões de Schema.org, representa o cenário: "John interpretou Angry Birds com Steve".

// John played angry birds with Steve.
{
  "@context": "http://schema.org",
  "@type": "PlayAction",
  "agent": {
    "@type": "Person",
    "name": "John"
  },
  "object": {
    "@type": "MobileApplication",
    "name": "Angry Birds."
  },
  "participant": {
    "@type": "Person",
    "name": "Steve"
  }
}

APIs-chave