KasyKasy

Permissões

Push, Face ID e ATT. Cada uma aparece no momento certo, nunca tudo junto na Home.

O kit pede três permissões, cada uma no momento que faz sentido. Nunca todas de uma vez na Home.

PermissãoOnde apareceSoft prompt nosso?Plataformas
PushOnboarding ou botão na aba NotificaçõesSó no onboardingiOS, Android
Face ID / biometriaSwitch em ConfiguraçõesNãoiOS, Android
ATT (rastreamento)Onboarding + Home (quem pula)SimiOS apenas

Push

  • Quem completa o onboarding: vê a tela OnboardingNotificationsStep com explicação. Ao continuar, abre o diálogo nativo do sistema.
  • Quem pula o onboarding: nenhum prompt automático. O usuário toca na aba Notificações e, se a lista estiver vazia, vê o botão "Permitir notificações" → toca → abre o nativo. O clique já é a confirmação de intenção, então não tem soft prompt.

iOS e Android 13+ permitem mostrar o diálogo nativo uma única vez por instalação. Se o usuário negar, só dá para reativar em Configurações do sistema.

Quando o usuário nega e tenta reativar, o botão muda para "Abrir configurações" (ícone de engrenagem) e chama openAppSettings().


Face ID / Touch ID / Biometria

  • Só é pedido quando o usuário liga o switch em Configurações.
  • Ligar dispara autenticação nativa na hora.
  • Se autenticar, o BiometricGuard passa a exigir autenticação ao abrir o app.
  • Sem soft prompt: o switch já é a confirmação.

A preferência biometric_enabled é por conta (limpa no logout). Assim o próximo usuário no mesmo device começa com a trava desligada.


ATT: App Tracking Transparency (iOS)

ATT é o prompt "Permitir que o app rastreie sua atividade" do iOS. A Apple permite mostrar o nativo apenas uma vez por instalação. Por isso usamos um soft prompt nosso antes.

  • Quem completa o onboarding: vê OnboardingAttSetup com explicação. Ao continuar → abre o nativo do iOS.
  • Quem pula o onboarding: ao chegar na Home (após 1,5s) → KasyDialog explicando o rastreamento. Se aceitar o nosso → chamamos o nativo. Se recusar → NÃO chamamos o nativo (preservamos a única chance).

Retry do soft prompt

Quem recusar o soft prompt é perguntado de novo após 7 dias, por até 3 tentativas. Depois disso paramos. As flags ficam em SharedPreferences (att_soft_dismiss_count e att_soft_last_asked_at).

Android

ATT não existe no Android.


O que persiste no logout

ConfiguraçãoComportamento no logout
Permissão push (grant/denied)Mantém (o SO controla)
Permissão ATTMantém (o SO controla)
Biometria do deviceMantém (o SO controla)
biometric_enabled (switch do app)Limpa (é por conta)
Contadores ATT (att_soft_*)Mantém (ATT é por device)

Atualizado em 03/11/2026