Exibição e atribuição de dados

Para garantir aos usuários que os dados deles estão sendo lidos corretamente, mostre claramente como seu app obtém dados, que vêm da propriedade packageName da classe DataOrigin.

Há duas maneiras de fazer isso:

  1. Atribuição básica
  2. Atribuição com base em informações

Atribuição básica

No mínimo, sua interface do usuário precisa mostrar o ícone e o nome da fonte do app (ou apenas o nome do app se o ícone não puder ser mostrado). A atribuição básica é adequada para as seguintes telas: inicial, registro de atividades e detalhes da atividade.

Para oferecer suporte à atribuição adequada, seu aplicativo pode mostrar o nome e o ícone do aplicativo que gravou os dados originalmente. Isso melhora a confiança do usuário e oferece clareza sobre a origem das informações de saúde.

Não é necessário solicitar permissões sensíveis, como QUERY_ALL_PACKAGES, para recuperar essas informações. O exemplo a seguir demonstra como recuperar o rótulo e o ícone do app para um determinado pacote do PackageManager:

fun getAppLabelAndIcon(context: Context, packageName: String): Pair<CharSequence?, Drawable?>{
    return try {
      val pm = context.packageManager
      val appInfo = pm.getApplicationInfo(packageName, 0)
      val label = pm.getApplicationLabel(appInfo)
      val icon = pm.getApplicationIcon(appInfo)
      label to icon
    } catch (e: PackageManager.NameNotFoundException){
      null to null
    }
}

Esse utilitário ajuda a verificar a atribuição correta mostrando o nome e o ícone do app ao lado dos dados. Consulte a implementação na amostra HealthConnectManager.kt.

Atribuição básica para leitura de dados
Figura 1: atribuição básica para leitura de dados

Atribuição com base em informações

O app precisa ajudar os usuários a saber qual foi a origem dos dados com um link direto para a tela "Permissões do app" na Conexão Saúde. Esse tipo de atribuição é adequado para as seguintes telas: detalhes da atividade, relatórios e insights.

Atribuição nas telas de detalhes da atividade e de relatórios no app do parceiro Atribuição nas telas de insights no app do parceiro
Figura 2: atribuição com variações de educação

Atribuição nas telas de detalhes da atividade e de relatórios no app do parceiro Atribuição nas telas de insights no app do parceiro

Sincronização de dados

Se houver latência suficiente ao sincronizar seu app com a Conexão Saúde, mostre esta notificação no app durante a sincronização. Isso informa ao usuário que o processo pode levar algum tempo para ser concluído. Se você usar notificações para sincronização, elas deverão ser definidas como de baixa prioridade por padrão.

Status da sincronização de dados mostrado
Figura 3: status da sincronização de dados mostrado